<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.3.6) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-le-agent-passport-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Agent Passports">Agent Passports and Delegation Receipts for Autonomous Software Agents</title>

    <author fullname="Ben Le">
      <organization>Redthread Security</organization>
      <address>
        <email>ben.le@redthreadsec.com</email>
      </address>
    </author>

    <date/>

    
    
    <keyword>AI agents</keyword> <keyword>agent identity</keyword> <keyword>delegation</keyword> <keyword>HTTP message signatures</keyword> <keyword>transparency</keyword>

    <abstract>


<?line 95?>

<t>Autonomous software agents call APIs, tools and other agents on behalf of people and organisations. A
party receiving such a call today can usually learn only that some bearer credential was presented. It
cannot learn which organisation is accountable for the agent, which model, configuration and tools the
agent is running, on whose behalf it is acting, or whether any of that has changed since it was approved.</t>

<t>This document defines two signed objects and how they travel on HTTP requests. An Agent Passport binds
an agent's public key to its accountable controller and to a digest of its build. A Delegation Receipt
records one step of authority passing from a principal, through a delegator, to an agent; a chain of
receipts can only narrow that authority. Requests carry both, and are signed with the agent's key using
HTTP Message Signatures, so a relying party can check, without contacting the issuer per request, who
the agent is, what it is running, on whose behalf it acts and what it may do.</t>



    </abstract>



  </front>

  <middle>


<?line 109?>

<section anchor="introduction"><name>Introduction</name>

<t>Agents act for someone, through something. A relying party (an API, an MCP server, a payment service, a
website) that receives an agent's request needs to answer four questions before it acts:</t>

<t><list style="numbers" type="1">
  <t>Who is accountable for this agent?</t>
  <t>Is it the same agent, running the same build, that was approved?</t>
  <t>On whose behalf is it acting, and within what limits?</t>
  <t>Is any of that revoked?</t>
</list></t>

<t>Existing mechanisms each answer part of this. OAuth 2.0 <xref target="RFC6749"/> and Token Exchange <xref target="RFC8693"/>
convey authorisation to a client and can name an actor, but a client is not a build: the same client
credential can sit in front of a different model, prompt or tool set. Workload identity, such as
<xref target="SPIFFE"/> and the WIMSE workload identity token <xref target="WIMSE-S2S"/>, identifies a running workload by where it
runs, not by what it is. HTTP Message Signatures <xref target="RFC9421"/> and the work of the IETF Web Bot Auth
working group <xref target="WEB-BOT-AUTH"/> let a client prove possession of a key on each request, but say nothing
about delegation. Sender-constrained tokens <xref target="RFC9449"/> bind a token to a key, not to a delegation chain.
Transaction Tokens <xref target="TXN-TOKENS"/> carry context within one trust domain, not across organisations.</t>

<t>This document composes these pieces into a profile for agents:</t>

<t><list style="symbols">
  <t>An <strong>Agent Passport</strong> (<xref target="passport"/>): a JWT <xref target="RFC7519"/> binding the agent's public key to a controller
and a build digest.</t>
  <t>A <strong>Delegation Receipt</strong> (<xref target="receipts"/>): a JWT naming a principal, bound to a delegate's key, carrying a
scoped and time-limited subset of authority. Receipts chain, and each step may only attenuate.</t>
  <t>A <strong>request binding</strong> (<xref target="binding"/>): passports and receipts travel in HTTP header fields covered by an
HTTP Message Signature made with the acting agent's key.</t>
</list></t>

<section anchor="relationship-to-other-work"><name>Relationship to Other Work</name>

<t>Several individual drafts address agent authentication and authorisation. <xref target="AIAGENT-AUTH"/> profiles WIMSE and
the OAuth 2.0 family for agents. <xref target="AAUTH"/> defines an authorisation protocol for agent access to resources,
with HTTP message signatures and key discovery. This document is complementary to both and adds three
things neither defines:</t>

<t><list style="numbers" type="1">
  <t><strong>Build binding.</strong> The passport commits to the agent's model, configuration and tools, and receipts can be
bound to a build, so authority approved for one build does not carry over to another under the same key.</t>
  <t><strong>Cross-organisation attenuation that the relying party verifies.</strong> Each step of a delegation chain is
checked by the relying party against the step before it, with a test that never accepts a widening, and
intersected with the principal's own access.</t>
  <t><strong>Accountability of the controller.</strong> A controller's origin authorises the issuers that may vouch for its
agents, so a relying party learns who is answerable for an agent, not only which key it holds.</t>
</list></t>

<t>An authorisation server following <xref target="AIAGENT-AUTH"/> or <xref target="AAUTH"/> can issue root receipts as defined here, and
a passport's holder key can be the key those protocols already bind.</t>

</section>
<section anchor="goals"><name>Goals</name>

<t><list style="symbols">
  <t>Identify the accountable party and the build, not only the key.</t>
  <t>Make delegation verifiable by the party acting on it, across organisational boundaries.</t>
  <t>Guarantee by construction that a delegation chain cannot widen authority.</t>
  <t>Allow verification without per-request contact with any issuer.</t>
  <t>Compose with existing identity providers rather than replace them.</t>
</list></t>

</section>
<section anchor="non-goals"><name>Non-goals</name>

<t><list style="symbols">
  <t>This document does not prove that an agent is <em>actually</em> running the build its passport names. The
build digest is the issuer's assertion. Remote attestation of the runtime is out of scope; an issuer <bcp14>MAY</bcp14>
condition issuance on such evidence.</t>
  <t>It does not define how a relying party decides whether to trust a controller, an issuer or a build.
That is local policy.</t>
  <t>It does not define reputation or scoring.</t>
</list></t>

</section>
</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</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?>

<dl>
  <dt>Agent:</dt>
  <dd>
    <t>Software that takes actions, including calling other services, without a person approving each action.</t>
  </dd>
  <dt>Controller:</dt>
  <dd>
    <t>The organisation accountable for an agent, identified by an HTTPS origin <xref target="RFC6454"/> it controls.</t>
  </dd>
  <dt>Issuer:</dt>
  <dd>
    <t>The entity that signs Agent Passports: the controller itself, or a third party the controller authorises
(<xref target="controller-authorisation"/>).</t>
  </dd>
  <dt>Build:</dt>
  <dd>
    <t>The properties that determine an agent's behaviour: model identifier, configuration (for example system
instructions, tool allow-list and policy) and tool set.</t>
  </dd>
  <dt>Holder Key:</dt>
  <dd>
    <t>The key pair whose public half is bound into a passport, and whose private half the agent uses to sign
requests and child receipts.</t>
  </dd>
  <dt>Principal:</dt>
  <dd>
    <t>The person or service on whose behalf a chain of agents acts.</t>
  </dd>
  <dt>Delegator:</dt>
  <dd>
    <t>The signer of a Delegation Receipt: an authorisation server acting for the principal (root receipts),
or an agent passing on part of its authority (child receipts).</t>
  </dd>
  <dt>Delegate:</dt>
  <dd>
    <t>The agent a Delegation Receipt is bound to, identified by its holder key.</t>
  </dd>
  <dt>Relying Party (RP):</dt>
  <dd>
    <t>The party that receives an agent's request and verifies it.</t>
  </dd>
  <dt>Tool Attestation:</dt>
  <dd>
    <t>A signed statement by a third party about a tool the agent may call, for example an MCP server <xref target="MCP"/>,
such as an in-toto statement <xref target="IN-TOTO"/> naming the tool's artifact digest.</t>
  </dd>
  <dt>Digest Object:</dt>
  <dd>
    <t>A JSON object <spanx style="verb">{"alg": &lt;name&gt;, "val": &lt;base64url without padding&gt;}</spanx>, where <spanx style="verb">alg</spanx> is a hash algorithm name
from the IANA "Named Information Hash Algorithm Registry" <xref target="RFC6920"/> (implementations <bcp14>MUST</bcp14> support <spanx style="verb">sha-256</spanx>).
Digest Objects are compared by <spanx style="verb">alg</spanx> and by decoded bytes.</t>
  </dd>
</dl>

</section>
<section anchor="overview"><name>Overview</name>

<figure><artwork type="ascii-art"><![CDATA[
 Principal/AS   Issuer            Agent A        Agent B       RP
     |             |                 |              |              |
     |             |<- key + build --|              |              |
     |             |-- passport A -->|              |              |
     |-- root receipt (to A) ------->|              |              |
     |             |                 |-- child ---->|              |
     |             |                 |   receipt    |              |
     |             |                 |              |== request ==>|
     |             |                 |              | passports B,A|
     |             |                 |              | receipts r,c |
     |             |                 |              | signed by B  |
     |             |<------------ status lists (cached) -----------|
     |             |                 |              |<- decision --|
]]></artwork></figure>

<t><list style="numbers" type="1">
  <t>Each agent generates a holder key and obtains a passport from an issuer, presenting its build.</t>
  <t>An authorisation server acting for the principal signs a root receipt bound to agent A's key. Agent A
may pass part of that authority to agent B with a child receipt, signed with A's holder key.</t>
  <t>Agent B sends its own passport, the passports of every agent above it in the chain, and the receipts,
and signs the request with its holder key.</t>
  <t>The RP validates every passport and receipt, matches the request against the leaf's grants, intersects
with what the principal itself may do, and applies local policy.</t>
</list></t>

</section>
<section anchor="passport"><name>Agent Passport</name>

<section anchor="format"><name>Format</name>

<t>An Agent Passport is a JWT <xref target="RFC7519"/> in JWS Compact Serialization <xref target="RFC7515"/>. The JOSE header <bcp14>MUST</bcp14>
contain <spanx style="verb">typ</spanx> with the value <spanx style="verb">agent-passport+jwt</spanx>, <spanx style="verb">alg</spanx>, and <spanx style="verb">kid</spanx>. Implementations <bcp14>MUST</bcp14> support <spanx style="verb">EdDSA</spanx>
with Ed25519 <xref target="RFC8037"/>, <bcp14>MAY</bcp14> support other asymmetric algorithms, and <bcp14>MUST</bcp14> follow <xref target="RFC8725"/>; <spanx style="verb">none</spanx> and
symmetric algorithms <bcp14>MUST NOT</bcp14> be used.</t>

</section>
<section anchor="passport-claims"><name>Claims</name>

<dl>
  <dt><spanx style="verb">iss</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>The issuer identifier, an HTTPS URL. The issuer's keys are found through its metadata
(<xref target="issuer-metadata"/>).</t>
  </dd>
  <dt><spanx style="verb">sub</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>The JWK Thumbprint URI <xref target="RFC9278"/> of the holder public key, computed with SHA-256 <xref target="RFC7638"/>.</t>
  </dd>
  <dt><spanx style="verb">cnf</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>A confirmation claim <xref target="RFC7800"/> whose <spanx style="verb">jwk</spanx> member is the holder public key. Its SHA-256 JWK thumbprint
<bcp14>MUST</bcp14> equal the thumbprint in <spanx style="verb">sub</spanx>.</t>
  </dd>
  <dt><spanx style="verb">agent_controller</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>The controller's origin, an HTTPS URL with no path, query or fragment, for example
<spanx style="verb">https://example.com</spanx>.</t>
  </dd>
  <dt><spanx style="verb">agent_build</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>A JSON object describing the build. Members:
</t>

    <t><list style="symbols">
      <t><spanx style="verb">model</spanx> (<bcp14>REQUIRED</bcp14>): a string identifying the model, in the form <spanx style="verb">vendor/model-id</spanx>.</t>
      <t><spanx style="verb">config</spanx> (<bcp14>REQUIRED</bcp14>): a Digest Object over the JCS canonicalisation <xref target="RFC8785"/> of the agent's
configuration object (<xref target="config-digest"/>).</t>
      <t><spanx style="verb">tools</spanx> (<bcp14>OPTIONAL</bcp14>): an array of objects, each with <spanx style="verb">id</spanx> (a tool identifier; for an MCP server, its
registry name) and optionally <spanx style="verb">attestation</spanx>, a Digest Object of the Tool Attestation the build was
approved against.</t>
      <t><spanx style="verb">code</spanx> (<bcp14>OPTIONAL</bcp14>): a Digest Object of the agent's own code artifact.</t>
    </list></t>
  </dd>
  <dt><spanx style="verb">agent_aliases</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>An array of other identifiers for the same agent, for example a SPIFFE ID or an identity provider's
object identifier. Aliases are informational. An RP <bcp14>MUST NOT</bcp14> treat a match on an alias as verification
of the passport.</t>
  </dd>
  <dt><spanx style="verb">iat</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">jti</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>As in <xref target="RFC7519"/>. <spanx style="verb">exp</spanx> minus <spanx style="verb">iat</spanx> <bcp14>MUST NOT</bcp14> exceed 86400 seconds.</t>
  </dd>
  <dt><spanx style="verb">status</spanx> (<bcp14>RECOMMENDED</bcp14>):</dt>
  <dd>
    <t>A status reference as defined in <xref target="STATUS-LIST"/>.</t>
  </dd>
</dl>

<t>An RP <bcp14>MUST</bcp14> reject a passport whose <spanx style="verb">agent_build</spanx> contains a member it does not understand, unless local
policy names that member as ignorable.</t>

</section>
<section anchor="config-digest"><name>Configuration Digest</name>

<t>The configuration object is a JSON object defined by the agent framework. It <bcp14>SHOULD</bcp14> include at least the
system instructions, the tool allow-list and any policy the agent enforces on itself. Hashing its JCS
canonical form <xref target="RFC8785"/> gives semantically identical configurations the same digest across
implementations.</t>

<t>Any change to <spanx style="verb">model</spanx>, <spanx style="verb">config</spanx>, <spanx style="verb">tools</spanx> or <spanx style="verb">code</spanx> is a new build and <bcp14>MUST</bcp14> result in a new passport. The
<strong>build digest</strong> of a passport is the Digest Object, with <spanx style="verb">alg</spanx> <spanx style="verb">sha-256</spanx>, over the JCS canonicalisation of
its <spanx style="verb">agent_build</spanx> claim. An RP that pins a build compares build digests.</t>

</section>
<section anchor="issuer-metadata"><name>Issuer Metadata</name>

<t>An issuer publishes metadata at the well-known URI formed by inserting <spanx style="verb">/.well-known/agent-passport-issuer</spanx>
between the host and path of its issuer identifier, as <xref target="RFC8414"/> does for authorisation servers. The
metadata is a JSON object with at least <spanx style="verb">issuer</spanx> (equal to the issuer identifier) and <spanx style="verb">jwks_uri</spanx> (an HTTPS
URL of a JWK Set <xref target="RFC7517"/>). An RP selects the verification key by the passport's <spanx style="verb">kid</spanx>.</t>

</section>
<section anchor="controller-authorisation"><name>Controller Authorisation</name>

<t>The controller publishes, at <spanx style="verb">/.well-known/agent-controller</spanx> <xref target="RFC8615"/> on its origin, a JSON object:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "issuers": ["https://issuer.example"],
  "contact": "mailto:security@example.com"
}
]]></sourcecode></figure>

<t>An RP verifying a passport <bcp14>MUST</bcp14> check that <spanx style="verb">iss</spanx> is equal to <spanx style="verb">agent_controller</spanx> or appears in <spanx style="verb">issuers</spanx>.
Sharing an origin is not sufficient. If the document cannot be retrieved and no cached copy is valid, the
RP <bcp14>MUST</bcp14> treat the passport as invalid. An RP <bcp14>MAY</bcp14> cache the document for up to 24 hours, which bounds how
long a withdrawn authorisation remains effective (<xref target="security-considerations"/>).</t>

</section>
<section anchor="passport-validation"><name>Validation</name>

<t>To validate a passport, an RP:</t>

<t><list style="numbers" type="1">
  <t>Parses the JWS and checks <spanx style="verb">typ</spanx>, <spanx style="verb">alg</spanx> and <spanx style="verb">kid</spanx> against <xref target="RFC8725"/> and local policy.</t>
  <t>Obtains the issuer's key (<xref target="issuer-metadata"/>) and verifies the signature.</t>
  <t>Checks <spanx style="verb">iat</spanx>, <spanx style="verb">exp</spanx> and the 86400-second limit, allowing clock skew of at most 60 seconds.</t>
  <t>Checks that the thumbprint of <spanx style="verb">cnf.jwk</spanx> equals <spanx style="verb">sub</spanx>.</t>
  <t>Checks controller authorisation (<xref target="controller-authorisation"/>).</t>
  <t>If <spanx style="verb">status</spanx> is present, checks the referenced status (<xref target="status"/>).</t>
  <t>Rejects unknown <spanx style="verb">agent_build</spanx> members, as described in <xref target="passport-claims"/>.</t>
  <t>Applies local policy to <spanx style="verb">agent_controller</spanx>, <spanx style="verb">agent_build</spanx> and <spanx style="verb">iss</spanx>.</t>
</list></t>

</section>
</section>
<section anchor="receipts"><name>Delegation Receipts</name>

<section anchor="format-1"><name>Format</name>

<t>A Delegation Receipt is a JWT with JOSE header <spanx style="verb">typ</spanx> set to <spanx style="verb">agent-delegation+jwt</spanx>, signed by the
delegator. Header and algorithm requirements are as for passports (<xref target="passport"/>).</t>

</section>
<section anchor="receipt-claims"><name>Claims</name>

<dl>
  <dt><spanx style="verb">iss</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>The delegator. In a root receipt, the issuer identifier of the authorisation server that signed it. In
a child receipt, the JWK Thumbprint URI of the delegating agent's holder key.</t>
  </dd>
  <dt><spanx style="verb">sub</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>The principal, as identified by the root receipt's authorisation server. Every receipt in a chain <bcp14>MUST</bcp14>
carry the same <spanx style="verb">sub</spanx> as the root.</t>
  </dd>
  <dt><spanx style="verb">cnf</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>A confirmation claim <xref target="RFC7800"/> whose <spanx style="verb">jkt</spanx> member is the base64url SHA-256 JWK thumbprint of the
delegate's holder key.</t>
  </dd>
  <dt><spanx style="verb">act</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>As in <xref target="RFC8693"/>: the chain of acting parties, outermost the current delegate. Informational; chain
validation does not depend on it.</t>
  </dd>
  <dt><spanx style="verb">dlg_parent</spanx> (<bcp14>REQUIRED</bcp14> in a child receipt):</dt>
  <dd>
    <t>A Digest Object, with <spanx style="verb">alg</spanx> <spanx style="verb">sha-256</spanx>, over the ASCII bytes of the parent receipt's JWS Compact
Serialization. It <bcp14>MUST</bcp14> be absent in a root receipt.</t>
  </dd>
  <dt><spanx style="verb">dlg_build</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>The build digest (<xref target="config-digest"/>) of the delegate's passport at the time of delegation. If present,
the RP <bcp14>MUST</bcp14> reject the receipt unless the delegate's presented passport has the same build digest.</t>
  </dd>
  <dt><spanx style="verb">dlg_grants</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>A non-empty array of grant objects (<xref target="grants"/>).</t>
  </dd>
  <dt><spanx style="verb">dlg_limits</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>An object with <spanx style="verb">max_calls</spanx> (a positive integer) and/or <spanx style="verb">max_spend</spanx> (an object with <spanx style="verb">currency</spanx>, an
<xref target="ISO4217"/> code, and <spanx style="verb">amount</spanx>, a decimal string).</t>
  </dd>
  <dt><spanx style="verb">purp</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>A human-readable statement of why authority was delegated, as in <xref target="TXN-TOKENS"/>. Recorded, not enforced.</t>
  </dd>
  <dt><spanx style="verb">aud</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>The RPs the receipt is intended for. If present, an RP not listed <bcp14>MUST</bcp14> reject the receipt.</t>
  </dd>
  <dt><spanx style="verb">iat</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">jti</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>As in <xref target="RFC7519"/>.</t>
  </dd>
  <dt><spanx style="verb">status</spanx> (<bcp14>RECOMMENDED</bcp14>):</dt>
  <dd>
    <t>A status reference as defined in <xref target="STATUS-LIST"/>.</t>
  </dd>
</dl>

<t>An RP <bcp14>MUST</bcp14> reject a receipt containing a member of a grant object or of <spanx style="verb">dlg_limits</spanx> that it does not
understand. Dropping an unknown restriction would widen authority.</t>

</section>
<section anchor="grants"><name>Grants and Attenuation</name>

<t>A grant object describes requests the delegate may make:</t>

<dl>
  <dt><spanx style="verb">host</spanx> (<bcp14>REQUIRED</bcp14>):</dt>
  <dd>
    <t>A DNS host name; or a wildcard, "<spanx style="verb">*.</spanx>" followed by a DNS host name, matching that name's proper
subdomains; or "<spanx style="verb">*</spanx>", matching any host. Host names are compared after lowercasing, removing one trailing dot and converting
to A-labels <xref target="RFC5891"/>. A "<spanx style="verb">*.</spanx>" pattern whose remainder is a public suffix <xref target="PSL"/> <bcp14>MUST</bcp14> be rejected. IP
literals are permitted only as exact values.</t>
  </dd>
  <dt><spanx style="verb">port</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>The TCP port. Default 443.</t>
  </dd>
  <dt><spanx style="verb">methods</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>HTTP methods <xref target="RFC9110"/>, case-sensitive. Default <spanx style="verb">["GET", "HEAD"]</spanx>.</t>
  </dd>
  <dt><spanx style="verb">paths</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>An array of path specifiers, each either an exact path or a prefix pattern ending in <spanx style="verb">/*</spanx>, which matches
the path before <spanx style="verb">/*</spanx> and any path below it. Default <spanx style="verb">["/*"]</spanx>.</t>
  </dd>
  <dt><spanx style="verb">tools</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>Tool or operation names the delegate may invoke, for example MCP tool names. If present, a request that
invokes a tool (as determined by the RP's protocol, for example an MCP <spanx style="verb">tools/call</spanx>) <bcp14>MUST</bcp14> name one of
them.</t>
  </dd>
  <dt><spanx style="verb">max_body_bytes</spanx> (<bcp14>OPTIONAL</bcp14>):</dt>
  <dd>
    <t>The largest request body allowed. Default 0.</t>
  </dd>
</dl>

<t>A child receipt <strong>attenuates</strong> its parent if and only if all of the following hold:</t>

<t><list style="numbers" type="1">
  <t>Every grant C in the child is covered by at least one grant P in the parent. C is covered by P when:
  <list style="symbols">
      <t>Host: C.host equals P.host; or P.host is <spanx style="verb">*</spanx>; or P.host is <spanx style="verb">*.D</spanx> and C.host, with any leading <spanx style="verb">*.</spanx>
removed, ends with <spanx style="verb">.D</spanx>.</t>
      <t>C.port equals P.port.</t>
      <t>C.methods is a subset of P.methods.</t>
      <t>Each path in C.paths is covered by some path in P.paths. If the P path is exact, the C path <bcp14>MUST</bcp14> be
the identical exact path. If the P path is a prefix pattern <spanx style="verb">p/*</spanx>, the C path (exact or pattern) <bcp14>MUST</bcp14>
equal <spanx style="verb">p</spanx> or begin with <spanx style="verb">p/</spanx>.</t>
      <t>If P.tools is present, C.tools is present and a subset of P.tools.</t>
      <t>C.max_body_bytes is no greater than P.max_body_bytes.</t>
    </list></t>
  <t>Every limit present in the parent is present in the child with a value no greater, and the same
currency.</t>
  <t>The child's <spanx style="verb">exp</spanx> is no later than the parent's.</t>
  <t>If the parent has <spanx style="verb">aud</spanx>, the child's <spanx style="verb">aud</spanx> is present and a subset of it.</t>
</list></t>

<t>This test is conservative. It may reject some children that are in fact narrower, but it never accepts
one that is broader. Implementations <bcp14>MUST NOT</bcp14> relax it.</t>

</section>
<section anchor="root-receipts"><name>Root Receipts</name>

<t>A root receipt has no <spanx style="verb">dlg_parent</spanx>. It <bcp14>MUST</bcp14> be signed by an authorisation server acting for the principal,
whose keys the RP obtains from its metadata <xref target="RFC8414"/>, and whose authority to speak for <spanx style="verb">sub</spanx> the RP
accepts by local policy. A root receipt is typically issued through Token Exchange <xref target="RFC8693"/>: the subject
token is the principal's, the actor token is the agent's passport, and <spanx style="verb">requested_token_type</spanx> is
<spanx style="verb">urn:ietf:params:oauth:token-type:agent-delegation</spanx>.</t>

<t>An agent <bcp14>MUST NOT</bcp14> issue a root receipt. Agent-to-agent delegation always uses a child receipt, so that
every step is checked against the step before it.</t>

</section>
<section anchor="chain-validation"><name>Chain Validation</name>

<t>Given the passports and the receipt chain presented with a request (<xref target="binding"/>), an RP:</t>

<t><list style="numbers" type="1">
  <t>Checks that the chain has at most 8 receipts, ordered from root to leaf.</t>
  <t>Validates the root receipt's signature with its authorisation server's key, and its <spanx style="verb">iat</spanx>, <spanx style="verb">exp</spanx>,
<spanx style="verb">aud</spanx> and status.</t>
  <t>For each child receipt, in order:
  <list style="numbers" type="1">
      <t>Finds the presented passport whose <spanx style="verb">sub</spanx> equals the child's <spanx style="verb">iss</spanx>, validates that passport
(<xref target="passport-validation"/>), and checks that its holder key's thumbprint equals the previous
receipt's <spanx style="verb">cnf.jkt</spanx>.</t>
      <t>Verifies the child's signature with that passport's <spanx style="verb">cnf.jwk</spanx>.</t>
      <t>Checks <spanx style="verb">dlg_parent</spanx> against the previous receipt, <spanx style="verb">sub</spanx> against the root's, and attenuation
(<xref target="grants"/>).</t>
      <t>Checks <spanx style="verb">iat</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">aud</spanx> and status.</t>
    </list></t>
  <t>Checks that the leaf's <spanx style="verb">cnf.jkt</spanx> is the thumbprint of the key that signed the request. If the leaf has
<spanx style="verb">dlg_build</spanx>, checks it against the acting agent's passport.</t>
  <t>Matches the request against the leaf's grants (<xref target="request-matching"/>).</t>
  <t>Checks limits: for every receipt in the chain, keyed by its <spanx style="verb">iss</spanx> and <spanx style="verb">jti</spanx>, the RP's count of requests
(and spend) accepted under that receipt, including this one, does not exceed its <spanx style="verb">dlg_limits</spanx>.</t>
  <t>Authorises the request as the principal <spanx style="verb">sub</spanx> would be authorised by the RP's own access control, and
permits it only if both that check and the grants allow it. Grants are a ceiling, never a grant of
access the principal lacks.</t>
</list></t>

<t>Limits are counted per RP. Unless a receipt's <spanx style="verb">aud</spanx> names exactly one RP, the effective limit across RPs
may be higher than any single value.</t>

</section>
<section anchor="request-matching"><name>Request Matching</name>

<t>A request matches a grant when:</t>

<t><list style="symbols">
  <t>Its scheme is <spanx style="verb">https</spanx>.</t>
  <t>Its host, normalised as in <xref target="grants"/>, matches the grant's <spanx style="verb">host</spanx>, and its port equals the grant's
<spanx style="verb">port</spanx>.</t>
  <t>Its method is in the grant's <spanx style="verb">methods</spanx>.</t>
  <t>Its path, normalised per <xref target="RFC3986"/> Section 6.2.2 (case normalisation, then percent-encoding
normalisation, then dot-segment removal, in that order), matches one of the grant's <spanx style="verb">paths</spanx>. The query
component is not matched. A request whose path contains <spanx style="verb">%2F</spanx>, <spanx style="verb">%5C</spanx> or <spanx style="verb">%00</spanx> after normalisation <bcp14>MUST
NOT</bcp14> match any grant.</t>
  <t>Its body is no larger than <spanx style="verb">max_body_bytes</spanx>.</t>
  <t>If the grant has <spanx style="verb">tools</spanx>, any tool the request invokes is listed.</t>
</list></t>

</section>
</section>
<section anchor="binding"><name>Binding to HTTP Requests</name>

<section anchor="header-fields"><name>Header Fields</name>

<t>This document defines two HTTP header fields, both Structured Fields <xref target="RFC9651"/>:</t>

<dl>
  <dt><spanx style="verb">Agent-Passport</spanx>:</dt>
  <dd>
    <t>A List whose members are Strings, each the JWS Compact Serialization of a passport. The first member is
the acting agent's passport. The remaining members are the passports of every agent that signed a child
receipt in the presented chain, in any order. Parameters <bcp14>MUST</bcp14> be ignored.</t>
  </dd>
  <dt><spanx style="verb">Agent-Delegation</spanx>:</dt>
  <dd>
    <t>A List whose members are Strings, each a receipt's JWS Compact Serialization, ordered from root to leaf.
Parameters <bcp14>MUST</bcp14> be ignored.</t>
  </dd>
</dl>

<t>A request <bcp14>MAY</bcp14> carry <spanx style="verb">Agent-Passport</spanx> without <spanx style="verb">Agent-Delegation</spanx>. It then conveys identity only, and no
delegated authority; what such a request may do is local policy.</t>

<t>Header sizes grow with chain length. Agents <bcp14>SHOULD</bcp14> keep chains short, and RPs <bcp14>SHOULD</bcp14> accept at least 16 KB
for the two fields combined.</t>

</section>
<section anchor="signing"><name>Signing</name>

<t>The acting agent <bcp14>MUST</bcp14> sign each request with its holder key using HTTP Message Signatures <xref target="RFC9421"/>,
with:</t>

<t><list style="symbols">
  <t>covered components including at least <spanx style="verb">"@method"</spanx>, <spanx style="verb">"@target-uri"</spanx> and <spanx style="verb">"agent-passport"</spanx>; and, when
present, <spanx style="verb">"agent-delegation"</spanx>, <spanx style="verb">"content-digest"</spanx> <xref target="RFC9530"/> and <spanx style="verb">"signature-agent"</spanx>;</t>
  <t>the <spanx style="verb">created</spanx>, <spanx style="verb">expires</spanx> and <spanx style="verb">nonce</spanx> parameters, with <spanx style="verb">expires</spanx> no more than 300 seconds after
<spanx style="verb">created</spanx>;</t>
  <t><spanx style="verb">keyid</spanx> set to the base64url SHA-256 JWK thumbprint of the holder key;</t>
  <t><spanx style="verb">tag</spanx> set to <spanx style="verb">agent-passport</spanx>.</t>
</list></t>

<t>A request with a body <bcp14>MUST</bcp14> carry <spanx style="verb">Content-Digest</spanx> and cover it.</t>

</section>
<section anchor="verification"><name>Verification</name>

<t>An RP:</t>

<t><list style="numbers" type="1">
  <t>Parses <spanx style="verb">Agent-Passport</spanx> and validates the first passport (<xref target="passport-validation"/>).</t>
  <t>Verifies the HTTP message signature with that passport's <spanx style="verb">cnf.jwk</spanx>. It rejects a signature whose
<spanx style="verb">created</spanx> is more than 60 seconds in the future, whose <spanx style="verb">expires</spanx> has passed, or whose <spanx style="verb">keyid</spanx> does not
match the key.</t>
  <t>Rejects the request if the <spanx style="verb">nonce</spanx> has already been accepted for the same <spanx style="verb">keyid</spanx> within the signature's
validity window plus 60 seconds.</t>
  <t>If <spanx style="verb">Agent-Delegation</spanx> is present, performs chain validation (<xref target="chain-validation"/>).</t>
  <t>Records the nonce.</t>
</list></t>

</section>
<section anchor="relationship-to-web-bot-auth"><name>Relationship to Web Bot Auth</name>

<t>The Web Bot Auth working group's documents let an agent identify a key directory with a <spanx style="verb">Signature-Agent</spanx>
field. An agent <bcp14>MAY</bcp14> send both <spanx style="verb">Signature-Agent</spanx> and <spanx style="verb">Agent-Passport</spanx> and sign once. In that case
<spanx style="verb">"signature-agent"</spanx> <bcp14>MUST</bcp14> be covered, and the key it resolves to <bcp14>MUST</bcp14> be the passport's holder key; an RP
that finds otherwise <bcp14>MUST</bcp14> reject the request.</t>

</section>
</section>
<section anchor="status"><name>Status and Revocation</name>

<t>Passports and receipts <bcp14>SHOULD</bcp14> carry a <spanx style="verb">status</spanx> claim referencing a Token Status List <xref target="STATUS-LIST"/>. RPs
<bcp14>SHOULD</bcp14> cache status lists for no longer than their time-to-live. An RP that cannot obtain a valid status
list <bcp14>SHOULD</bcp14> treat the token according to local policy, and <bcp14>SHOULD</bcp14> deny for high-value operations.</t>

<t>An issuer <bcp14>SHOULD</bcp14> revoke a passport when the controller reports compromise of the holder key, when the
build no longer matches (for example because a Tool Attestation named in <spanx style="verb">agent_build.tools</spanx> has been
withdrawn), or when the controller withdraws authorisation. Revoking a passport invalidates every chain in
which its holder delegated, because each such passport is validated during chain validation.</t>

</section>
<section anchor="transparency"><name>Transparency</name>

<t>Issuers <bcp14>SHOULD</bcp14> append each passport they issue, and each revocation, to an append-only, publicly verifiable
log following <xref target="RFC9162"/>, for example served as <xref target="TLOG-TILES"/>. A log lets controllers detect passports
issued in their name without authorisation, and lets anyone audit an issuer's history. This document does
not require RPs to check log inclusion.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="holder-key-compromise"><name>Holder Key Compromise</name>

<t>A stolen holder key lets an attacker act as the agent until its passport expires or is revoked. Lifetimes
are capped at 24 hours, and holder keys <bcp14>SHOULD</bcp14> be kept in hardware-backed or platform key stores.</t>

</section>
<section anchor="replay"><name>Replay</name>

<t>Requests carry a nonce and a short validity window; RPs keep a nonce cache per <spanx style="verb">keyid</spanx> (<xref target="binding"/>).
Passports and receipts are not request-bound. They <bcp14>MUST NOT</bcp14> be accepted without a valid request signature
from the key the leaf receipt is bound to.</t>

</section>
<section anchor="build-assertions-are-assertions"><name>Build Assertions Are Assertions</name>

<t><spanx style="verb">agent_build</spanx> states what the issuer was told or verified about the build. It does not prove the agent is
running it. RPs for whom this matters <bcp14>SHOULD</bcp14> accept passports only from issuers whose issuance policy
includes runtime attestation, and <bcp14>SHOULD</bcp14> pin build digests. <spanx style="verb">dlg_build</spanx> lets a delegator bind authority to
the build it approved, so a later build under the same key does not inherit it.</t>

</section>
<section anchor="attenuation-and-matching"><name>Attenuation and Matching</name>

<t>The coverage test (<xref target="grants"/>) and request matching (<xref target="request-matching"/>) are defined together. An
implementation that matches requests differently from how it tests coverage can be widened by the
difference. Normalisation order matters: decoding <spanx style="verb">%2E%2E</spanx> after dot-segment removal would let a request
escape a path prefix.</t>

</section>
<section anchor="ceiling-not-grant"><name>Ceiling, Not Grant</name>

<t>Grants never give a principal access it lacks. An RP that skipped the principal check in
<xref target="chain-validation"/> would let a receipt for <spanx style="verb">/accounts/*</spanx> reach every account, not only the principal's.</t>

</section>
<section anchor="controller-domain"><name>Controller Domain</name>

<t>Controller authorisation relies on the controller's origin. Loss of control of that origin lets an attacker
authorise issuers. RPs <bcp14>MAY</bcp14> pin issuers per controller. Withdrawn authorisations remain effective for as long
as RPs cache <spanx style="verb">agent-controller</spanx> documents, up to 24 hours.</t>

</section>
<section anchor="algorithms"><name>Algorithms</name>

<t>Implementations <bcp14>MUST</bcp14> follow <xref target="RFC8725"/>, <bcp14>MUST</bcp14> reject <spanx style="verb">none</spanx>, and <bcp14>SHOULD</bcp14> restrict accepted algorithms by
local policy.</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>A passport identifies an agent consistently across RPs, which allows correlation of its activity.
Controllers that need unlinkability across RPs <bcp14>SHOULD</bcp14> use distinct holder keys and passports per RP.
Configuration is disclosed only as a digest. Receipts identify the principal (<spanx style="verb">sub</spanx>) to every RP they are
shown to, and <spanx style="verb">purp</spanx> may reveal what the principal asked for; delegators <bcp14>SHOULD</bcp14> keep <spanx style="verb">purp</spanx> minimal and use
<spanx style="verb">aud</spanx> to limit which RPs see a receipt. The passports of intermediate agents are disclosed to the RP of the
acting agent.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="media-types"><name>Media Types</name>

<t>This document requests registration of the following media types per <xref target="RFC6838"/>:</t>

<t><list style="symbols">
  <t>Type name: application. Subtype name: agent-passport+jwt. Required parameters: none. Optional parameters:
none. Encoding considerations: 8bit; a JWS Compact Serialization, which is ASCII. Security considerations:
see <xref target="security-considerations"/>. Interoperability considerations: none. Published specification: this
document. Applications that use this media type: AI agents and the services that verify them. Fragment
identifier considerations: none. Additional information: none. Person and email address to contact: the
author. Intended usage: COMMON. Restrictions on usage: none. Author and change controller: IETF.</t>
  <t>Type name: application. Subtype name: agent-delegation+jwt. Other fields as above.</t>
</list></t>

</section>
<section anchor="json-web-token-claims"><name>JSON Web Token Claims</name>

<t>This document requests registration of the following claims in the "JSON Web Token Claims" registry. For
each, the Change Controller is IETF and the Reference is this document.</t>

<texttable>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Section</ttcol>
      <c><spanx style="verb">agent_controller</spanx></c>
      <c>Accountable controller origin of an agent</c>
      <c><xref target="passport-claims"/></c>
      <c><spanx style="verb">agent_build</spanx></c>
      <c>Description of an agent's build</c>
      <c><xref target="passport-claims"/></c>
      <c><spanx style="verb">agent_aliases</spanx></c>
      <c>Other identifiers for the same agent</c>
      <c><xref target="passport-claims"/></c>
      <c><spanx style="verb">dlg_parent</spanx></c>
      <c>Digest of the parent delegation receipt</c>
      <c><xref target="receipt-claims"/></c>
      <c><spanx style="verb">dlg_build</spanx></c>
      <c>Build digest the delegation is bound to</c>
      <c><xref target="receipt-claims"/></c>
      <c><spanx style="verb">dlg_grants</spanx></c>
      <c>Grants conveyed by a delegation receipt</c>
      <c><xref target="receipt-claims"/></c>
      <c><spanx style="verb">dlg_limits</spanx></c>
      <c>Limits on a delegation receipt</c>
      <c><xref target="receipt-claims"/></c>
</texttable>

</section>
<section anchor="http-field-names"><name>HTTP Field Names</name>

<t>This document requests registration in the "Hypertext Transfer Protocol (HTTP) Field Name Registry":</t>

<texttable>
      <ttcol align='left'>Field Name</ttcol>
      <ttcol align='left'>Status</ttcol>
      <ttcol align='left'>Structured Type</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>Agent-Passport</c>
      <c>permanent</c>
      <c>List</c>
      <c><xref target="binding"/></c>
      <c>Agent-Delegation</c>
      <c>permanent</c>
      <c>List</c>
      <c><xref target="binding"/></c>
</texttable>

</section>
<section anchor="well-known-uris"><name>Well-Known URIs</name>

<t>This document requests registration in the "Well-Known URIs" registry <xref target="RFC8615"/>:</t>

<texttable>
      <ttcol align='left'>URI Suffix</ttcol>
      <ttcol align='left'>Change Controller</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <ttcol align='left'>Status</ttcol>
      <c>agent-controller</c>
      <c>IETF</c>
      <c><xref target="controller-authorisation"/></c>
      <c>permanent</c>
      <c>agent-passport-issuer</c>
      <c>IETF</c>
      <c><xref target="issuer-metadata"/></c>
      <c>permanent</c>
</texttable>

</section>
<section anchor="oauth-uri"><name>OAuth URI</name>

<t>This document requests registration of <spanx style="verb">urn:ietf:params:oauth:token-type:agent-delegation</spanx> in the "OAuth
URI" registry, with Common Name "Agent Delegation Receipt", Change Controller IETF and Reference
<xref target="root-receipts"/>.</t>

</section>
<section anchor="grant-members"><name>Grant Members</name>

<t>This document requests creation of an "Agent Delegation Grant Members" registry (Specification Required),
initially containing <spanx style="verb">host</spanx>, <spanx style="verb">port</spanx>, <spanx style="verb">methods</spanx>, <spanx style="verb">paths</spanx>, <spanx style="verb">tools</spanx> and <spanx style="verb">max_body_bytes</spanx>. Each registration
<bcp14>MUST</bcp14> state how the member is compared for attenuation. Because RPs reject unknown members
(<xref target="receipt-claims"/>), a new member is safe to deploy: RPs that don't understand it refuse the receipt
rather than ignore the restriction.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">




<reference anchor="RFC3986"><front><title>Uniform Resource Identifier (URI): Generic Syntax</title><author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"><organization/></author><author fullname="R. Fielding" initials="R." surname="Fielding"><organization/></author><author fullname="L. Masinter" initials="L." surname="Masinter"><organization/></author><date month="January" year="2005"/></front><seriesInfo name="RFC" value="3986"/><seriesInfo name="DOI" value="10.17487/RFC3986"/></reference>

<reference anchor="RFC5891"><front><title>Internationalized Domain Names in Applications (IDNA): Protocol</title><author fullname="J. Klensin" initials="J." surname="Klensin"><organization/></author><date month="August" year="2010"/></front><seriesInfo name="RFC" value="5891"/><seriesInfo name="DOI" value="10.17487/RFC5891"/></reference>

<reference anchor="RFC6454"><front><title>The Web Origin Concept</title><author fullname="A. Barth" initials="A." surname="Barth"><organization/></author><date month="December" year="2011"/></front><seriesInfo name="RFC" value="6454"/><seriesInfo name="DOI" value="10.17487/RFC6454"/></reference>

<reference anchor="RFC6838"><front><title>Media Type Specifications and Registration Procedures</title><author fullname="N. Freed" initials="N." surname="Freed"><organization/></author><author fullname="J. Klensin" initials="J." surname="Klensin"><organization/></author><author fullname="T. Hansen" initials="T." surname="Hansen"><organization/></author><date month="January" year="2013"/></front><seriesInfo name="RFC" value="6838"/><seriesInfo name="DOI" value="10.17487/RFC6838"/></reference>

<reference anchor="RFC6920"><front><title>Naming Things with Hashes</title><author fullname="S. Farrell" initials="S." surname="Farrell"><organization/></author><author fullname="D. Kutscher" initials="D." surname="Kutscher"><organization/></author><author fullname="C. Dannewitz" initials="C." surname="Dannewitz"><organization/></author><author fullname="B. Ohlman" initials="B." surname="Ohlman"><organization/></author><author fullname="A. Keranen" initials="A." surname="Keranen"><organization/></author><author fullname="P. Hallam-Baker" initials="P." surname="Hallam-Baker"><organization/></author><date month="April" year="2013"/></front><seriesInfo name="RFC" value="6920"/><seriesInfo name="DOI" value="10.17487/RFC6920"/></reference>

<reference anchor="RFC7515"><front><title>JSON Web Signature (JWS)</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="J. Bradley" initials="J." surname="Bradley"><organization/></author><author fullname="N. Sakimura" initials="N." surname="Sakimura"><organization/></author><date month="May" year="2015"/></front><seriesInfo name="RFC" value="7515"/><seriesInfo name="DOI" value="10.17487/RFC7515"/></reference>

<reference anchor="RFC7517"><front><title>JSON Web Key (JWK)</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><date month="May" year="2015"/></front><seriesInfo name="RFC" value="7517"/><seriesInfo name="DOI" value="10.17487/RFC7517"/></reference>

<reference anchor="RFC7519"><front><title>JSON Web Token (JWT)</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="J. Bradley" initials="J." surname="Bradley"><organization/></author><author fullname="N. Sakimura" initials="N." surname="Sakimura"><organization/></author><date month="May" year="2015"/></front><seriesInfo name="RFC" value="7519"/><seriesInfo name="DOI" value="10.17487/RFC7519"/></reference>

<reference anchor="RFC7638"><front><title>JSON Web Key (JWK) Thumbprint</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="N. Sakimura" initials="N." surname="Sakimura"><organization/></author><date month="September" year="2015"/></front><seriesInfo name="RFC" value="7638"/><seriesInfo name="DOI" value="10.17487/RFC7638"/></reference>

<reference anchor="RFC7800"><front><title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="J. Bradley" initials="J." surname="Bradley"><organization/></author><author fullname="H. Tschofenig" initials="H." surname="Tschofenig"><organization/></author><date month="April" year="2016"/></front><seriesInfo name="RFC" value="7800"/><seriesInfo name="DOI" value="10.17487/RFC7800"/></reference>

<reference anchor="RFC8037"><front><title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title><author fullname="I. Liusvaara" initials="I." surname="Liusvaara"><organization/></author><date month="January" year="2017"/></front><seriesInfo name="RFC" value="8037"/><seriesInfo name="DOI" value="10.17487/RFC8037"/></reference>

<reference anchor="RFC8414"><front><title>OAuth 2.0 Authorization Server Metadata</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="N. Sakimura" initials="N." surname="Sakimura"><organization/></author><author fullname="J. Bradley" initials="J." surname="Bradley"><organization/></author><date month="June" year="2018"/></front><seriesInfo name="RFC" value="8414"/><seriesInfo name="DOI" value="10.17487/RFC8414"/></reference>

<reference anchor="RFC8615"><front><title>Well-Known Uniform Resource Identifiers (URIs)</title><author fullname="M. Nottingham" initials="M." surname="Nottingham"><organization/></author><date month="May" year="2019"/></front><seriesInfo name="RFC" value="8615"/><seriesInfo name="DOI" value="10.17487/RFC8615"/></reference>

<reference anchor="RFC8693"><front><title>OAuth 2.0 Token Exchange</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="A. Nadalin" initials="A." surname="Nadalin"><organization/></author><author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"><organization/></author><author fullname="J. Bradley" initials="J." surname="Bradley"><organization/></author><author fullname="C. Mortimore" initials="C." surname="Mortimore"><organization/></author><date month="January" year="2020"/></front><seriesInfo name="RFC" value="8693"/><seriesInfo name="DOI" value="10.17487/RFC8693"/></reference>

<reference anchor="RFC8725"><front><title>JSON Web Token Best Current Practices</title><author fullname="Y. Sheffer" initials="Y." surname="Sheffer"><organization/></author><author fullname="D. Hardt" initials="D." surname="Hardt"><organization/></author><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><date month="February" year="2020"/></front><seriesInfo name="RFC" value="8725"/><seriesInfo name="DOI" value="10.17487/RFC8725"/></reference>

<reference anchor="RFC8785"><front><title>JSON Canonicalization Scheme (JCS)</title><author fullname="A. Rundgren" initials="A." surname="Rundgren"><organization/></author><author fullname="B. Jordan" initials="B." surname="Jordan"><organization/></author><author fullname="S. Erdtman" initials="S." surname="Erdtman"><organization/></author><date month="June" year="2020"/></front><seriesInfo name="RFC" value="8785"/><seriesInfo name="DOI" value="10.17487/RFC8785"/></reference>

<reference anchor="RFC9110"><front><title>HTTP Semantics</title><author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"><organization/></author><author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"><organization/></author><author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"><organization/></author><date month="June" year="2022"/></front><seriesInfo name="RFC" value="9110"/><seriesInfo name="DOI" value="10.17487/RFC9110"/></reference>

<reference anchor="RFC9278"><front><title>JWK Thumbprint URI</title><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="K. Yasuda" initials="K." surname="Yasuda"><organization/></author><date month="August" year="2022"/></front><seriesInfo name="RFC" value="9278"/><seriesInfo name="DOI" value="10.17487/RFC9278"/></reference>

<reference anchor="RFC9421"><front><title>HTTP Message Signatures</title><author fullname="A. Backman" initials="A." role="editor" surname="Backman"><organization/></author><author fullname="J. Richer" initials="J." role="editor" surname="Richer"><organization/></author><author fullname="M. Sporny" initials="M." surname="Sporny"><organization/></author><date month="February" year="2024"/></front><seriesInfo name="RFC" value="9421"/><seriesInfo name="DOI" value="10.17487/RFC9421"/></reference>

<reference anchor="RFC9530"><front><title>Digest Fields</title><author fullname="R. Polli" initials="R." surname="Polli"><organization/></author><author fullname="L. Pardue" initials="L." surname="Pardue"><organization/></author><date month="February" year="2024"/></front><seriesInfo name="RFC" value="9530"/><seriesInfo name="DOI" value="10.17487/RFC9530"/></reference>

<reference anchor="RFC9651"><front><title>Structured Field Values for HTTP</title><author fullname="M. Nottingham" initials="M." surname="Nottingham"><organization/></author><author fullname="P-H. Kamp" initials="" surname="P-H. Kamp"><organization/></author><date month="September" year="2024"/></front><seriesInfo name="RFC" value="9651"/><seriesInfo name="DOI" value="10.17487/RFC9651"/></reference>

<reference anchor="STATUS-LIST"><front><title>Token Status List (TSL)</title><author fullname="Tobias Looker" initials="T." surname="Looker"><organization>MATTR</organization></author><author fullname="Paul Bastian" initials="P." surname="Bastian"><organization>Bundesdruckerei</organization></author><author fullname="Christian Bormann" initials="C." surname="Bormann"><organization>SPRIND</organization></author><date day="20" month="April" year="2026"/></front><seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-20"/></reference>

<reference anchor="ISO4217" target="https://www.iso.org/iso-4217-currency-codes.html">
  <front>
    <title>Codes for the representation of currencies</title>
    <author >
      <organization>ISO</organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="ISO" value="4217"/>
</reference>



<reference anchor="RFC2119"><front><title>Key words for use in RFCs to Indicate Requirement Levels</title><author fullname="S. Bradner" initials="S." surname="Bradner"><organization/></author><date month="March" year="1997"/></front><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"><organization/></author><date month="May" year="2017"/></front><seriesInfo name="RFC" value="8174"/><seriesInfo name="DOI" value="10.17487/RFC8174"/></reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="RFC6749"><front><title>The OAuth 2.0 Authorization Framework</title><author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"><organization/></author><date month="October" year="2012"/></front><seriesInfo name="RFC" value="6749"/><seriesInfo name="DOI" value="10.17487/RFC6749"/></reference>

<reference anchor="RFC8792"><front><title>Handling Long Lines in Content of Internet-Drafts and RFCs</title><author fullname="K. Watsen" initials="K." surname="Watsen"><organization/></author><author fullname="E. Auerswald" initials="E." surname="Auerswald"><organization/></author><author fullname="A. Farrel" initials="A." surname="Farrel"><organization/></author><author fullname="Q. Wu" initials="Q." surname="Wu"><organization/></author><date month="June" year="2020"/></front><seriesInfo name="RFC" value="8792"/><seriesInfo name="DOI" value="10.17487/RFC8792"/></reference>

<reference anchor="RFC9162"><front><title>Certificate Transparency Version 2.0</title><author fullname="B. Laurie" initials="B." surname="Laurie"><organization/></author><author fullname="E. Messeri" initials="E." surname="Messeri"><organization/></author><author fullname="R. Stradling" initials="R." surname="Stradling"><organization/></author><date month="December" year="2021"/></front><seriesInfo name="RFC" value="9162"/><seriesInfo name="DOI" value="10.17487/RFC9162"/></reference>

<reference anchor="RFC9396"><front><title>OAuth 2.0 Rich Authorization Requests</title><author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"><organization/></author><author fullname="J. Richer" initials="J." surname="Richer"><organization/></author><author fullname="B. Campbell" initials="B." surname="Campbell"><organization/></author><date month="May" year="2023"/></front><seriesInfo name="RFC" value="9396"/><seriesInfo name="DOI" value="10.17487/RFC9396"/></reference>

<reference anchor="RFC9449"><front><title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title><author fullname="D. Fett" initials="D." surname="Fett"><organization/></author><author fullname="B. Campbell" initials="B." surname="Campbell"><organization/></author><author fullname="J. Bradley" initials="J." surname="Bradley"><organization/></author><author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"><organization/></author><author fullname="M. Jones" initials="M." surname="Jones"><organization/></author><author fullname="D. Waite" initials="D." surname="Waite"><organization/></author><date month="September" year="2023"/></front><seriesInfo name="RFC" value="9449"/><seriesInfo name="DOI" value="10.17487/RFC9449"/></reference>

<reference anchor="WIMSE-S2S"><front><title>WIMSE Workload-to-Workload Authentication</title><author fullname="Brian Campbell" initials="B." surname="Campbell"><organization>Ping Identity</organization></author><author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey"><organization>CyberArk</organization></author><author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster"><organization>SPIRL</organization></author><author fullname="Yaron Sheffer" initials="Y." surname="Sheffer"><organization>Intuit</organization></author><date day="16" month="October" year="2025"/></front><seriesInfo name="Internet-Draft" value="draft-ietf-wimse-s2s-protocol-07"/></reference>

<reference anchor="TXN-TOKENS"><front><title>Transaction Tokens</title><author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale"><organization>CrowdStrike</organization></author><author fullname="George Fletcher" initials="G." surname="Fletcher"><organization>Practical Identity LLC</organization></author><author fullname="Pieter Kasselman" initials="P." surname="Kasselman"><organization>Defakto Security</organization></author><date day="2" month="March" year="2026"/></front><seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-08"/></reference>

<reference anchor="AIAGENT-AUTH"><front><title>AI Agent Authentication and Authorization</title><author fullname="Pieter Kasselman" initials="P." surname="Kasselman"><organization>Defakto Security</organization></author><author fullname="Jeff Lombardo" initials="J." surname="Lombardo"><organization>AWS</organization></author><author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho"><organization>Zscaler</organization></author><author fullname="Brian Campbell" initials="B." surname="Campbell"><organization>Ping Identity</organization></author><author fullname="Nick Steele" initials="N." surname="Steele"><organization>Open AI</organization></author><date day="30" month="March" year="2026"/></front><seriesInfo name="Internet-Draft" value="draft-klrc-aiagent-auth-01"/></reference>

<reference anchor="AAUTH"><front><title>AAuth Protocol</title><author fullname="Dick Hardt" initials="D." surname="Hardt"><organization>Hellō</organization></author><date day="29" month="April" year="2026"/></front><seriesInfo name="Internet-Draft" value="draft-hardt-oauth-aauth-protocol-00"/></reference>

<reference anchor="WEB-BOT-AUTH" target="https://datatracker.ietf.org/wg/webbotauth/about/">
  <front>
    <title>IETF Web Bot Auth Working Group</title>
    <author >
      <organization>IETF</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="SPIFFE" target="https://spiffe.io/docs/latest/spiffe-about/overview/">
  <front>
    <title>Secure Production Identity Framework for Everyone (SPIFFE)</title>
    <author >
      <organization>CNCF</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="IN-TOTO" target="https://github.com/in-toto/attestation">
  <front>
    <title>in-toto Attestation Framework</title>
    <author >
      <organization>in-toto project</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="TLOG-TILES" target="https://c2sp.org/tlog-tiles">
  <front>
    <title>C2SP tlog-tiles</title>
    <author >
      <organization>C2SP</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="MCP" target="https://modelcontextprotocol.io/specification">
  <front>
    <title>Model Context Protocol Specification</title>
    <author >
      <organization>Model Context Protocol project</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="PSL" target="https://publicsuffix.org/">
  <front>
    <title>Public Suffix List</title>
    <author >
      <organization>Mozilla Foundation</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 702?>

<section anchor="examples"><name>Examples</name>

<t><spanx style="verb">TP-A</spanx> and <spanx style="verb">TP-B</spanx> stand for the JWK Thumbprint URIs (<spanx style="verb">urn:ietf:params:oauth:jwk-thumbprint:sha-256:...</spanx>)
of agents A and B; <spanx style="verb">jkt-A</spanx> and <spanx style="verb">jkt-B</spanx> for the corresponding bare base64url thumbprints. Values are
shortened with an ellipsis ("...").</t>

<section anchor="passport-agent-b"><name>Passport (Agent B)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "iss": "https://issuer.example",
  "sub": "TP-B",
  "cnf": {"jwk": {"kty": "OKP", "crv": "Ed25519",
                  "x": "11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrw..."}},
  "agent_controller": "https://example.com",
  "agent_build": {
    "model": "examplevendor/model-2026-09",
    "config": {"alg": "sha-256", "val": "X48E9qOokqqrvdts8nOJR..."},
    "tools": [{"id": "io.github.example/ledger-mcp",
               "attestation": {"alg": "sha-256", "val": "Gk1D..."}}]
  },
  "agent_aliases": ["spiffe://example.com/agent/statements"],
  "iat": 1793270400,
  "exp": 1793356800,
  "jti": "5f0c...",
  "status": {"status_list": {
    "idx": 4211, "uri": "https://issuer.example/status/1"}}
}
]]></sourcecode></figure>

</section>
<section anchor="delegation-chain"><name>Delegation Chain</name>

<t>A principal, through their organisation's authorisation server, lets agent A read account data; agent A
lets agent B read only one account's statements.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "iss": "https://login.example.com",
  "sub": "user:4412",
  "cnf": {"jkt": "jkt-A"},
  "dlg_grants": [{"host": "api.bank.example", "methods": ["GET"],
                  "paths": ["/accounts/*"]}],
  "dlg_limits": {"max_calls": 500},
  "purp": "reconcile October statements",
  "iat": 1793271000, "exp": 1793300000, "jti": "r1..."
}
]]></sourcecode></figure>

<figure><sourcecode type="json"><![CDATA[
{
  "iss": "TP-A",
  "sub": "user:4412",
  "cnf": {"jkt": "jkt-B"},
  "act": {"sub": "TP-B", "act": {"sub": "TP-A"}},
  "dlg_parent": {"alg": "sha-256", "val": "8Jq3..."},
  "dlg_grants": [{"host": "api.bank.example", "methods": ["GET"],
                  "paths": ["/accounts/123/statements/*"]}],
  "dlg_limits": {"max_calls": 50},
  "iat": 1793271100, "exp": 1793280000, "jti": "r2..."
}
]]></sourcecode></figure>

</section>
<section anchor="request"><name>Request</name>

<t>Agent B sends its own passport first, then agent A's, because agent A signed the child receipt. Long
lines are folded as described in <xref target="RFC8792"/>.</t>

<figure><sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

GET /accounts/123/statements/2026-10 HTTP/1.1
Host: api.bank.example
Agent-Passport: "eyJ0eXAiOiJhZ2VudC1wYXNzcG9ydCtqd3Qi...(B)", \
  "eyJ0eXAiOiJhZ2VudC1wYXNzcG9ydCtqd3Qi...(A)"
Agent-Delegation: "eyJ0eXAiOiJhZ2VudC1kZWxlZ2F0aW9u...(r1)", \
  "eyJ0eXAi...(r2)"
Signature-Input: ap=("@method" "@target-uri" "agent-passport" \
  "agent-delegation");created=1793271200;expires=1793271260;\
  nonce="b3k2...";keyid="jkt-B";tag="agent-passport"
Signature: ap=:wqcAqbmYJ2ji2glfAMaRy4gruYYnx2nEFN2HN6jrnDnQCK1u02G\
  b04v9EDgwUPiu4A0w6vuQv5lIp5WPpBKRCw==:
]]></sourcecode></figure>

</section>
</section>
<section anchor="open-issues"><name>Open Issues</name>

<t><list style="symbols">
  <t>Expressing grants as an RFC 9396 <spanx style="verb">authorization_details</spanx> type <xref target="RFC9396"/>, so that authorisation servers
already supporting rich authorisation requests can issue root receipts directly.</t>
  <t>Profiling the passport as, or alongside, a WIMSE workload identity token <xref target="WIMSE-S2S"/>.</t>
  <t>A claim carrying a transparency-log inclusion proof.</t>
  <t>A root receipt form signed directly by the principal's authenticator (WebAuthn).</t>
  <t>A registry of <spanx style="verb">agent_build.model</spanx> identifiers, or leaving them vendor-defined.</t>
  <t>Interaction with Transaction Tokens <xref target="TXN-TOKENS"/> for propagation within one trust domain.</t>
  <t>Whether <spanx style="verb">dlg_limits</spanx> accounting should be shared between RPs.</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA71963bb1rXufzwFDjM6bGmT1MWyLNNNWlqWEyW2pVpK3bQ7
IwTJRQkRCDAAKJm13WfZz3Ke7MxvzrkuACnncsbYGm1MgsC6zDXvN/R6vahO
68wM4s7wyuR1fJ5U1aIo6ypO8mn8wmTmKqnTIo/fmolJF3R9VpTxcFkXeTEv
llV8Uczqu6Q0MT9fdaJkPC7N7fqAnWiS1OaqKFeDuKqn0bSY5MmcZp6Wyazu
ZaaX4IHeQh/o7e5G1XI8T6uK5q9XC7r19OTyZZQv52NTDqIpDTeIJkVembxa
VoO4LpcmopkfRTdmdVeU00EU9+LhacwDV/jCn+J0Sv9N6xWuTN0W8e2by8vz
eG6qim6Mq/QqT+plafjRukzyakE7zSerKFnW10WJ8aOY/mbLLJPNPDd5/Mrw
xaK8SvL03zz2gOA3ra9Lk0zjCzNZljw7/Zl5kmaDeGzyfmb+WtqbKjPpT4p5
FOVFOacRbmmncfz25fGjp0eH+vHx0dM9/Xh48PjAfjx6dGQ/Pt3f1Y9PHu89
9h+f+I9P7cdD99iTo1372NHuI3vv0cGeneLo0A12dPj0kf34ZN9dfXJkPz7d
27ODPd1/Yqd4erBvl/708SN3w+FjvnpxObz8/qL36vTiko6896KfmnrWKwDz
XlXTiVS9LK1quvP04oxG4iXGsUXk42JqBE3raxOXZkEHSOctaFzMYoI+DjE1
hJL8XFJemXoQX9f1ohrs7Nzd3fXTqujT+e3Qvz3M0NOHVr0JRu9f1/OMH3aI
wH89HPoAy+ILlSlpljSfFfYG+mUQY8AowuXm2R4+OXjqIPh030Hw0H189PTQ
QVDufXf6+uKkd7F/EUDqLp1XplftV71FWdTFpMBSL//xpnd59t3Jm4s1mDJm
JxPAp1cXN0RNdP/wdPj1yZvL3vD7y2/kiZusnPSSVKgUD+Iu//N1Uk5rHTHh
/wazvzt53nt+pqM1TgskHb8z4/h5UYOvXMfvivImza/ir8tiudh8RET6Ca16
cmNK3gif1R39z4zHRY3Jd5Jxsax3PnNGYCWEa+enL1+eNJfEBGri87KYLhkq
8akyjPhlSVROrOWG8evk1pSrIjfxQxlma/Nqq0U6m5l+WuwQz6t2MuJbVa1X
e7LOgka6Tc3dZxZ8/OYYCz7FMV6eNVec4uDqIh7WGFow3S1186Ku0vp6OQaT
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
9ysHBwd7+y2yu+E+UMxTBNk6XlEVfIPowD1ER/1xkt94giY6EDHCOIEi2R83
UihLGL4n8H52fvz0o5tPFFlekWs+QN8e7+7KmuCmwRrw7l06GbJgziZ1AUEQ
oNsatu3tEmI1cG13Vy4pppV7wDOLDBuhC07/OwH5XAEpPbY+NHnepstDy5i8
CfN5Ij369pdHjjv8Lx3Y3v6jgLZ/6/l9Wj+Uvdah7B+1DmU/PBSf2K0vrrm3
J7dkSGl2smsc7gPgliKDColGQQ2c4flVlMmrCrmNcTaVoHKrdRK7i5/us6oH
pAEF9jTBCu9QOhnED/77Qcwv3bkrE+lvwB7Tl8cxnowign18L2xZgOztsmm2
s9ffi6Rgt32eUdPwgTRafbtr/jFMz9Jvr/+5//fl9Hjv7od/vPn35Ounq+lx
/cv00d9SAu7D51uEC//NfPg3PjHc6kRtm2nzhDf/fPc+++f+y93k3dMlHi33
1mbjy/s0pE8ROs0XS97jlw9dgmPcyG6M23mNMuZaDuPWM01M+1IRbn9395mG
rN2lw91n/y1eyIn5sjN+dMNI94xDv18qFT+rk6sv25P6JfNiB3e/TIa/jOc/
fLv/c7p/lc2Gr5O3q4OrcvnDD/n7/fzk5Zv9b94c/lzmL/K/HX+3t9zd/xoT
j3cPbp+evLi6+/48XR4Md+8Ob5d/u32cnS4evztfPP/u7fHdl18OlATiswWh
NKdd8DvaTt4jraySnC6p5uDQAdDr6aOnhyi3YMEkrtKfpmSUpVDt2Z0mSRR0
G8IdWuK3uZsj3H+aQadNyzFlyQGIVqDJReA3vzpQkskyftnZOb9L1DZ1Dhrv
yfuWEPmBQxMK/+94H7K8wlXSqPyLY9HvwmWu9BoJFohfFzN5rFEvyrkGyiTs
ul2XyOAVksFrVGndD9+ZMQzOfEuHtJYarNgwTUg7Xgd+Lt53ZpJbhck8FnWy
pwFcrjSAg1pfR8xq+q+/n5gbmJXFIlHt5p43FGP0d/o6u4ZTSbkTFkUmgtYq
kSziunptJEo2F/HA/weMtqQOZokAAA==

-->

</rfc>

