<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-alla-agent-identity-document-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Agent Identity Document">The Agent Identity Document: A Hosted, Accountable Public Record for AI Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-alla-agent-identity-document-00"/>
    <author initials="F." surname="Alla" fullname="Femi Alla">
      <organization>knownAs.dev (Authecity Systems LLC)</organization>
      <address>
        <email>ops@knownas.dev</email>
      </address>
    </author>
    <date year="2026" month="October" day="03"/>
    <keyword>AI agents</keyword>
    <keyword>identity</keyword>
    <keyword>well-known URI</keyword>
    <keyword>DNS</keyword>
    <keyword>accountability</keyword>
    <abstract>
      <?line 53?>

<t>Autonomous software agents increasingly act on the public internet with no
name that a counterparty can check, no published party that answers for them,
and no way to learn that an operator has withdrawn an agent. This document
specifies the Agent Identity Document, a small JSON document served at a
well-known URI on a hostname assigned to one agent, and the practices an
identity provider follows when it hosts such names for operators who do not
run their own domain.</t>
      <t>The document records what the provider knows to be true (the hostname, its
service endpoints and the identity's lifecycle status) separately from what
the operator asserts (a description, a contact, a homepage, a public key), and
publishes the provider's dated, expiring checks on the operator rather than a
single trust level. Lifecycle status is distinct from availability. A
suspended identity publishes a deliberately minimal document. Every identity
is held by an accountable person or organisation; an agent is never itself an
account holder, and agents are never given authority over DNS.</t>
      <t>This document describes a practice in production at one provider. It is
published so that the format can be reviewed, implemented by others and mapped
onto related work, and it requests registration of a well-known URI suffix.</t>
    </abstract>
  </front>
  <middle>
    <?line 76?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Websites solved a version of this problem years ago. A certificate says who a
site is. A published security contact says where to report a problem. A
revoked certificate stops being trusted everywhere at once. Software agents
that call APIs, serve tools and receive webhooks on the open internet have
none of this by default. They borrow their operator's credentials, run from
addresses nobody can trace, and carry no name that another system can look
up.</t>
      <t>Several efforts address parts of the gap. The Agent Name Service
<xref target="I-D.narajala-courtney-ansv2"/> anchors an agent to a domain the operator
controls and a certificate hierarchy. The A2A Agent Card <xref target="A2A"/> describes an
agent's capabilities at <tt>/.well-known/agent-card.json</tt>. The Agent Discovery
Protocol <xref target="I-D.pro-adp-agent-discovery"/> describes discovery metadata.
Web Bot Auth <xref target="I-D.ietf-webbotauth-httpsig-protocol"/> lets an agent sign its
requests with a key a verifier can fetch.</t>
      <t>Each of these assumes the operator already has something: a domain, a
certificate, a key directory. Most people who build agents have none of
them, and have no wish to run DNS or PKI. This document describes the
missing layer for them: an identity <strong>hosted</strong> by a provider, created in one
request, with the name, TLS, service endpoints and a public record supplied
by the provider, and with a person or organisation accountable for it from
the first minute.</t>
      <t>It also records four design positions that distinguish this format from
related work:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Facts and assertions are kept apart.</strong> The provider publishes what it
made true (name, endpoints, status) and labels what the operator merely
claims.</t>
        </li>
        <li>
          <t><strong>Checks on the operator are itemised, dated and expiring.</strong> There is no
level and no badge; each check says what was checked, how, by whom, when,
and until when.</t>
        </li>
        <li>
          <t><strong>Lifecycle is not liveness.</strong> <tt>status</tt> records the operator's and
provider's decisions about the identity. It never reports whether the
agent is online.</t>
        </li>
        <li>
          <t><strong>A person stays accountable.</strong> An identity belongs to an account held by
a natural person or legal entity. An agent acts under an account; it is
never one. Agents never hold DNS or registrar authority.</t>
        </li>
      </ol>
      <section anchor="conventions">
        <name>Conventions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>The terms "identity provider" and "provider" mean the party that assigns
hostnames under a base domain it controls and serves Agent Identity
Documents for them. "Operator" means the account holder responsible for an
agent. "Relying party" means any system that reads an Agent Identity
Document to decide how to treat an agent.</t>
      </section>
    </section>
    <section anchor="model">
      <name>Model</name>
      <section anchor="hostnames">
        <name>Hostnames</name>
        <t>The provider controls a base domain. Each identity receives one <strong>identity
hostname</strong>, a single DNS label under the base domain:</t>
        <artwork><![CDATA[
<slug>.<base-domain>              e.g. alice.knownas.dev
]]></artwork>
        <t>Each service the identity offers receives a <strong>service hostname</strong> with the
service label <em>leading</em> the base domain, so that every hostname is exactly one
label below a name the provider can cover with a wildcard certificate:</t>
        <artwork><![CDATA[
<slug>.api.<base-domain>          an HTTP API
<slug>.mcp.<base-domain>          a Model Context Protocol endpoint
<slug>.hooks.<base-domain>        inbound webhooks
]]></artwork>
        <t>The nested form <tt>api.&lt;slug&gt;.&lt;base-domain&gt;</tt> is NOT used: a wildcard
certificate covers exactly one label, and the nested form would require a
certificate per identity.</t>
        <t>A <tt>&lt;slug&gt;</tt> <bcp14>MUST</bcp14> be a valid DNS label <xref target="RFC1035"/>: lowercase ASCII letters,
digits and hyphens, not beginning or ending with a hyphen. This specification
RECOMMENDS a minimum of 3 and a maximum of 63 characters. The provider <bcp14>MUST</bcp14>
refuse slugs that collide with its own infrastructure names (such as <tt>api</tt>,
<tt>mcp</tt>, <tt>hooks</tt>, <tt>www</tt>) and <bcp14>SHOULD</bcp14> refuse names that impersonate protected
brands, including when a brand appears as a word inside a longer slug
("combosquatting"). Refusal lists are the provider's; this document requires
only that they exist and are enforced before any DNS record is written.</t>
      </section>
      <section anchor="accounts-and-accountability">
        <name>Accounts and accountability</name>
        <t>An identity is created and held by an <strong>account</strong>. An account <bcp14>MUST</bcp14> be held by
a natural person or a legal entity, and the provider <bcp14>MUST</bcp14> verify at minimum
that the account holder controls the e-mail address used to create it. The
provider <bcp14>MAY</bcp14> require a minimum age.</t>
        <t>An agent <bcp14>MAY</bcp14> manage identities through a credential scoped to an account, and
<bcp14>MAY</bcp14> be the thing that creates an identity. An agent <bcp14>MUST NOT</bcp14> be able to create
an account. This keeps a person or organisation answerable for every
identity, however it was created.</t>
      </section>
      <section anchor="authority-over-dns">
        <name>Authority over DNS</name>
        <t>Agents <bcp14>MUST NOT</bcp14> receive credentials that can modify DNS. The provider's own
provisioning component <bcp14>SHOULD</bcp14> be limited, by the DNS service's access control
rather than by application code alone, to writing address records under the
base domain and nothing else.</t>
      </section>
    </section>
    <section anchor="the-agent-identity-document">
      <name>The Agent Identity Document</name>
      <section anchor="location">
        <name>Location</name>
        <t>The Agent Identity Document is a JSON document <xref target="RFC8259"/> served over HTTPS
<xref target="RFC9110"/> at the well-known URI <xref target="RFC8615"/></t>
        <artwork><![CDATA[
https://<identity-hostname>/.well-known/agent-identity.json
]]></artwork>
        <t>Implementations that predate this document serve the same content at
<tt>/.well-known/agent.json</tt>; see <xref target="compat"/>.</t>
        <t>The document <bcp14>MUST</bcp14> be served with <tt>Content-Type: application/json</tt>,
<tt>X-Content-Type-Options: nosniff</tt> and <tt>Access-Control-Allow-Origin: *</tt>, so
that a browser-based relying party can read it. The same headers <bcp14>MUST</bcp14> be sent
on a 404 response for an unallocated or deleted identity, so that a relying
party can distinguish "no such identity" from a network failure.</t>
        <t>A relying party <bcp14>MUST</bcp14> treat a 404 at this URI as "no identity is published
here", and <bcp14>MUST NOT</bcp14> treat it as evidence that the hostname was never
allocated: a deleted identity's document is removed before its DNS records
are, and a tombstoned name may still resolve to the provider for a time
(<xref target="provider-practices"/>).</t>
      </section>
      <section anchor="members">
        <name>Members</name>
        <t>The top level is a JSON object. Members fall into two classes, and the class
decides how a relying party may use the value.</t>
        <section anchor="provider-generated-members-facts">
          <name>Provider-generated members (facts)</name>
          <t>These are projected by the provider from its own records at render time.
They are never writable by the operator; a provider <bcp14>MUST</bcp14> ignore any attempt
to set them.</t>
          <dl>
            <dt><tt>version</tt>:</dt>
            <dd>
              <t>String. The schema version. This document defines <tt>"1"</tt>. <bcp14>REQUIRED</bcp14>.</t>
            </dd>
            <dt><tt>fqdn</tt>:</dt>
            <dd>
              <t>String. The identity hostname. <bcp14>REQUIRED</bcp14>.</t>
            </dd>
            <dt><tt>status</tt>:</dt>
            <dd>
              <t>String. The lifecycle status (<xref target="status"/>). <bcp14>REQUIRED</bcp14>.</t>
            </dd>
            <dt><tt>endpoints</tt>:</dt>
            <dd>
              <t>Object mapping an endpoint name to an absolute <tt>https</tt> URL. <bcp14>REQUIRED</bcp14> when
<tt>status</tt> is not <tt>suspended</tt>. The provider <bcp14>MUST</bcp14> include <tt>web</tt> (the identity
hostname) and <tt>manifest</tt> (this document's URL). It <bcp14>MUST</bcp14> include one member
per service hostname the identity owns, named <tt>api</tt>, <tt>mcp</tt> or <tt>webhooks</tt>
(note: the member is <tt>webhooks</tt>; its DNS label is <tt>hooks</tt>). Every value <bcp14>MUST</bcp14>
begin with <tt>https://</tt>.</t>
            </dd>
            <dt><tt>owner</tt>:</dt>
            <dd>
              <t>Object. The provider's published checks on the account holder and the
account's standing (<xref target="owner"/>). <bcp14>OPTIONAL</bcp14>; absent when the identity is
suspended, or when the account is not in good standing.</t>
            </dd>
          </dl>
        </section>
        <section anchor="operator-asserted-members-claims">
          <name>Operator-asserted members (claims)</name>
          <t>These are supplied by the operator. The provider validates their <em>form</em> and
<bcp14>MUST NOT</bcp14> present them as verified unless a check described in <xref target="owner"/>
covers them.</t>
          <dl>
            <dt><tt>name</tt>:</dt>
            <dd>
              <t>String, at most 120 characters. A display name; defaults to the slug.
<bcp14>REQUIRED</bcp14> when not suspended.</t>
            </dd>
            <dt><tt>description</tt>:</dt>
            <dd>
              <t>String, at most 500 characters. <bcp14>OPTIONAL</bcp14>.</t>
            </dd>
            <dt><tt>contact</tt>:</dt>
            <dd>
              <t>Object with an <tt>email</tt> member, at most 254 characters. <bcp14>OPTIONAL</bcp14>.</t>
            </dd>
            <dt><tt>homepage</tt>:</dt>
            <dd>
              <t>String, an absolute <tt>https</tt> URL of at most 2048 characters. <bcp14>OPTIONAL</bcp14>.</t>
            </dd>
            <dt><tt>public_key</tt>:</dt>
            <dd>
              <t>String, at most 4096 characters. An opaque key the operator publishes.
This document assigns it no verification semantics; see <xref target="signing"/>.
<bcp14>OPTIONAL</bcp14>.</t>
            </dd>
            <dt><tt>metadata</tt>:</dt>
            <dd>
              <t>Object of at most 20 members. Keys <bcp14>MUST</bcp14> match
<tt>^[a-z0-9][a-z0-9_.-]*$</tt> and be at most 40 characters; values <bcp14>MUST</bcp14> be
strings of at most 200 characters. <bcp14>OPTIONAL</bcp14>.</t>
            </dd>
          </dl>
          <t>All string values in the document <bcp14>MUST</bcp14> be free of C0 control characters
other than those JSON itself requires to be escaped, and the provider <bcp14>MUST</bcp14>
reject input that contains them. All URLs <bcp14>MUST</bcp14> use the <tt>https</tt> scheme; a
provider <bcp14>MUST</bcp14> reject <tt>http</tt>, <tt>javascript</tt>, <tt>data</tt> and every other scheme.
The provider <bcp14>MUST NOT</bcp14> dereference any URL an operator supplies.</t>
        </section>
      </section>
      <section anchor="status">
        <name>Lifecycle status</name>
        <t><tt>status</tt> takes one of the values below. It records decisions, not
reachability.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>pending</tt></td>
              <td align="left">Created; provisioning has not started</td>
            </tr>
            <tr>
              <td align="left">
                <tt>provisioning</tt></td>
              <td align="left">DNS records are being written</td>
            </tr>
            <tr>
              <td align="left">
                <tt>active</tt></td>
              <td align="left">Provisioned, and in good standing</td>
            </tr>
            <tr>
              <td align="left">
                <tt>suspended</tt></td>
              <td align="left">Withdrawn from public view by the operator or the provider; restorable</td>
            </tr>
            <tr>
              <td align="left">
                <tt>failed</tt></td>
              <td align="left">Provisioning did not complete</td>
            </tr>
            <tr>
              <td align="left">
                <tt>archived</tt></td>
              <td align="left">Retired by the operator; the name is kept</td>
            </tr>
            <tr>
              <td align="left">
                <tt>deleting</tt></td>
              <td align="left">Removal in progress; the document disappears shortly</td>
            </tr>
          </tbody>
        </table>
        <t>A relying party <bcp14>MUST NOT</bcp14> infer from <tt>active</tt> that the agent is reachable or
running, and a provider <bcp14>MUST NOT</bcp14> change <tt>status</tt> because an agent's own
endpoints went unreachable. An agent that sleeps at night keeps its name.
Availability, if a relying party needs it, is measured by the relying party.</t>
      </section>
      <section anchor="the-suspended-document">
        <name>The suspended document</name>
        <t>When <tt>status</tt> is <tt>suspended</tt>, the provider <bcp14>MUST</bcp14> serve exactly:</t>
        <artwork><![CDATA[
{ "version": "1", "status": "suspended", "fqdn": "alice.knownas.dev" }
]]></artwork>
        <t>No endpoints, no description, no contact, no owner block. The namespace stays
allocated and DNS stays in place, so the name cannot be taken by someone
else, but nothing the operator wrote continues to be advertised. Suspension
is therefore visible to every relying party within the document's cache
lifetime, which the provider <bcp14>SHOULD</bcp14> keep short (the reference implementation
uses 60 seconds).</t>
        <t>Suspension of an <strong>account</strong> <bcp14>MUST</bcp14> stop every credential under it and <bcp14>MUST</bcp14>
suspend every identity it holds.</t>
      </section>
      <section anchor="owner">
        <name>The owner block</name>
        <t>The <tt>owner</tt> member publishes the provider's checks on the account holder.
There is deliberately no level, score or badge. Each check is its own record:</t>
        <artwork><![CDATA[
"owner": {
  "verifications": [
    { "type": "email", "verified_at": "2026-09-21T14:02:11+00:00" },
    {
      "type": "domain",
      "value": "acme.example",
      "method": "dns-txt",
      "verifier": "knownas.dev",
      "verified_at": "2026-10-02T09:00:00+00:00",
      "expires_at": "2026-11-01T09:00:00+00:00"
    }
  ],
  "standing": { "account_since": "2026-09-21", "status": "active" }
}
]]></artwork>
        <t>Each member of <tt>verifications</tt> is an object with:</t>
        <dl>
          <dt><tt>type</tt>:</dt>
          <dd>
            <t>String. This document defines <tt>email</tt> (the account holder controlled the
sign-up mailbox) and <tt>domain</tt> (the account holder controls a DNS name).
Further types, such as a check on a legal entity or a natural person, <bcp14>MAY</bcp14>
be defined; a relying party <bcp14>MUST</bcp14> ignore types it does not understand.</t>
          </dd>
          <dt><tt>verified_at</tt>:</dt>
          <dd>
            <t>String, an <xref target="RFC3339"/> timestamp. <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt><tt>value</tt>:</dt>
          <dd>
            <t>String. What was checked, where that is public (a domain name). For
<tt>email</tt> the address itself <bcp14>MUST NOT</bcp14> be published. <bcp14>OPTIONAL</bcp14>.</t>
          </dd>
          <dt><tt>method</tt>, <tt>verifier</tt>:</dt>
          <dd>
            <t>Strings naming how and by whom the check was made. <bcp14>OPTIONAL</bcp14>.</t>
          </dd>
          <dt><tt>expires_at</tt>:</dt>
          <dd>
            <t>String, an <xref target="RFC3339"/> timestamp after which the check <bcp14>MUST</bcp14> be treated as
stale. <bcp14>OPTIONAL</bcp14>; a check without it does not expire.</t>
          </dd>
        </dl>
        <t><tt>standing</tt> carries <tt>account_since</tt> (an <xref target="RFC3339"/> full-date) and <tt>status</tt>,
which is <tt>active</tt> whenever the block is present; a provider <bcp14>MUST</bcp14> omit the
whole <tt>owner</tt> block rather than publish any other standing.</t>
        <t>Relying parties <bcp14>MUST</bcp14> interpret checks by type and date. The absence of a
check is the absence of information and <bcp14>MUST NOT</bcp14> be presented as a
negative finding; many legitimate operators cannot or will not complete
deeper checks. Human-facing presentations <bcp14>SHOULD</bcp14> say what was checked
("owner controls acme.example") and <bcp14>SHOULD NOT</bcp14> say "verified" or "trusted"
without an object.</t>
      </section>
    </section>
    <section anchor="provider-practices">
      <name>Provider practices</name>
      <t>A document is only as good as the namespace behind it. A provider that
serves Agent Identity Documents:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Writes explicit DNS records, never a wildcard.</strong> An unallocated name
<bcp14>MUST</bcp14> return NXDOMAIN. A wildcard would make <tt>paypal.&lt;base-domain&gt;</tt>
resolve.</t>
        </li>
        <li>
          <t><strong>Restricts certificate issuance</strong> for the base domain with CAA
<xref target="RFC8659"/> to the authority it uses, so that no one else can obtain a
certificate for a hosted name.</t>
        </li>
        <li>
          <t><strong>Removes the document before the DNS records</strong> when an identity is
deleted, and changes only the document on suspension. Everything the
public can read goes through the document; only reachability goes through
DNS, and DNS removal may be slow.</t>
        </li>
        <li>
          <t><strong>Tombstones released names</strong> for a cooling period
(the reference implementation uses 30 days) during which no new account
may take the name, while the previous holder may reclaim it at once.
A leftover record during that period points only at the provider, which
answers 404.</t>
        </li>
        <li>
          <t><strong>Keeps an append-only audit trail</strong> of every change to every identity,
recording whether a person or an agent made it. The application that
serves the API <bcp14>MUST NOT</bcp14> be able to alter or delete entries.</t>
        </li>
        <li>
          <t><strong>Enforces quotas</strong> on identities per account and per day, and on
failure <bcp14>SHOULD</bcp14> suspend rather than bill.</t>
        </li>
      </ol>
    </section>
    <section anchor="relationship-to-other-work">
      <name>Relationship to other work</name>
      <section anchor="a2a-agent-cards">
        <name>A2A Agent Cards</name>
        <t>An A2A card at <tt>/.well-known/agent-card.json</tt> <xref target="A2A"/> declares that a URL
speaks A2A over a stated binding. A provider <bcp14>MUST NOT</bcp14> generate a card from
the Agent Identity Document alone, because it does not know what the
operator's server speaks. A provider <bcp14>MAY</bcp14> serve a card the operator declares,
beside this document, and when it does the <tt>endpoints</tt> object <bcp14>SHOULD</bcp14> carry
an <tt>agent_card</tt> member pointing to it. A suspended identity <bcp14>MUST</bcp14> serve no
card.</t>
      </section>
      <section anchor="signing">
        <name>Signed requests</name>
        <t>Where an agent signs its requests with HTTP Message Signatures <xref target="RFC9421"/> as
profiled by Web Bot Auth <xref target="I-D.ietf-webbotauth-httpsig-protocol"/>, the natural
<tt>Signature-Agent</tt> value is the identity hostname as an <tt>https</tt> origin, and
the key directory is served by the provider at
<tt>/.well-known/http-message-signatures-directory</tt> on that origin. A verifier
that resolves the signature then already knows where the Agent Identity
Document is. The <tt>public_key</tt> member of this document is unrelated to that
directory and carries no verification semantics of its own.</t>
      </section>
      <section anchor="domain-anchored-identity">
        <name>Domain-anchored identity</name>
        <t>ANS <xref target="I-D.narajala-courtney-ansv2"/> and similar work anchor an agent to a
domain the operator controls. This document is complementary: a hosted
identity is for operators who have no domain, and an operator who later
proves control of a domain publishes that as a <tt>domain</tt> check in the owner
block. Nothing here prevents a provider from also issuing ANS records.</t>
      </section>
      <section anchor="compat">
        <name>Compatibility</name>
        <t>The reference implementation has served this document at
<tt>/.well-known/agent.json</tt> since 2026. That path was also used by A2A before
its version 0.3.0 and has been proposed for other formats. Providers
<bcp14>SHOULD</bcp14> serve this document at <tt>/.well-known/agent-identity.json</tt> and <bcp14>MAY</bcp14>
continue to serve it at <tt>/.well-known/agent.json</tt> during a transition; a
relying party <bcp14>SHOULD</bcp14> try the former first.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t><strong>Operator-asserted members are claims.</strong> A relying party <bcp14>MUST NOT</bcp14> treat
<tt>contact</tt>, <tt>homepage</tt>, <tt>description</tt>, <tt>public_key</tt> or <tt>metadata</tt> as verified
because they are served over HTTPS from the provider's domain. Only the
checks in <tt>owner</tt> are the provider's statements, and each is bounded by its
dates.</t>
      <t><strong>The provider is a trust anchor.</strong> A hosted identity is only as trustworthy
as the provider's own controls: who may create accounts, how names are
policed, how suspension is applied, and whether the audit trail can be
altered. <xref target="provider-practices"/> lists the minimum. Relying parties <bcp14>SHOULD</bcp14>
form a view of a provider as they do of a certificate authority.</t>
      <t><strong>Caching bounds suspension.</strong> A relying party that caches the document for
longer than the provider's <tt>Cache-Control</tt> may keep trusting a suspended
identity. Providers <bcp14>SHOULD</bcp14> keep the lifetime short; relying parties making
consequential decisions <bcp14>SHOULD</bcp14> re-fetch at decision time.</t>
      <t><strong>The document is a surface for injection.</strong> It is operator-controlled
content served from a provider hostname. Length caps, control-character
rejection and the <tt>https</tt>-only rule exist so that a document cannot carry a
<tt>javascript:</tt> link or terminal escape into a relying party's logs or UI.
Relying parties <bcp14>MUST</bcp14> still treat every string as untrusted data.</t>
      <t><strong>Identity is not intent.</strong> A deliberately malicious operator can decline to
identify an agent at all. This format changes the default for responsible
operators and makes anonymous agent traffic stand out; it does not stop an
attacker.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The document publishes: a hostname, endpoints, a status, the operator's
chosen descriptive text, and the provider's checks. For an <tt>email</tt> check the
address is not published, only that a check occurred and when. For a
<tt>domain</tt> check the domain name is published, since control of a public name
is itself public. <tt>account_since</tt> reveals when the account was created and
nothing else about the holder. A provider <bcp14>MUST</bcp14> let an account holder export
and erase their data, and <bcp14>MUST</bcp14> remove an identity's document promptly on
deletion; what the append-only audit trail retains is the provider's
documented retention decision.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to register the following well-known URI suffix in the
"Well-Known URIs" registry <xref target="RFC8615"/>:</t>
      <dl>
        <dt>URI suffix:</dt>
        <dd>
          <t>agent-identity.json</t>
        </dd>
        <dt>Change controller:</dt>
        <dd>
          <t>Authecity Systems LLC, until a standards body adopts the format</t>
        </dd>
        <dt>Specification document:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Status:</dt>
        <dd>
          <t>provisional</t>
        </dd>
        <dt>Related information:</dt>
        <dd>
          <t>The JSON Schema and worked examples are maintained at the repository
referenced in <xref target="KNOWNAS"/>.</t>
        </dd>
      </dl>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC8659">
          <front>
            <title>DNS Certification Authority Authorization (CAA) Resource Record</title>
            <author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <date month="November" year="2019"/>
            <abstract>
              <t>The Certification Authority Authorization (CAA) DNS Resource Record allows a DNS domain name holder to specify one or more Certification Authorities (CAs) authorized to issue certificates for that domain name. CAA Resource Records allow a public CA to implement additional controls to reduce the risk of unintended certificate mis-issue. This document defines the syntax of the CAA record and rules for processing CAA records by CAs.</t>
              <t>This document obsoletes RFC 6844.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8659"/>
          <seriesInfo name="DOI" value="10.17487/RFC8659"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9421">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="I-D.ietf-webbotauth-httpsig-protocol">
          <front>
            <title>HTTP Message Signatures for automated traffic</title>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Sandor Major" initials="S." surname="Major">
              <organization>Google</organization>
            </author>
            <date day="1" month="September" year="2026"/>
            <abstract>
              <t>   This document describes a protocol for identifying automated traffic
   using [HTTP-MESSAGE-SIGNATURES].  The goal is to allow automated HTTP
   clients to cryptographically sign outbound requests, allowing HTTP
   servers to verify their identity with confidence.

   It defines the Signature-Agent header field for in-band key
   discovery, a key directory format based on JWKS, and a well-known URI
   at which that directory is served.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-webbotauth-httpsig-protocol-00"/>
        </reference>
        <reference anchor="I-D.narajala-courtney-ansv2">
          <front>
            <title>Agent Name Service v2 (ANS): A Domain-Anchored Trust Layer for Autonomous AI Agent Identity</title>
            <author fullname="Scott Courtney" initials="S." surname="Courtney">
              <organization>GoDaddy</organization>
            </author>
            <author fullname="Vineeth Sai Narajala" initials="V. S." surname="Narajala">
              <organization>OWASP</organization>
            </author>
            <author fullname="Ken Huang" initials="K." surname="Huang">
              <organization>DistributedApps.ai</organization>
            </author>
            <author fullname="Idan Habler" initials="I." surname="Habler">
              <organization>OWASP</organization>
            </author>
            <author fullname="Akram Sheriff" initials="A." surname="Sheriff">
              <organization>Cisco Systems</organization>
            </author>
            <date day="13" month="April" year="2026"/>
            <abstract>
              <t>   Autonomous AI agents execute transactions across organizational
   boundaries.  No single agent platform provides the trust
   infrastructure they need.  This document defines the Agent Name
   Service (ANS) v2 protocol, which anchors every agent identity to a
   DNS domain name.  A Registration Authority (RA) verifies domain
   ownership via ACME, issues dual certificates (a Server Certificate
   from a public CA and an Identity Certificate from a private CA
   binding a version-specific ANSName), and seals every lifecycle event
   into an append-only Transparency Log aligned with IETF SCITT.  Three
   verification tiers -- Bronze (PKI), Silver (PKI + DANE), and Gold
   (PKI + DANE + Transparency Log) -- let clients choose assurance
   levels appropriate to transaction risk.  The architecture decouples
   identity from discovery: the RA publishes sealed events; independent
   Discovery Services build competitive indexes.  A three-layer trust
   framework separates foundational identity (Layer 1, this protocol),
   operational maturity (Layer 2, third-party attestors), and behavioral
   reputation (Layer 3, real-time scoring).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-narajala-courtney-ansv2-01"/>
        </reference>
        <reference anchor="I-D.pro-adp-agent-discovery">
          <front>
            <title>Agent Discovery Protocol (ADP) v1.1 -- Well-Known Metadata and Interaction Layer</title>
            <author fullname="Bin Lian" initials="B." surname="Lian">
              <organization>aipair.ai</organization>
            </author>
            <date day="23" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the Agent Discovery Protocol (ADP) v1.1, a

   layered protocol for discovering, verifying, and interacting with AI

   Agents on the Internet.  ADP delegates DNS discovery to DNS-AID (SVCB

   records) and defines a Well-Known JSON metadata format, an

   Ed25519-based identity model, and the Agent Gateway Protocol (AGP)

   for real-time WebSocket messaging.  The protocol is designed to be

   decentralized, standards-based, and incremental — clients escalate

   from DNS to HTTP to WebSocket only as needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pro-adp-agent-discovery-02"/>
        </reference>
        <reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
          <front>
            <title>Agent2Agent (A2A) Protocol Specification</title>
            <author>
              <organization>The Linux Foundation</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="KNOWNAS" target="https://knownas.dev/">
          <front>
            <title>knownAs.dev: internet identity for AI agents (reference implementation)</title>
            <author>
              <organization>Authecity Systems LLC</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 517?>

<section anchor="example-documents">
      <name>Example documents</name>
      <t>An active identity with two services and a verified domain:</t>
      <artwork><![CDATA[
{
 "version": "1",
 "name": "Ada",
 "status": "active",
 "fqdn": "ada.knownas.dev",
 "endpoints": {
  "web": "https://ada.knownas.dev",
  "manifest": "https://ada.knownas.dev/.well-known/agent-identity.json",
  "api": "https://ada.api.knownas.dev",
  "mcp": "https://ada.mcp.knownas.dev"
 },
 "description": "Answers questions about the Acme product catalogue.",
 "owner": {
  "verifications": [
   { "type": "email", "verified_at": "2026-09-21T14:02:11+00:00" },
   { "type": "domain", "value": "acme.example", "method": "dns-txt",
     "verifier": "knownas.dev",
     "verified_at": "2026-10-02T09:00:00+00:00",
     "expires_at": "2026-11-01T09:00:00+00:00" }
  ],
  "standing": { "account_since": "2026-09-21", "status": "active" }
 },
 "contact": { "email": "agents@acme.example" },
 "homepage": "https://acme.example/ada",
 "metadata": { "framework": "langgraph" }
}
]]></artwork>
      <t>The same identity, suspended:</t>
      <artwork><![CDATA[
{ "version": "1", "status": "suspended", "fqdn": "ada.knownas.dev" }
]]></artwork>
      <t>The hostnames are the reference implementation's real base domain rather
than the reserved example domains of RFC 2606, because the document
describes a practice in production there.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The design positions here were worked out as architecture decision records
for the reference implementation <xref target="KNOWNAS"/> between September and October
2026. The author thanks the people who tested early versions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61c63IbR3b+30/RgVNliQEgkJKVFenyBqtLmbFuEeV4XVuO
0QAaxFiDGXhmQAihtc+SZ8mT5XznnO7pAUB5s7Wusk0Mevpyrt+5NAaDgWmy
Jvfntvd+6e342heNvZzTf7NmZ5+Vs82K/j63Y/ttWTd+3rfj2azcFI2b5t6+
3UzzbGbf+VlZze2irOz4Uuaoe8ZNp5W/Ob9rTjMvZ4Vb0crzyi2agctzN3AY
O8h07GCuYwejkZm5xl+X1e7cZsWiNPVmusrqOiuLZremSS6fv39hsnV1bptq
Uzdno9GT0Zn54Hdb2tq5sXaAvfH8NX8Ki/CHrc/zwYei3Bb2+3eX/OjZ6yv+
vwvnzXKMNnXjivnPLi8LWnXna7POzu1fmnLWt3VZNZVf1PTXboU/fjLGbZpl
WfEG6F9Lm6/P7YuhHdNx+YHQ4IVfZe2zsro+t7ydcT2c+xt7b0zT+Bnod7Uj
Pqxq+/Ll0/s82K9clp/bcl3/G7/i+BVjirJauSa78Vj83YunZ6enT/TPP5z+
66Pw59lX8enj06/0z4cPH4anp6OHX8UBceyT09PRuTFgRXeVJ4/OTvHn5eDZ
MPPNYrD102nZgAyDZdOs6+x6sK5KoleZh3GFq9wvjthPlK6awu8GrqhvzsLX
NHzg5msVjnlWz8obT4JAX4/PxudMBBVilrUzkbh79OV9+1bXsldrot8iIzEi
meF3Wtbgn4FQHVrwMis2H+0LYvu8HU1/0gJno7OvZEFXXXtSDD7T+YMH7szF
cw1ppgc5ja+bB3W67AN69bvXb354Pb7qbLuX8Bry3fiq8E0U0aBZIr32HomW
r3wx8zZbrXMPDeHp7/fuPtdRAeoe7PHRgyUy9cCYwYA0Ylo3lZs1xtCkZVGu
yk1Nsr9otq7yYZNZMau8q7PiOt+RDjW2LCztwK7FZMQzbrNmaYvSQA1ogGus
s6xwvlq7irY7c4Wd0dY/9GmYvF4v/dzKt/JGUW99VTOZaI1V35CKYvTW0YjS
5t5VRRhKiuIr19DQpat5ebI/pPf0DW99SCKQ1TaYHqMM9DVv/w5j1qdd1ysy
Yfbfr968ji/b2lc3tFcsbLo2BvRwdklGlU/uyJRdFzSUtkuWRbZCs9I5mGqg
dzajTbjCRLEgebuhDxUdPM/LLZ1m6QubNTwtsWQzW7J5EcqEc2NYSVskAjWm
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
8a7eVeTSlbkU8f4fLK4FPlpWAAA=

-->

</rfc>
