<?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.31 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-nandakumar-agent-sd-card-00" category="info" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Agent SD-Card">Agent SD-Card: Selective Disclosure of Agent Metadata for Discovery and Authentication</title>
    <seriesInfo name="Internet-Draft" value="draft-nandakumar-agent-sd-card-00"/>
    <author fullname="Suhas Nandakumar">
      <organization>Cisco</organization>
      <address>
        <email>snandaku@cisco.com</email>
      </address>
    </author>
    <author fullname="Cullen Jennings">
      <organization>Cisco</organization>
      <address>
        <email>flufy@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="31"/>
    <area>Security</area>
    <keyword>agent-to-agent</keyword>
    <keyword>model context protocol</keyword>
    <keyword>personal agent protocol</keyword>
    <keyword>selective disclosure</keyword>
    <keyword>JWT</keyword>
    <keyword>privacy</keyword>
    <keyword>identity management</keyword>
    <abstract>
      <?line 77?>

<t>This document defines SD-Card, an SD-JWT encoding of AI agent metadata
that lets an agent reveal to each verifier only the capabilities,
endpoints, and security requirements it is authorized to see, while the
verifier can check that they are authentic and issuer-attested. SD-Card
keeps agent metadata confidential; it does not make agents anonymous.
The document specifies the SD-Card data model, issuance, discovery, and
key-bound presentation, and defines bindings for the Model Context
Protocol (MCP), the Personal Agent Protocol (PAP), and the Agent2Agent
(A2A) protocol.</t>
    </abstract>
  </front>
  <middle>
    <?line 89?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Agent ecosystems publish machine-readable metadata so that clients can
discover what an agent or service does and how to reach it. The Model
Context Protocol (MCP) <xref target="MCP-SPEC"/> exposes server information and lists
of tools, resources, and prompts for agent-to-tool interaction. The
Personal Agent Protocol (PAP) <xref target="PAP-SPEC"/> has Companies publish a
discovery document for the personal agents that act for their
customers. The Agent2Agent (A2A) protocol <xref target="A2A-SPEC"/> defines Agent
Cards for agent-to-agent interaction. Other agent frameworks and
registries define similar documents.</t>
      <t>These documents have the following limitations:</t>
      <ol spacing="normal" type="1"><li>
          <t>Information Leakage: A metadata document reveals all of an agent's
capabilities, endpoints, and security requirements to anyone who
retrieves it, which also lets attackers enumerate them.</t>
        </li>
        <li>
          <t>Limited Authentication: Signing of metadata is optional (A2A) or
absent (MCP), covers the whole document so it cannot be combined with
selective disclosure, does not prove that the presenter holds the
signing key, and conveys no third-party attestation beyond control of
a domain. Nothing prevents an MCP server from changing tool
descriptions after a client has approved them.</t>
        </li>
        <li>
          <t>Static Disclosure: Every client receives the same document; an agent
cannot vary what it reveals with the client's authorization.</t>
        </li>
        <li>
          <t>Requester Exposure: Clients reveal which agents they are looking
for to every server and registry they query.</t>
        </li>
      </ol>
      <t>This document specifies SD-Card, an SD-JWT <xref target="RFC9901"/> encoding of agent
metadata. An Agent Registry attests an agent's metadata once. The agent
then reveals to each verifier only the claims that verifier is
authorized to see, and proves possession of the key bound to the
SD-Card. The verifier checks that each disclosed claim is attested by
the issuer and unmodified. A client that only needs to show that it is
authorized for a discovery context can do so without identifying
itself, using Privacy Pass <xref target="RFC9576"/>. Agents and clients that do not
support SD-Card continue to use the native metadata documents.</t>
      <t>The privacy that SD-Card provides is confidentiality of agent metadata
toward verifiers: each verifier learns only the claims disclosed to it.
SD-Card does not hide the agent's identity, which is always disclosed,
and presentations of the same SD-Card can be linked. Separate SD-Cards
with different keys reduce this correlation (<xref target="issuance"/>).</t>
      <t>The core of this document is independent of any agent protocol. It
covers the architecture (<xref target="overview"/>), the SD-Card data model
(<xref target="data-model"/>), issuance (<xref target="issuance"/>), discovery
(<xref target="core-discovery"/>), presentation and verification (<xref target="authn"/>), and use
with OAuth and workload identity (<xref target="oauth-wimse"/>). Protocol Bindings
(<xref target="bindings"/>) map the metadata document of a specific protocol onto the
core. This document defines
bindings for MCP (<xref target="mcp-binding"/>), PAP (<xref target="pap-binding"/>), and A2A
(<xref target="a2a-binding"/>); other specifications can define additional bindings
following <xref target="binding-reqs"/>.</t>
      <section anchor="terminology">
        <name>Terminology</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>Agent: Software that acts autonomously on behalf of a user or
organization and exposes an interface to clients. In this document the
term also covers other holders of SD-Cards, such as MCP servers that
expose tools to agents and PAP Companies.</t>
        <t>Native Metadata Document: The metadata document defined by an agent
protocol to describe an agent, for example an A2A Agent Card or the
server information and tool lists of an MCP server.</t>
        <t>SD-Card: An agent's metadata encoded as an SD-JWT VC, as defined in
this document, that enables selective disclosure of that metadata.</t>
        <t>Protocol Binding: A specification that defines how the Native Metadata
Document of a particular agent protocol is represented as an SD-Card,
how it is discovered, and how it is presented within that protocol.</t>
        <t>Agent Registry: A trusted service that issues SD-Cards for agents within
a domain or federation.</t>
        <t>Verifier: A party that receives and verifies an SD-Card presentation,
such as a client, a PAP Company, or an authorization server.</t>
        <t>Discovery Context: A named level of authorization, such as "public" or
"internal", that determines which claims an SD-Card presentation
discloses (<xref target="role-based"/>).</t>
        <t>Key Binding: Cryptographic proof that the presenter of an SD-Card
possesses the private key corresponding to the public key in the
SD-Card's <tt>cnf</tt> claim.</t>
      </section>
      <section anchor="notation">
        <name>Notational Conventions</name>
        <t>This document follows SD-JWT <xref target="RFC9901"/> conventions:</t>
        <ul spacing="normal">
          <li>
            <t>Base64url encoding for binary data</t>
          </li>
          <li>
            <t>JWS <xref target="RFC7515"/> for signed tokens</t>
          </li>
          <li>
            <t>SHA-256 as the default hash algorithm for selective disclosure</t>
          </li>
          <li>
            <t>Tilde (~) separator for SD-JWT serialization, where the Key Binding
JWT is present only in key-bound presentations:</t>
          </li>
        </ul>
        <artwork><![CDATA[
<Issuer-signed JWT>~<Disclosure 1>~...~<Disclosure N>~[<KB-JWT>]
]]></artwork>
      </section>
    </section>
    <section anchor="overview">
      <name>Architecture</name>
      <t>SD-Card involves three roles. An Agent Registry is the issuer, the agent
is the holder, and a verifier is any party that relies on the agent's
metadata:</t>
      <figure anchor="fig-arch">
        <name>SD-Card Roles and Flows</name>
        <artwork><![CDATA[
+------------------+  (1) Register        +------------------+
|  Agent Registry  |<---------------------|      Agent       |
|     (Issuer)     |--------------------->|     (Holder)     |
+------------------+  (2) Issue SD-Card   +------------------+
         ^                                         |
         | (3) Discover                            | (4) Present
         |     (registry query, or                 |     selected
         |      well-known URI of the agent)       |     disclosures
         |                                         |     + Key Binding
         |                                         v
         |                                +------------------+
         +--------------------------------|     Verifier     |
                                          +------------------+
]]></artwork>
      </figure>
      <ol spacing="normal" type="1"><li>
          <t>Register: The agent gives the Agent Registry its Native Metadata
Document and the public key it will use for key binding, and the
registry verifies the agent's identity and its authority to claim the
metadata (<xref target="issuance"/>).</t>
        </li>
        <li>
          <t>Issue: The registry issues an SD-Card that encodes the metadata
according to the Protocol Binding, with the agent's key in <tt>cnf</tt>.</t>
        </li>
        <li>
          <t>Discover: A verifier finds the agent through a registry query or the
agent's well-known URI, and receives a presentation with the
disclosures of the discovery context it is authorized for
(<xref target="core-discovery"/>).</t>
        </li>
        <li>
          <t>Present: When the verifier interacts with the agent, the agent
presents its SD-Card within the protocol with a Key Binding JWT for
that verifier, and the verifier checks it (<xref target="authn"/>).</t>
        </li>
      </ol>
      <t>The architecture is the same for every Protocol Binding; bindings differ
only in the claims carried and in how discovery and presentation are
mapped onto the protocol.</t>
    </section>
    <section anchor="data-model">
      <name>SD-Card Data Model</name>
      <t>An SD-Card is an SD-JWT VC <xref target="SD-JWT-VC"/>, and therefore an SD-JWT
<xref target="RFC9901"/>, whose payload carries an agent's metadata. The <tt>typ</tt> header
parameter of its issuer-signed JWT <bcp14>MUST</bcp14> be <tt>dc+sd-jwt</tt>. In HTTP, an
SD-Card presentation is carried in compact serialization with the
<tt>application/dc+sd-jwt</tt> media type <xref target="SD-JWT-VC"/>. Its payload contains:</t>
      <ol spacing="normal" type="1"><li>
          <t>Core Claims: Always disclosed claims, defined in <xref target="core-claims"/>,
that establish the issuer, the agent's identity, the Protocol Binding
in use, validity, and the confirmation key</t>
        </li>
        <li>
          <t>Binding Claims: Claims defined by a Protocol Binding that carry the
content of the Native Metadata Document. Each binding states which of
these are always disclosed and which are selectively disclosable</t>
        </li>
      </ol>
      <section anchor="core-claims">
        <name>Core Claims</name>
        <t>The following claims <bcp14>MUST</bcp14> be present and <bcp14>MUST NOT</bcp14> be selectively
disclosable in any SD-Card:</t>
        <dl>
          <dt>iss:</dt>
          <dd>
            <t>The issuer of the SD-Card (typically an Agent Registry). This
establishes the trust anchor for the credential and enables signature
verification. The issuer <bcp14>MUST</bcp14> be an HTTPS URI, and verifiers obtain
its public keys as described in <xref target="SD-JWT-VC"/>, for example from its
JWT VC Issuer Metadata.</t>
          </dd>
          <dt>sub:</dt>
          <dd>
            <t>The unique identifier of the agent within the issuer's namespace, or
the agent's workload identifier (<xref target="wimse"/>). This identifier <bcp14>MUST</bcp14> be
stable across different SD-Card issuances for the same logical agent,
so it is a correlation handle for every verifier that sees it.</t>
          </dd>
          <dt>iat:</dt>
          <dd>
            <t>The time at which the SD-Card was issued (Unix timestamp).</t>
          </dd>
          <dt>exp:</dt>
          <dd>
            <t>The expiration time of the SD-Card (Unix timestamp).</t>
          </dd>
          <dt>vct:</dt>
          <dd>
            <t>The verifiable credential type. Each Protocol Binding defines one or
more <tt>vct</tt> values of its own, so this claim identifies both that the
token is an SD-Card and which binding defines the remaining claims.
Verifiers <bcp14>MUST</bcp14> reject an SD-Card whose <tt>vct</tt> value does not identify a
binding they support. <tt>vct</tt> values are URNs of the form
<tt>urn:ietf:params:sd-card:&lt;binding&gt;:&lt;type&gt;</tt>. These URNs identify a
type; they cannot be dereferenced. A verifier that needs SD-JWT VC
Type Metadata <xref target="SD-JWT-VC"/> for a <tt>vct</tt> value obtains it out of band,
for example from the binding specification or from a local cache.</t>
          </dd>
          <dt>cnf:</dt>
          <dd>
            <t>The confirmation key for agent authentication, in JSON Web Key (JWK)
format. A presentation with a Key Binding JWT signed with this key
shows that the presenter is the agent (<xref target="verification"/>).</t>
          </dd>
        </dl>
        <t>The following claims <bcp14>SHOULD</bcp14> be present and, when present, <bcp14>MUST NOT</bcp14> be
selectively disclosable. A binding maps them to the corresponding fields
of its Native Metadata Document:</t>
        <dl>
          <dt>name:</dt>
          <dd>
            <t>The human-readable name of the agent.</t>
          </dd>
          <dt>description:</dt>
          <dd>
            <t>A brief description of the agent's purpose and primary function. This
helps users understand the agent's role without revealing sensitive
capability details.</t>
          </dd>
          <dt>version:</dt>
          <dd>
            <t>The version of the agent software.</t>
          </dd>
        </dl>
        <t>The following example shows the core claims of an SD-Card. The binding
claims, and the digests of the selectively disclosable ones in <tt>_sd</tt>,
are defined by the binding named by <tt>vct</tt>:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:example-agent",
  "iat": 1767225600,
  "exp": 1798761599,
  "vct": "<binding-defined value>",
  "_sd_alg": "sha-256",
  "_sd": [ "<digests of selectively disclosable binding claims>" ],
  "name": "Example Agent",
  "description": "An example agent",
  "version": "1.0.0",
  "cnf": { "jwk": "<the agent's public key>" }
}
]]></sourcecode>
      </section>
      <section anchor="claim-categories">
        <name>Common Claim Categories</name>
        <t>Agent protocols describe broadly the same kinds of information under
different names. To keep disclosure policies portable across bindings,
each binding assigns each of its claims to one of the following
categories in its claim mapping table (for example, A2A <tt>skills</tt>, MCP
<tt>tools</tt>, and PAP <tt>apis</tt> are all Capabilities). Policies
(see <xref target="role-based"/>) can then be expressed per category and applied to
an agent regardless of protocol.</t>
        <table anchor="tab-categories">
          <name>Claim Categories</name>
          <thead>
            <tr>
              <th align="left">Category</th>
              <th align="left">Describes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Capabilities</td>
              <td align="left">Operations the agent offers</td>
            </tr>
            <tr>
              <td align="left">Endpoints</td>
              <td align="left">Where and how the agent is reached</td>
            </tr>
            <tr>
              <td align="left">Protocol Features</td>
              <td align="left">Optional protocol features supported</td>
            </tr>
            <tr>
              <td align="left">Security Requirements</td>
              <td align="left">How clients authenticate, and attested security properties</td>
            </tr>
            <tr>
              <td align="left">Provider</td>
              <td align="left">The operating organization</td>
            </tr>
            <tr>
              <td align="left">Content Modes</td>
              <td align="left">Accepted and produced media types</td>
            </tr>
            <tr>
              <td align="left">Documentation</td>
              <td align="left">Human-oriented information</td>
            </tr>
          </tbody>
        </table>
        <t>Claims in the Capabilities, Endpoints, Protocol Features, Security
Requirements, and Provider categories are the main subjects of selective
disclosure.</t>
      </section>
      <section anchor="sd-processing">
        <name>Selective Disclosure Processing</name>
        <t>Selectively disclosable binding claims are processed as defined in
<xref target="RFC9901"/>. For each such claim the issuer:</t>
        <ol spacing="normal" type="1"><li>
            <t>Generates a cryptographically secure random salt. A fresh salt <bcp14>MUST</bcp14>
be used for every disclosure; salts <bcp14>MUST NOT</bcp14> be reused across claims
or across SD-Cards.</t>
          </li>
          <li>
            <t>Creates a disclosure array: <tt>[salt, claim name, claim value]</tt> for an
object property, or <tt>[salt, value]</tt> for an array element.</t>
          </li>
          <li>
            <t>Base64url-encodes the JSON serialization of the disclosure.</t>
          </li>
          <li>
            <t>Computes the digest of the encoded disclosure using the hash
algorithm named in <tt>_sd_alg</tt>.</t>
          </li>
          <li>
            <t>Places the digest in the <tt>_sd</tt> array of the containing object, or,
for an array element, replaces the element with <tt>{"...": digest}</tt>.</t>
          </li>
        </ol>
        <t>At presentation time, the holder includes only the disclosures permitted
for the context.</t>
        <dl>
          <dt>Disclosure granularity:</dt>
          <dd>
            <t>Claims whose value is a list of capabilities (such as A2A skills or
MCP tools) <bcp14>MAY</bcp14> be made selectively disclosable as a whole, or per
element. Per-element disclosure allows an agent to reveal individual
capabilities to a verifier and <bcp14>SHOULD</bcp14> be used when different contexts
are expected to see different subsets of the list.</t>
          </dd>
          <dt>Decoy digests:</dt>
          <dd>
            <t>Issuers <bcp14>MAY</bcp14> add decoy digests as described in <xref target="RFC9901"/> to hide the
number of selectively disclosable claims or capabilities.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="issuance">
      <name>SD-Card Issuance</name>
      <t>Agent Registries issue SD-Cards. Before registration, an agent is
provisioned by its operator or deployment platform with a key pair for
<tt>cnf</tt>, a credential that identifies it to the registry (for example,
an OAuth client credential <xref target="RFC6749"/> or a WIMSE Workload Identity
Token <xref target="WIMSE-ARCH"/>), and its
Native Metadata Document, published at an origin the operator controls.
How these are provisioned, how a registrant discovers a registry's
registration endpoint, and the registry's vetting policy are out of
scope for this specification.</t>
      <t>The registrant requests an SD-Card with a registration request
(<xref target="registration-request"/>). The issuer processes it as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>The issuer <bcp14>MUST</bcp14> verify that the registrant possesses the private key
for the public key in the request's <tt>cnf</tt> member
(<xref target="registration-auth"/>).</t>
        </li>
        <li>
          <t>The issuer <bcp14>MUST</bcp14> authenticate the registrant with its credential,
of whatever type the issuer accepts, and derive <tt>sub</tt>
from the identity that credential establishes: for example, a WIMSE
identifier (<xref target="wimse"/>), an OAuth <tt>client_id</tt> <xref target="RFC6749"/>, or a
client identifier URL
<xref target="I-D.ietf-oauth-client-id-metadata-document"/>.</t>
        </li>
        <li>
          <t>The issuer <bcp14>MUST</bcp14> obtain the Native Metadata Document as the binding's
Source Document retrieval rules specify (<xref target="binding-reqs"/>), and <bcp14>MUST</bcp14>
verify that the registrant controls each origin whose endpoints the
SD-Card will contain. Retrieving a document from an origin shows only
that it is published there, not that the registrant published it.
The issuer can verify control by:
          </t>
          <ul spacing="normal">
            <li>
              <t>an identity bound to the origin, such as a client identifier URL
<xref target="I-D.ietf-oauth-client-id-metadata-document"/> at that origin;</t>
            </li>
            <li>
              <t>a challenge, such as the ACME "http-01" or "dns-01" challenge
<xref target="RFC8555"/>, in which the registrant publishes an issuer-supplied
value at the origin or in its DNS zone; or</t>
            </li>
            <li>
              <t>the Native Metadata Document at the origin containing the <tt>cnf</tt>
key or the identity authenticated in step 2.</t>
            </li>
          </ul>
          <t>
The issuer <bcp14>MUST NOT</bcp14> include in an SD-Card endpoints at origins the
registrant has not been shown to control.</t>
        </li>
        <li>
          <t>The issuer creates the SD-Card according to the Protocol Binding
named in the request, which <bcp14>MUST</bcp14> be one the issuer supports. It
takes claim
values only from the document obtained in step 3, as the binding's
Claim Mapping specifies, and <bcp14>MUST NOT</bcp14> attest values the registrant
supplies in any other way.</t>
        </li>
        <li>
          <t>The issuer grants each requested discovery context only the
disclosures that the binding's Claim Mapping makes selectively
disclosable and that its own policy allows, and returns the SD-Card
and the granted contexts (<xref target="registration-response"/>).</t>
        </li>
      </ol>
      <t>Each SD-Card has one <tt>cnf</tt> key. Issuing several SD-Cards with different
keys, for example one per discovery context, reduces linkability only
when each SD-Card is presented to one verifier; a
registrant obtains them with one registration request per key.</t>
      <t>An agent that is reachable over more than one protocol (for example, an
agent that offers an A2A interface and also operates an MCP server)
registers once per binding and receives a separate SD-Card for each.
Issuers <bcp14>MAY</bcp14> use the same <tt>sub</tt> value in those SD-Cards to allow
authorized verifiers to correlate them, or different values to prevent
such correlation.</t>
      <section anchor="registration-request">
        <name>Registration Request</name>
        <t>A registrant sends an HTTP POST request to the registry's registration
endpoint over HTTPS <xref target="RFC9325"/>. The request body is a JSON object
with the media type <tt>application/json</tt> and the following members:</t>
        <dl>
          <dt>binding:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The name of a Protocol Binding (<xref target="binding-reqs"/>).</t>
          </dd>
          <dt>vct:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. The <tt>vct</tt> value of the requested SD-Card. <bcp14>REQUIRED</bcp14> when the
binding defines more than one <tt>vct</tt> value.</t>
          </dd>
          <dt>metadata_url:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14> unless <tt>metadata</tt> is present. An HTTPS URL from which the
issuer retrieves the Native Metadata Document. Its meaning is defined
by the binding; for example, the A2A binding uses the URL of the
Agent Card.</t>
          </dd>
          <dt>metadata:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. The Native Metadata Document, supplied by value. A
registrant <bcp14>MUST NOT</bcp14> use this member unless the binding permits it,
and an issuer <bcp14>MUST</bcp14> reject it otherwise. Exactly one of <tt>metadata_url</tt>
and <tt>metadata</tt> <bcp14>MUST</bcp14> be present.</t>
          </dd>
          <dt>cnf:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. A confirmation method as in <xref target="RFC7800"/> containing a <tt>jwk</tt>
member with the public key to be placed in the SD-Card's <tt>cnf</tt> claim.</t>
          </dd>
          <dt>disclosure_contexts:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. A non-empty array of JSON objects, each with the following
members:
</t>
            <dl>
              <dt>context:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. The name of a discovery context (<xref target="role-based"/>). Each
name <bcp14>MUST</bcp14> appear at most once.</t>
              </dd>
              <dt>disclose:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. An array of claim paths identifying the selectively
disclosable claims that presentations for this context disclose.
A claim path is a non-empty array as defined for claim metadata in
<xref target="SD-JWT-VC"/>: a string selects an object member, a non-negative
integer selects an array element, and null selects all elements of
an array. Paths use SD-Card claim names and index arrays in the
order of the Native Metadata Document. Always disclosed claims are
not listed.</t>
              </dd>
            </dl>
          </dd>
        </dl>
        <t>The issuer <bcp14>MUST</bcp14> ignore members it does not understand.</t>
      </section>
      <section anchor="registration-auth">
        <name>Registration Authentication</name>
        <t>The registrant authenticates with any credential the issuer accepts,
typically an OAuth access token in the <tt>Authorization</tt> header. It <bcp14>MUST</bcp14>
also prove possession of the <tt>cnf</tt> key. With an OAuth access token,
the registrant does so with a DPoP proof <xref target="RFC9449"/> whose <tt>jwk</tt> header
parameter is the <tt>cnf</tt> key, and the access token is bound to that key.
Other credentials <bcp14>MAY</bcp14> use their own proof-of-possession mechanism; for
example, a registrant that authenticates with a WIMSE Workload Identity
Token whose confirmed key is the <tt>cnf</tt> key uses a WIMSE Proof Token
<xref target="WIMSE-WPT"/> (<xref target="wimse"/>).</t>
        <t>The issuer <bcp14>MUST</bcp14> reject the request if the key whose possession is proven
is not the key in <tt>cnf</tt>.</t>
      </section>
      <section anchor="registration-response">
        <name>Registration Response</name>
        <t>On success, the issuer returns HTTP status 200 (OK) with a JSON object
with the media type <tt>application/json</tt> and the following members:</t>
        <dl>
          <dt>sd_card:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The SD-Card in compact serialization <xref target="RFC9901"/>, with all
of its disclosures and without a Key Binding JWT.</t>
          </dd>
          <dt>disclosure_contexts:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The granted discovery contexts, in the format of the
request member of the same name. A context or claim path that was
requested but not granted is omitted.</t>
          </dd>
        </dl>
        <t>The agent uses the granted <tt>disclosure_contexts</tt> to select the
disclosures it presents in each context. When the registry also serves
discovery requests for the agent (<xref target="registry-query"/>), it uses the same
contexts.</t>
        <t>On failure, the issuer returns HTTP status 400 (Bad Request), 401
(Unauthorized), or 403 (Forbidden) with a JSON object containing an
<tt>error</tt> member and, optionally, an <tt>error_description</tt> member with
human-readable text. This document defines the following <tt>error</tt>
values:</t>
        <dl>
          <dt>invalid_request:</dt>
          <dd>
            <t>The request is malformed or is missing a required member.</t>
          </dd>
          <dt>invalid_proof:</dt>
          <dd>
            <t>The registrant did not prove possession of the <tt>cnf</tt> key.</t>
          </dd>
          <dt>unsupported_binding:</dt>
          <dd>
            <t>The issuer does not support the binding or <tt>vct</tt> value.</t>
          </dd>
          <dt>invalid_metadata:</dt>
          <dd>
            <t>The issuer could not retrieve the Native Metadata Document, or the
document is not the binding's Source Document.</t>
          </dd>
          <dt>origin_not_verified:</dt>
          <dd>
            <t>The issuer could not verify that the registrant controls an origin
whose endpoints the SD-Card would contain.</t>
          </dd>
        </dl>
      </section>
      <section anchor="registration-example">
        <name>Registration Example</name>
        <t>In the following example, an A2A agent authenticates with a DPoP-bound
access token and asks the registry to retrieve its Agent Card. Public
clients see only its first skill and first interface; internal and
diagnostic clients see more:</t>
        <!-- generated:registration-example -->

<sourcecode type="http"><![CDATA[
POST /agents/register HTTP/1.1
Host: registry.example.com
Content-Type: application/json
Authorization: DPoP <access_token>
DPoP: <DPoP proof signed with the cnf key>

{
  "binding": "a2a",
  "metadata_url":
    "https://georoute-agent.example.com/.well-known/agent-card.json",
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "NRV8L0GsHzQL4auGECf1EuQAAbWQDnZPp_rY1Iopvn0",
      "y": "uTOlnJ2S83z6DM7r0_pvVemMtsefFm-Lk4oiwHNbF5o"
    }
  },
  "disclosure_contexts": [
    {
      "context": "public",
      "disclose": [
        ["skills", 0],
        ["supportedInterfaces", 0],
        ["defaultInputModes"],
        ["defaultOutputModes"]
      ]
    },
    {
      "context": "internal",
      "disclose": [
        ["skills", null],
        ["supportedInterfaces", null],
        ["defaultInputModes"],
        ["defaultOutputModes"],
        ["capabilities"],
        ["provider"],
        ["securitySchemes"],
        ["securityRequirements"]
      ]
    },
    {
      "context": "diagnostic",
      "disclose": [
        ["skills", null],
        ["supportedInterfaces", null],
        ["defaultInputModes"],
        ["defaultOutputModes"],
        ["capabilities"],
        ["provider"],
        ["securitySchemes"],
        ["securityRequirements"],
        ["documentationUrl"],
        ["iconUrl"]
      ]
    }
  ]
}
]]></sourcecode>
        <!-- /generated:registration-example -->

<t>The registry grants all three contexts and returns the SD-Card (line
breaks for display only):</t>
        <sourcecode type="http"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "sd_card": "eyJhbGciOiJFUzI1NiIsInR5cCI6ImRjK3NkLWp3dCJ9.<payload>.
    <signature>~<disclosure 1>~<disclosure 2>~...~",
  "disclosure_contexts": [ ... as requested ... ]
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="core-discovery">
      <name>Agent Discovery</name>
      <t>This section describes the protocol-independent mechanisms for
discovering agents. Each binding defines the concrete well-known
locations and query terms for its protocol.</t>
      <section anchor="well-known">
        <name>Well-Known URI Discovery</name>
        <t>This document defines a protocol-independent well-known URI <xref target="RFC8615"/>
for retrieving SD-Cards:</t>
        <artwork><![CDATA[
/.well-known/sd-card/{binding}
]]></artwork>
        <t>where <tt>{binding}</tt> is the name of a Protocol Binding (<xref target="binding-reqs"/>).
A client retrieves the SD-Card of an
agent at an origin with an HTTP GET request to this path, including
<tt>application/dc+sd-jwt</tt> in the <tt>Accept</tt> header. A successful
response has that media type <xref target="SD-JWT-VC"/>, and its body is an SD-Card
presentation in compact serialization with the disclosures appropriate
for the requester. A binding <bcp14>MAY</bcp14> define query parameters that select
among several agents hosted at the same origin.</t>
        <t>A client <bcp14>MAY</bcp14> include <tt>aud</tt> and <tt>nonce</tt> query parameters. When both are
present, the presentation <bcp14>MUST</bcp14> include a Key Binding JWT whose <tt>aud</tt> and
<tt>nonce</tt> claims equal them. Without them, the presentation carries no Key
Binding JWT (<xref target="verification"/>).</t>
        <t>Where a protocol already defines a well-known URI for its Native
Metadata Document, the binding <bcp14>MAY</bcp14> additionally specify that the SD-Card
is returned from that URI through content negotiation: clients signal
support by including <tt>application/dc+sd-jwt</tt> in the <tt>Accept</tt> header, and
servers that do not support SD-Card return the Native Metadata Document.
See <xref target="a2a-discovery"/> for an example.</t>
        <t>An agent <bcp14>MAY</bcp14> return additional disclosures to clients that are
authorized for a richer discovery context (<xref target="role-based"/>).</t>
      </section>
      <section anchor="registry-query">
        <name>Registry Query</name>
        <t>Agent Registries answer queries that name a binding and use the claim
names of that binding. This document does not define a query protocol;
the following illustrative query asks for A2A agents with the skill
"route-optimizer-traffic" that support streaming:</t>
        <sourcecode type="http"><![CDATA[
POST /agents/discover HTTP/1.1
Host: registry.example.com
Content-Type: application/json
Authorization: Bearer <registry_access_token>

{
  "binding": "a2a",
  "query": {
    "skills": ["route-optimizer-traffic"],
    "capabilities": {
      "streaming": true
    }
  },
  "context": "internal",
  "max_results": 10
}
]]></sourcecode>
        <t>A query can instead use the claim categories of <xref target="claim-categories"/>
(for example, <tt>"categories": {"Capabilities": ["geocode"]}</tt>) to search
across bindings.</t>
        <t>The registry returns an SD-Card presentation for each matching agent,
with the disclosures of the requested context.</t>
      </section>
      <section anchor="role-based">
        <name>Discovery Contexts</name>
        <t>A discovery context determines which claims a presentation discloses.
Contexts are expressed in terms of the claim categories of
<xref target="claim-categories"/>, so that a policy applies to agents of every
binding. This document uses the following contexts; deployments <bcp14>MAY</bcp14>
define others:</t>
        <table anchor="tab-contexts">
          <name>Discovery Contexts</name>
          <thead>
            <tr>
              <th align="left">Context</th>
              <th align="left">Intended for</th>
              <th align="left">Disclosed Categories</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">public</td>
              <td align="left">Any client</td>
              <td align="left">Core claims, selected Capabilities, public Endpoints, Content Modes</td>
            </tr>
            <tr>
              <td align="left">internal</td>
              <td align="left">Clients in the operator's organization</td>
              <td align="left">All public + remaining Capabilities and Endpoints, Protocol Features, Provider, Security Requirements</td>
            </tr>
            <tr>
              <td align="left">diagnostic</td>
              <td align="left">Operators troubleshooting the agent</td>
              <td align="left">All internal + Documentation</td>
            </tr>
            <tr>
              <td align="left">federation</td>
              <td align="left">Partner organizations</td>
              <td align="left">As set by the federation agreement</td>
            </tr>
          </tbody>
        </table>
        <t>A request, such as the <tt>context</tt> member of a registry query, names a
context but does not prove that the requester may use it. The agent or
registry <bcp14>MUST</bcp14> determine from the requester's credential, such as a
bearer token or a Privacy Pass token (<xref target="privacy-pass"/>), whether the
requester is authorized for the context, and <bcp14>MUST NOT</bcp14> return
disclosures of a context the requester is not authorized for.</t>
      </section>
      <section anchor="privacy-pass">
        <name>Anonymous Authorization with Privacy Pass</name>
        <t>Authorizing a requester for a discovery context usually means
authenticating it, which tells the agent or registry which client is
looking at which agents. Where the agent or registry only needs to know
that the requester is authorized, it <bcp14>SHOULD</bcp14> use Privacy Pass <xref target="RFC9576"/>
instead of client authentication.</t>
        <t>In this deployment, the agent or Agent Registry acts as the Privacy Pass
Origin, and each discovery context other than <tt>public</tt> has its own
Privacy Pass Issuer key. An Attester admits a client to a context, for
example by checking membership in the operator's organization or a
federation agreement, and the Issuer then issues tokens for that
context. Because the Issuer key identifies the context, the token
conveys the context without identifying the client.</t>
        <t>The Origin requests a token with the <tt>PrivateToken</tt> HTTP authentication
scheme <xref target="RFC9577"/>:</t>
        <sourcecode type="http"><![CDATA[
HTTP/1.1 401 Unauthorized
WWW-Authenticate: PrivateToken challenge="<challenge>",
    token-key="<internal-context-issuer-key>"
]]></sourcecode>
        <t>and the client presents it on the discovery request:</t>
        <sourcecode type="http"><![CDATA[
GET /.well-known/sd-card/a2a HTTP/1.1
Host: agent.example.com
Accept: application/dc+sd-jwt
Authorization: PrivateToken token="<token>"
]]></sourcecode>
        <t>An Origin <bcp14>MAY</bcp14> send one challenge for each context it supports, and
returns the disclosures of the context whose token it receives. Tokens
<bcp14>MAY</bcp14> be of the privately verifiable or publicly verifiable issuance
protocol <xref target="RFC9578"/>. The challenge <bcp14>SHOULD</bcp14> carry a fresh redemption
context so that a token cannot be replayed to obtain disclosures
elsewhere. The same exchange applies to the registry query of
<xref target="registry-query"/>, with the <tt>PrivateToken</tt> scheme in place of the
bearer token.</t>
        <t>Privacy Pass hides the identity of the requester from the Origin. It
does not hide the agent from the requester: the SD-Card returned is
still bound to the agent's <tt>sub</tt> and <tt>cnf</tt> key.</t>
      </section>
    </section>
    <section anchor="authn">
      <name>Presentation and Verification</name>
      <t>An agent proves that it holds an SD-Card by adding a Key Binding JWT
<xref target="RFC9901"/> to its presentation. The verifier supplies the audience and
nonce for the Key Binding JWT; each binding specifies how they are
supplied and where the presentation is carried in its protocol.
<xref target="a2a-examples"/> gives a complete example.</t>
      <section anchor="presentation">
        <name>Presentation</name>
        <t>The agent presents its SD-Card as an SD-JWT <xref target="RFC9901"/>, in the
serialization of <xref target="notation"/>, containing the issuer-signed JWT, the
disclosures for the context, and a Key Binding JWT.</t>
      </section>
      <section anchor="kb-jwt">
        <name>Key Binding JWT</name>
        <t>The Key Binding JWT is as defined in <xref target="RFC9901"/>: its <tt>typ</tt> header
parameter is <tt>kb+jwt</tt>, it is signed with the <tt>cnf</tt> key, and its payload
contains <tt>iat</tt>, <tt>aud</tt>, <tt>nonce</tt>, and <tt>sd_hash</tt>. The verifier supplies
<tt>aud</tt> and <tt>nonce</tt>. <tt>aud</tt> identifies the verifier. <tt>nonce</tt> <bcp14>MUST</bcp14> be a
fresh random value with at least 128 bits of entropy, base64url-encoded,
unless a binding takes it from an existing protocol value of equivalent
freshness.</t>
        <t>This document additionally defines the <bcp14>OPTIONAL</bcp14> <tt>interaction_id</tt> claim.
Its value is chosen by the agent and identifies the interaction, so that
the agent and verifier can correlate the presentation with later
requests for audit.</t>
      </section>
      <section anchor="verification">
        <name>Verification</name>
        <t>The verifier:</t>
        <ol spacing="normal" type="1"><li>
            <t>Checks that <tt>typ</tt> is <tt>dc+sd-jwt</tt>, that <tt>vct</tt> identifies a binding it
supports, that the issuer is trusted, through a pre-established trust
relationship, for that binding, and validates the issuer's signature.</t>
          </li>
          <li>
            <t>Checks that each disclosure's digest appears in the issuer-signed
payload, and rejects the SD-Card if a disclosure carries the name of
a core claim (<xref target="core-claims"/>).</t>
          </li>
          <li>
            <t>Checks that the Key Binding JWT <tt>typ</tt> is <tt>kb+jwt</tt>, validates its
signature with the <tt>cnf</tt> key, and checks <tt>sd_hash</tt>.</t>
          </li>
          <li>
            <t>Checks <tt>exp</tt> of the SD-Card, and rejects the Key Binding JWT if its
<tt>iat</tt> is outside a window the verifier sets, for example 5 minutes.</t>
          </li>
          <li>
            <t>Checks that the Key Binding JWT <tt>aud</tt> identifies the verifier and
that its <tt>nonce</tt> equals the value the verifier supplied.</t>
          </li>
        </ol>
        <t>A presentation without a Key Binding JWT, such as one retrieved from a
well-known URI without <tt>aud</tt> and <tt>nonce</tt>, proves the integrity of the
disclosed claims but not that the presenter is the agent, since anyone
who obtained it can present it. Verifiers that rely on the agent's
identity <bcp14>MUST</bcp14> require a Key Binding JWT.</t>
      </section>
    </section>
    <section anchor="oauth-wimse">
      <name>Use with OAuth and Workload Identity</name>
      <section anchor="token-exchange">
        <name>OAuth Token Exchange</name>
        <t>When an agent acting for a user or an upstream agent needs a token to
call a discovered agent, it <bcp14>MAY</bcp14> use OAuth 2.0 Token Exchange <xref target="RFC8693"/>
and present its own SD-Card as the actor token. This document defines
the token type identifier <tt>urn:ietf:params:oauth:token-type:sd-card</tt>
for an SD-Card presentation that includes a Key Binding JWT:</t>
        <sourcecode type="http"><![CDATA[
POST /token HTTP/1.1
Host: auth.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&subject_token=<access_token_received_from_upstream>
&subject_token_type=urn:ietf:params:oauth:token-type:access_token
&actor_token=<sd_card_presentation>
&actor_token_type=urn:ietf:params:oauth:token-type:sd-card
&requested_token_type=urn:ietf:params:oauth:token-type:access_token
&audience=agent:georoute-planner-v1
&scope=route-optimizer-traffic
]]></sourcecode>
        <t>The Key Binding JWT of the actor token <bcp14>MUST</bcp14> have an <tt>aud</tt> equal to the
issuer identifier of the authorization server, and a <tt>nonce</tt> supplied
by the authorization server, for example as a DPoP server-provided
nonce <xref target="RFC9449"/>. The authorization server:</t>
        <ol spacing="normal" type="1"><li>
            <t>Validates the subject token as <xref target="RFC8693"/> requires.</t>
          </li>
          <li>
            <t>Verifies the actor token as described in <xref target="authn"/>, including that
its issuer is trusted for the binding named by <tt>vct</tt>.</t>
          </li>
          <li>
            <t>Applies its policy to the disclosed claims, for example accepting
only actors whose disclosed provider or security properties meet its
requirements. The actor discloses only the claims the authorization
server needs.</t>
          </li>
          <li>
            <t>Identifies the actor in the issued token with an <tt>act</tt> claim whose
<tt>sub</tt> and <tt>iss</tt> are the <tt>sub</tt> and <tt>iss</tt> of the SD-Card.</t>
          </li>
        </ol>
        <t>If the request carries a DPoP proof, its key <bcp14>MUST</bcp14> be the SD-Card's <tt>cnf</tt>
key, so that the issued token is bound to the same key that the actor
proved possession of. The audience of the request <bcp14>MAY</bcp14> be the <tt>sub</tt> of
the target agent's SD-Card, and the authorization server <bcp14>MAY</bcp14> restrict
the requested <tt>scope</tt> to capabilities that the target agent's SD-Card
discloses.</t>
      </section>
      <section anchor="wimse">
        <name>Workload Identity</name>
        <t>WIMSE <xref target="WIMSE-ARCH"/> gives a workload, including an agent
<xref target="WIMSE-AIMS"/>, an identifier <xref target="WIMSE-ID"/> and a Workload Identity Token
(WIT) issued by its trust domain, and lets it prove possession of the
WIT key with a WIMSE Proof Token <xref target="WIMSE-WPT"/>. A WIT says which
workload a request comes from. An SD-Card says what that workload offers
and is attested by an Agent Registry, which may be in a different trust
domain. The two are complementary, and an agent <bcp14>MAY</bcp14> hold both.</t>
        <t>When an agent has a WIMSE identifier:</t>
        <ul spacing="normal">
          <li>
            <t>The issuer <bcp14>SHOULD</bcp14> set the SD-Card's <tt>sub</tt> to that identifier, so that
the SD-Card and the WIT name the same agent.</t>
          </li>
          <li>
            <t>The SD-Card's <tt>cnf</tt> key <bcp14>SHOULD</bcp14> be the key confirmed by the agent's
WIT. A single proof of possession then authenticates the agent for
both, and the verifier does not need to relate two keys.</t>
          </li>
          <li>
            <t>A verifier that receives both a WIT and an SD-Card for the same
request <bcp14>MUST</bcp14> check that the <tt>sub</tt> claims are equal and, if the
SD-Card's <tt>cnf</tt> key is the WIT key, that the Key Binding JWT and the
WIMSE Proof Token are signed by the same key. It <bcp14>MUST NOT</bcp14> treat the
WIT issuer as an issuer of SD-Card claims, or the SD-Card issuer as
an issuer of workload identity.</t>
          </li>
        </ul>
        <t>A WIMSE identifier names the agent's trust domain, and as the <tt>sub</tt> of
an SD-Card it is disclosed to every verifier. An
issuer that does not want to reveal the trust domain to verifiers of
the SD-Card uses an identifier in its own namespace instead.</t>
        <t>The agent identity management model of <xref target="WIMSE-AIMS"/> covers agent
identifiers, credentials, authentication, and authorization, and uses
OAuth metadata for discovery. SD-Card adds discovery of the agent's own
capabilities with control over what each verifier sees, and the token
exchange of <xref target="token-exchange"/> lets an agent's attested metadata inform
authorization decisions.</t>
      </section>
    </section>
    <section anchor="bindings">
      <name>Protocol Bindings</name>
      <t>This section defines Protocol Bindings for MCP, PAP, and A2A. Each
binding follows the requirements of <xref target="binding-reqs"/>.</t>
      <section anchor="binding-reqs">
        <name>Protocol Binding Requirements</name>
        <t>A Protocol Binding <bcp14>MUST</bcp14> specify:</t>
        <ol spacing="normal" type="1"><li>
            <t>Identifier: A short binding name and the <tt>vct</tt> value or values that
SD-Cards for this binding carry. A binding whose protocol has more
than one kind of holder defines a <tt>vct</tt> value for each.</t>
          </li>
          <li>
            <t>Source Document: The Native Metadata Document, the protocol version
or versions it applies to, how an issuer retrieves it given the
<tt>metadata_url</tt> of a registration request (<xref target="registration-request"/>),
and whether a registrant may instead supply it in <tt>metadata</tt>.</t>
          </li>
          <li>
            <t>Claim Mapping: How each field of the Native Metadata Document maps to
an SD-Card claim (bindings <bcp14>SHOULD</bcp14> reuse native field names), the
claim category from <xref target="claim-categories"/>, whether the claim is always
disclosed or selectively disclosable, and the disclosure granularity.</t>
          </li>
          <li>
            <t>Always Disclosed Binding Claims: Any binding claims, beyond the core
claims, that <bcp14>MUST</bcp14> always be disclosed (for example, the protocol
version needed to interoperate).</t>
          </li>
          <li>
            <t>Discovery: How SD-Cards are discovered for the protocol, such as
well-known URIs or registry query terms.</t>
          </li>
          <li>
            <t>Presentation: How an SD-Card presentation and its Key Binding JWT are
carried within the protocol, and how the verifier supplies the
audience and nonce values.</t>
          </li>
          <li>
            <t>Consistency Rules: How a verifier relates disclosed claims to
metadata it later receives at runtime through the protocol itself.</t>
          </li>
          <li>
            <t>Backward Compatibility: How a Native Metadata Document is
reconstructed from a presentation for consumers that do not
understand SD-Card.</t>
          </li>
          <li>
            <t>Security Considerations specific to the binding.</t>
          </li>
        </ol>
      </section>
      <section anchor="mcp-binding">
        <name>MCP Binding</name>
        <section anchor="mcp-identifier-and-source-document">
          <name>Identifier and Source Document</name>
          <dl>
            <dt>Binding name:</dt>
            <dd>
              <t>mcp</t>
            </dd>
            <dt>vct:</dt>
            <dd>
              <t>urn:ietf:params:sd-card:mcp:agent-card</t>
            </dd>
            <dt>Source document:</dt>
            <dd>
              <t>The metadata an MCP server exposes in version 2026-07-28 of
<xref target="MCP-SPEC"/>: its <tt>server/discover</tt> result, including the server
identity in the <tt>io.modelcontextprotocol/serverInfo</tt> member of its
<tt>_meta</tt>, and the results of <tt>tools/list</tt>, <tt>resources/list</tt>, and
<tt>prompts/list</tt>, together with the server's OAuth 2.0 Protected
Resource Metadata <xref target="RFC9728"/> when authorization is used.</t>
            </dd>
            <dt>Retrieval:</dt>
            <dd>
              <t>The <tt>metadata_url</tt> of a registration request is the server's
Streamable HTTP endpoint. The issuer sends <tt>server/discover</tt>,
<tt>tools/list</tt>, <tt>resources/list</tt>, and <tt>prompts/list</tt> to it as an MCP
client, following each <tt>nextCursor</tt> to the end of the list, and
retrieves the server's Protected Resource Metadata. A server that
offers only the stdio transport has no URL; its registrant <bcp14>MAY</bcp14> instead
supply in <tt>metadata</tt> a JSON object whose <tt>discover</tt> member is the
<tt>server/discover</tt> result and whose <tt>tools</tt>, <tt>resources</tt>, and <tt>prompts</tt>
members are the arrays returned by the corresponding list requests.
Such metadata is asserted by the registrant alone, and issuers <bcp14>SHOULD</bcp14>
verify it by other means, for example by running the published server
package.</t>
            </dd>
          </dl>
          <t>In this binding the holder of the SD-Card is the MCP server, and the
verifier is the MCP client (typically an agent or host application).</t>
        </section>
        <section anchor="mcp-claim-mapping">
          <name>Claim Mapping</name>
          <table anchor="tab-mcp">
            <name>MCP Server Metadata to SD-Card Claim Mapping</name>
            <thead>
              <tr>
                <th align="left">MCP field</th>
                <th align="left">SD-Card claim</th>
                <th align="left">Category</th>
                <th align="left">Disclosure</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">serverInfo.name</td>
                <td align="left">name</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">serverInfo.version</td>
                <td align="left">version</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">serverInfo.description</td>
                <td align="left">description</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">supportedVersions</td>
                <td align="left">supportedVersions</td>
                <td align="left">(binding)</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">Streamable HTTP endpoint</td>
                <td align="left">url</td>
                <td align="left">Endpoints</td>
                <td align="left">Always, when present</td>
              </tr>
              <tr>
                <td align="left">capabilities</td>
                <td align="left">capabilities</td>
                <td align="left">Protocol Features</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">tools/list entries</td>
                <td align="left">tools</td>
                <td align="left">Capabilities</td>
                <td align="left">Selective, per tool</td>
              </tr>
              <tr>
                <td align="left">resources/list entries</td>
                <td align="left">resources</td>
                <td align="left">Capabilities</td>
                <td align="left">Selective, per resource</td>
              </tr>
              <tr>
                <td align="left">prompts/list entries</td>
                <td align="left">prompts</td>
                <td align="left">Capabilities</td>
                <td align="left">Selective, per prompt</td>
              </tr>
              <tr>
                <td align="left">instructions</td>
                <td align="left">instructions</td>
                <td align="left">Documentation</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">serverInfo.title, websiteUrl, icons</td>
                <td align="left">title, websiteUrl, icons</td>
                <td align="left">Documentation</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">Protected Resource Metadata</td>
                <td align="left">authorization</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">(operator)</td>
                <td align="left">provider</td>
                <td align="left">Provider</td>
                <td align="left">Selective</td>
              </tr>
            </tbody>
          </table>
          <t>In the table, <tt>serverInfo</tt> is the <tt>Implementation</tt> object in the
<tt>io.modelcontextprotocol/serverInfo</tt> member of the <tt>server/discover</tt>
result's <tt>_meta</tt>, and <tt>supportedVersions</tt>, <tt>capabilities</tt>, and
<tt>instructions</tt> are members of that result. The <tt>supportedVersions</tt>
claim lists the MCP protocol versions for which the claims were
produced. Each element of <tt>tools</tt>, <tt>resources</tt>, and <tt>prompts</tt> is the
object returned by the corresponding list method. The <tt>authorization</tt>
claim carries the members of the server's Protected Resource Metadata
<xref target="RFC9728"/>. The <tt>provider</tt> claim is an object with an <tt>organization</tt>
name and a <tt>url</tt>, the same structure as the A2A <tt>AgentProvider</tt> object.</t>
          <t>MCP states that <tt>serverInfo</tt> is self-reported and that clients should
not rely on it for security decisions. The <tt>name</tt>, <tt>version</tt>, and
<tt>description</tt> claims of a verified SD-Card are attested by the issuer
and can be relied on to the extent the issuer is trusted.</t>
          <t>The <tt>url</tt> claim is present only for servers reachable over the
Streamable HTTP transport; an SD-Card for a server reached over stdio
omits it.</t>
          <t>Tools, resources, and prompts <bcp14>MUST</bcp14> be selectively disclosable per
element, so that a server can reveal individual tools to a client
without exposing the remainder of its toolset. <xref target="mcp-examples"/> gives an
example.</t>
        </section>
        <section anchor="mcp-discovery">
          <name>Discovery</name>
          <t>SD-Cards for MCP servers are retrieved from the SD-Card well-known URI
(<xref target="well-known"/>) with the binding name <tt>mcp</tt>. Because an origin can
host several MCP servers, this binding defines the <tt>resource</tt> query
parameter, whose value is the URL of the MCP endpoint:</t>
          <sourcecode type="http"><![CDATA[
GET /.well-known/sd-card/mcp?resource=https%3A%2F%2Fgeodata.example
    .com%2Fmcp HTTP/1.1
Host: geodata.example.com
Accept: application/dc+sd-jwt
]]></sourcecode>
          <t>When <tt>resource</tt> is absent, the server returns the SD-Card of its default
MCP endpoint. SD-Cards for MCP servers can also be found through Agent
Registries (<xref target="core-discovery"/>) using <tt>"binding": "mcp"</tt> and tool,
resource, or prompt names as query terms, or retrieved from a URL
configured in the MCP client.</t>
        </section>
        <section anchor="mcp-presentation">
          <name>Presentation</name>
          <t>This binding defines an MCP extension with the identifier
<tt>org.ietf/sd-card</tt> and uses <tt>_meta</tt> keys with the prefix
<tt>org.ietf.sd-card/</tt>. A server that holds an SD-Card declares the
extension, with an empty settings object, in the <tt>extensions</tt> member of
its capabilities.</t>
          <t>MCP has no session, so a presentation authenticates the server that
returns it in response to one request. An MCP client that supports this
binding requests a presentation by including the following keys in the
<tt>_meta</tt> member of its <tt>server/discover</tt> request parameters, alongside
the per-request protocol fields:</t>
          <dl>
            <dt>org.ietf.sd-card/nonce:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The <tt>nonce</tt> value of the Key Binding JWT (<xref target="kb-jwt"/>).</t>
            </dd>
            <dt>org.ietf.sd-card/audience:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The identifier of the client, used as the <tt>aud</tt> value of
the Key Binding JWT.</t>
            </dd>
          </dl>
          <sourcecode type="json"><![CDATA[
{
  "jsonrpc": "2.0",
  "id": "discover-1",
  "method": "server/discover",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {
        "name": "example-client", "version": "1.0.0"
      },
      "io.modelcontextprotocol/clientCapabilities": {},
      "org.ietf.sd-card/nonce": "tZignsnFbp8tC2rXq0VhGw",
      "org.ietf.sd-card/audience": "https://client.example.com"
    }
  }
}
]]></sourcecode>
          <t>A server that holds an SD-Card returns its presentation, with a Key
Binding JWT whose <tt>nonce</tt> and <tt>aud</tt> claims equal the supplied values, in
the <tt>_meta</tt> member of the <tt>server/discover</tt> result under the key
<tt>org.ietf.sd-card/presentation</tt>. Because the presentation is specific to
the request, the result <bcp14>MUST</bcp14> have a <tt>cacheScope</tt> of <tt>private</tt>:</t>
          <sourcecode type="json"><![CDATA[
{
  "jsonrpc": "2.0",
  "id": "discover-1",
  "result": {
    "resultType": "complete",
    "supportedVersions": ["2026-07-28"],
    "capabilities": {
      "tools": { "listChanged": true },
      "extensions": { "org.ietf/sd-card": {} }
    },
    "_meta": {
      "io.modelcontextprotocol/serverInfo": {
        "name": "geodata-server", "version": "3.4.1"
      },
      "org.ietf.sd-card/presentation": "eyJhbGci...~eyJ..."
    },
    "ttlMs": 0,
    "cacheScope": "private"
  }
}
]]></sourcecode>
          <t>The same exchange applies to every MCP transport, including stdio.</t>
          <t>For a server reached over Streamable HTTP, the client <bcp14>MUST</bcp14> check that
the SD-Card's <tt>url</tt> claim equals the endpoint to which it sent the
request. Without this check, a server could forward the client's nonce
and audience to another server and relay that server's presentation as
its own. An SD-Card without a <tt>url</tt> claim <bcp14>MUST NOT</bcp14> be accepted over
Streamable HTTP.</t>
          <t>A client <bcp14>MAY</bcp14> rely on a verified presentation for later requests to the
same Streamable HTTP endpoint, or the same stdio server process, until
the SD-Card expires or a shorter period that the client chooses ends,
whichever comes first. After that, it requests a fresh presentation
before relying on the server's identity again.</t>
        </section>
        <section anchor="mcp-consistency-rules">
          <name>Consistency Rules</name>
          <t>The integrity of tool definitions is a primary benefit of this binding.
After verifying a presentation, an MCP client:</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>MUST</bcp14> compare each tool, resource, or prompt returned by the
corresponding list method against the disclosed element with the same
<tt>name</tt> (for resources, the same <tt>uri</tt>), and <bcp14>MUST NOT</bcp14> use an entry
whose definition (including its <tt>description</tt>, <tt>inputSchema</tt>, and
<tt>outputSchema</tt>) differs from the disclosed element.</t>
            </li>
            <li>
              <t><bcp14>SHOULD</bcp14> treat entries that were not disclosed in the SD-Card as
unverified, and <bcp14>SHOULD</bcp14> require explicit user or policy approval before
using them.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> repeat this comparison whenever it fetches a list again, for
example when the list's <tt>ttlMs</tt> has elapsed or after a list-changed
notification on a <tt>subscriptions/listen</tt> stream.</t>
            </li>
          </ul>
          <t>This prevents a server, or an attacker on the path, from silently
altering tool descriptions after the client has approved them.</t>
        </section>
        <section anchor="mcp-backward-compatibility">
          <name>Backward Compatibility</name>
          <t>The SD-Card does not replace any MCP message. Clients that do not
support this binding ignore the <tt>_meta</tt> member and continue to use the
MCP list methods unchanged. A server that also supports MCP revisions
that use an <tt>initialize</tt> handshake <bcp14>MAY</bcp14> accept the
<tt>org.ietf.sd-card/nonce</tt> and <tt>org.ietf.sd-card/audience</tt> keys in the
<tt>_meta</tt> of an <tt>initialize</tt> request and return its presentation in the
<tt>_meta</tt> of the <tt>initialize</tt> result.</t>
        </section>
      </section>
      <section anchor="pap-binding">
        <name>PAP Binding</name>
        <t>The Personal Agent Protocol (PAP, also called Poppy) <xref target="PAP-SPEC"/>
defines how a Personal Agent, acting for one User, works with a Company
on that User's behalf. Two parties publish metadata in PAP, so this
binding defines two SD-Card types:</t>
        <dl>
          <dt>Company SD-Card:</dt>
          <dd>
            <t>Held by a Company and verified by Personal Agents. Its source document
is the Company's <tt>poppy.json</tt> discovery document.</t>
          </dd>
          <dt>Personal Agent SD-Card:</dt>
          <dd>
            <t>Held by a Personal Agent and verified by Companies. Its source
document is the Personal Agent's OAuth client metadata document
<xref target="I-D.ietf-oauth-client-id-metadata-document"/>, extended with claims
attested by the issuer.</t>
          </dd>
        </dl>
        <t>PAP already authenticates both parties: a Company through the link
between its domain and its OAuth issuer, and a Personal Agent through
<tt>private_key_jwt</tt> client assertions. It does not say how a Company
decides which Personal Agents to accept, and it gives a Personal Agent
no assurance about a Company beyond control of its domain. The two
SD-Card types add third-party attestation from an Agent Registry to both
directions, with the disclosed claims chosen for each counterpart.</t>
        <section anchor="pap-identifier">
          <name>Identifier and Source Documents</name>
          <dl>
            <dt>Binding name:</dt>
            <dd>
              <t>pap</t>
            </dd>
            <dt>vct (Company SD-Card):</dt>
            <dd>
              <t>urn:ietf:params:sd-card:pap:company-card</t>
            </dd>
            <dt>vct (Personal Agent SD-Card):</dt>
            <dd>
              <t>urn:ietf:params:sd-card:pap:agent-card</t>
            </dd>
            <dt>Source documents:</dt>
            <dd>
              <t>The <tt>poppy.json</tt> document and the client metadata document as defined
in draft version 0.3 of <xref target="PAP-SPEC"/>.</t>
            </dd>
            <dt>Retrieval:</dt>
            <dd>
              <t>For a Company SD-Card, the <tt>metadata_url</tt> of a registration request
is the URL of the Company's <tt>poppy.json</tt> document. For a Personal
Agent SD-Card, it is the Personal Agent's client identifier URL, from
which the issuer retrieves the client metadata document. The
registration request <bcp14>MUST NOT</bcp14> use <tt>metadata</tt>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="pap-company-mapping">
          <name>Company SD-Card Claim Mapping</name>
          <table anchor="tab-pap-company">
            <name>poppy.json to Company SD-Card Claim Mapping</name>
            <thead>
              <tr>
                <th align="left">poppy.json field</th>
                <th align="left">SD-Card claim</th>
                <th align="left">Category</th>
                <th align="left">Disclosure</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">(OAuth issuer)</td>
                <td align="left">sub</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">organization.name</td>
                <td align="left">name</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">organization.domain</td>
                <td align="left">domain</td>
                <td align="left">Provider</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">protocol_version</td>
                <td align="left">protocol_version</td>
                <td align="left">(binding)</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">apis</td>
                <td align="left">apis</td>
                <td align="left">Capabilities</td>
                <td align="left">Selective, per API</td>
              </tr>
              <tr>
                <td align="left">agent</td>
                <td align="left">agent</td>
                <td align="left">Capabilities</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">auth.scopes</td>
                <td align="left">scopes</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective, per scope</td>
              </tr>
              <tr>
                <td align="left">auth.scope_hints</td>
                <td align="left">scope_hints</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective, per scope</td>
              </tr>
              <tr>
                <td align="left">web</td>
                <td align="left">web</td>
                <td align="left">Endpoints</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">feedback, excluded_tasks</td>
                <td align="left">feedback, excluded_tasks</td>
                <td align="left">Documentation</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">extensions</td>
                <td align="left">extensions</td>
                <td align="left">Protocol Features</td>
                <td align="left">Selective</td>
              </tr>
            </tbody>
          </table>
          <t>The <tt>sub</tt> claim <bcp14>MUST</bcp14> be the Company's OAuth issuer identifier, which PAP
uses to identify the Company. The <tt>scopes</tt> and <tt>scope_hints</tt> claims are
objects keyed by scope name, and each member is a separately disclosable
object property, so that a Company can describe sensitive scopes only to
the Personal Agents it chooses.</t>
          <t>The public <tt>poppy.json</tt> remains authoritative for PAP. A Company <bcp14>MAY</bcp14>
disclose in its SD-Card APIs, scopes, or extensions that it leaves out
of its public <tt>poppy.json</tt>, such as partner APIs, and present them only
to Personal Agents it chooses.</t>
        </section>
        <section anchor="pap-agent-mapping">
          <name>Personal Agent SD-Card Claim Mapping</name>
          <table anchor="tab-pap-agent">
            <name>Personal Agent SD-Card Claim Mapping</name>
            <thead>
              <tr>
                <th align="left">Source</th>
                <th align="left">SD-Card claim</th>
                <th align="left">Category</th>
                <th align="left">Disclosure</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">client_id</td>
                <td align="left">sub</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">client_name</td>
                <td align="left">name</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">jwks_uri</td>
                <td align="left">jwks_uri</td>
                <td align="left">(binding)</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">logo_uri</td>
                <td align="left">logo_uri</td>
                <td align="left">Documentation</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">extensions</td>
                <td align="left">extensions</td>
                <td align="left">Protocol Features</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">(attested)</td>
                <td align="left">provider</td>
                <td align="left">Provider</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">(attested)</td>
                <td align="left">security_properties</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective, per property</td>
              </tr>
              <tr>
                <td align="left">(attested)</td>
                <td align="left">certifications</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective, per element</td>
              </tr>
            </tbody>
          </table>
          <t>The <tt>sub</tt> claim <bcp14>MUST</bcp14> equal the Personal Agent's <tt>client_id</tt>, and
<tt>cnf.jwk</tt> <bcp14>MUST</bcp14> be one of the keys published at its <tt>jwks_uri</tt>. The
<tt>provider</tt> claim has the same structure as in the MCP binding.</t>
          <t>The <tt>security_properties</tt> claim is an object whose members are
separately disclosable. This binding defines the following members, each
a boolean that the issuer has verified:</t>
          <dl>
            <dt>blind_signing:</dt>
            <dd>
              <t>The Personal Agent signs its client assertions and delegations
blindly, as described in Section 10.7 of <xref target="PAP-SPEC"/>.</t>
            </dd>
            <dt>delegated_keys_on_device:</dt>
            <dd>
              <t>The Personal Agent's delegated keys never leave the User's device.</t>
            </dd>
            <dt>model_isolated_secrets:</dt>
            <dd>
              <t>The Personal Agent keeps the secrets listed in Section 10.2 of
<xref target="PAP-SPEC"/> out of model context.</t>
            </dd>
          </dl>
          <t>Issuers <bcp14>MAY</bcp14> define other members, whose names <bcp14>MUST</bcp14> start with a domain
the issuer controls. The <tt>certifications</tt> claim is a list of objects,
each with a <tt>scheme</tt> URI identifying a certification program and an <tt>id</tt>
within it.</t>
          <t>A Personal Agent SD-Card describes the Personal Agent, never a User. It
<bcp14>MUST NOT</bcp14> contain a User ID, an Agent ID, or anything about a User or the
Companies a User works with, following the rule PAP sets for
delegations.</t>
          <t><xref target="pap-examples"/> gives an example of each SD-Card type.</t>
        </section>
        <section anchor="pap-discovery">
          <name>Discovery</name>
          <t>A Company serves its SD-Card at the SD-Card well-known URI
(<xref target="well-known"/>) of its domain with the binding name <tt>pap</tt>, the same
domain that serves its <tt>poppy.json</tt>. A Personal Agent asks for a
key-bound presentation by supplying its <tt>client_id</tt> as <tt>aud</tt> and a fresh
<tt>nonce</tt>:</t>
          <sourcecode type="http"><![CDATA[
GET /.well-known/sd-card/pap?aud=https%3A%2F%2Fagent.example
    %2Fagent.json&nonce=Rk3vQ9wLx2bT7hNcYp0eAg HTTP/1.1
Host: example.com
Accept: application/dc+sd-jwt
]]></sourcecode>
          <t>A Personal Agent SD-Card is not discovered. The Personal Agent presents
it to each Company as described below.</t>
        </section>
        <section anchor="pap-extension">
          <name>SD-Card Extension</name>
          <t>This binding defines a PAP extension named <tt>ietf.org/sd-card</tt>, version
"1", following Section 3.3 of <xref target="PAP-SPEC"/>. A Company that accepts
Personal Agent SD-Cards lists the extension in its <tt>poppy.json</tt>:</t>
          <sourcecode type="json"><![CDATA[
"extensions": {
  "ietf.org/sd-card": {
    "version": "1",
    "endpoint": "https://api.example.com/poppy/sd-card",
    "issuers": ["https://registry.example.com"],
    "requested_claims": ["provider", "security_properties"]
  }
}
]]></sourcecode>
          <dl>
            <dt>endpoint:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The HTTPS URL to which Personal Agents send their SD-Card
presentations.</t>
            </dd>
            <dt>issuers:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>. The SD-Card issuers the Company trusts.</t>
            </dd>
            <dt>requested_claims:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>. The names of the claims the Company asks Personal Agents to
disclose.</t>
            </dd>
          </dl>
          <t>A Personal Agent that supports the extension lists it in the
<tt>extensions</tt> member of its client metadata document. It presents its
SD-Card by sending a POST request to <tt>endpoint</tt>. As for every endpoint a
PAP extension defines, the request carries the <tt>Poppy-Session</tt> header.
The Key Binding JWT's <tt>aud</tt> <bcp14>MUST</bcp14> be the Company's issuer, as PAP
requires for client assertions and Session JWTs, and its <tt>nonce</tt> <bcp14>MUST</bcp14> be
the <tt>jti</tt> of the Session JWT in the same request:</t>
          <sourcecode type="http"><![CDATA[
POST /poppy/sd-card HTTP/1.1
Host: api.example.com
Content-Type: application/json
Poppy-Session: eyJ0eXAiOiJwb3BweS1zZXNzaW9uK2p3dCIs...

{ "presentation": "eyJhbGciOiJFUzI1NiIs...~WyJ...~eyJ..." }
]]></sourcecode>
          <t><xref target="pap-agent-example"/> shows such a presentation.</t>
          <t>The Company verifies the Session header as PAP requires and the
presentation as this document requires, and checks that the SD-Card's
<tt>sub</tt> equals the Session JWT's <tt>iss</tt>. It responds with HTTP 204 on
success, or HTTP 400 with <tt>{"error": "invalid_sd_card"}</tt>. The Company
<bcp14>MAY</bcp14> cache the result for the <tt>client_id</tt> until the SD-Card expires. A
Company that requires a verified Personal Agent SD-Card <bcp14>MAY</bcp14> refuse other
requests with the <tt>extension_required</tt> error of PAP.</t>
          <t>The <tt>cnf</tt> key of a Personal Agent SD-Card is a key from <tt>jwks_uri</tt>, so
its Key Binding JWTs, like client assertions, name a Company. A Personal
Agent that signs blindly <bcp14>MUST</bcp14> sign its Key Binding JWTs blindly as well,
with <tt>PS384</tt>; its <tt>cnf</tt> key is then an RSA key.</t>
        </section>
        <section anchor="pap-consistency">
          <name>Consistency Rules</name>
          <t>A Personal Agent verifying a Company SD-Card <bcp14>MUST</bcp14> first complete the
discovery checks of Section 3 of <xref target="PAP-SPEC"/>, and then <bcp14>MUST</bcp14> check that
the SD-Card's <tt>sub</tt> equals the issuer it verified and that <tt>domain</tt>
equals <tt>organization.domain</tt>. Each disclosed API, scope, or extension
that also appears in <tt>poppy.json</tt> <bcp14>MUST</bcp14> match it. Disclosed items that do
not appear in <tt>poppy.json</tt> <bcp14>MAY</bcp14> be used, under the same issuer and token
rules as items listed there.</t>
          <t>A Company verifying a Personal Agent SD-Card <bcp14>MUST</bcp14> check that <tt>sub</tt>
equals the <tt>client_id</tt>, and that the JWK thumbprint of <tt>cnf.jwk</tt> matches
a key in the <tt>jwks_uri</tt> it fetched as Section 5.3 of <xref target="PAP-SPEC"/>
describes. Disclosed <tt>extensions</tt> <bcp14>MUST</bcp14> match the client metadata
document.</t>
        </section>
        <section anchor="pap-privacy">
          <name>User Privacy</name>
          <t>A Personal Agent acts for one User, so its <tt>sub</tt> and <tt>cnf</tt> key identify
that User to every Company that verifies its SD-Card, and Companies can
use them to link the User's activity. A Personal Agent <bcp14>SHOULD</bcp14> present
its SD-Card only to Companies with which the User has, or is setting up,
a relationship. Where a Company only needs to know that a request comes
from an attested Personal Agent, for example to browse a catalog or
check availability before the User decides to proceed, the Company
<bcp14>SHOULD</bcp14> accept a Privacy Pass token (<xref target="privacy-pass"/>) instead of the
SD-Card.</t>
        </section>
        <section anchor="pap-compat">
          <name>Backward Compatibility</name>
          <t>Under PAP, both parties ignore extensions they don't support, so
Personal Agents and Companies that don't implement this binding continue
to work unchanged.</t>
        </section>
      </section>
      <section anchor="a2a-binding">
        <name>A2A Binding</name>
        <section anchor="a2a-identifier-and-source-document">
          <name>Identifier and Source Document</name>
          <dl>
            <dt>Binding name:</dt>
            <dd>
              <t>a2a</t>
            </dd>
            <dt>vct:</dt>
            <dd>
              <t>urn:ietf:params:sd-card:a2a:agent-card</t>
            </dd>
            <dt>Source document:</dt>
            <dd>
              <t>The A2A Agent Card (<tt>AgentCard</tt> object) as defined in version 1.0 of
<xref target="A2A-SPEC"/>.</t>
            </dd>
            <dt>Retrieval:</dt>
            <dd>
              <t>The <tt>metadata_url</tt> of a registration request is the URL of the Agent
Card, typically at the A2A well-known location. A registration request
<bcp14>MUST NOT</bcp14> use <tt>metadata</tt>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="a2a-claim-mapping">
          <name>Claim Mapping</name>
          <t>Agent Card fields are carried as SD-Card claims with the same names:</t>
          <table anchor="tab-a2a">
            <name>A2A Agent Card to SD-Card Claim Mapping</name>
            <thead>
              <tr>
                <th align="left">Agent Card field</th>
                <th align="left">Category</th>
                <th align="left">Disclosure</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">name, description, version</td>
                <td align="left">Core</td>
                <td align="left">Always</td>
              </tr>
              <tr>
                <td align="left">supportedInterfaces</td>
                <td align="left">Endpoints</td>
                <td align="left">Selective, per interface</td>
              </tr>
              <tr>
                <td align="left">skills</td>
                <td align="left">Capabilities</td>
                <td align="left">Selective, per skill</td>
              </tr>
              <tr>
                <td align="left">capabilities</td>
                <td align="left">Protocol Features</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">securitySchemes</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">securityRequirements</td>
                <td align="left">Security Requirements</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">provider</td>
                <td align="left">Provider</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">defaultInputModes, defaultOutputModes</td>
                <td align="left">Content Modes</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">documentationUrl, iconUrl</td>
                <td align="left">Documentation</td>
                <td align="left">Selective</td>
              </tr>
              <tr>
                <td align="left">signatures</td>
                <td align="left">(none)</td>
                <td align="left">Not carried</td>
              </tr>
            </tbody>
          </table>
          <t>A2A 1.0 has no top-level endpoint field: each element of
<tt>supportedInterfaces</tt> gives an endpoint URL, a protocol binding, and the
A2A protocol version spoken there. Every presentation <bcp14>MUST</bcp14> therefore
disclose at least one element of <tt>supportedInterfaces</tt>. Disclosing
interfaces per element lets an agent, for example, reveal only its
JSON-RPC endpoint to public clients and its gRPC endpoint to internal
ones.</t>
          <t>Because <tt>securityRequirements</tt> refers to entries of <tt>securitySchemes</tt>
by name, issuers <bcp14>SHOULD</bcp14> disclose the two claims together.</t>
          <t>The native Agent Card <tt>signatures</tt> member is not carried in the SD-Card;
the issuer signature over the SD-JWT takes its place.</t>
          <t><xref target="a2a-examples"/> gives an example.</t>
        </section>
        <section anchor="a2a-discovery">
          <name>Discovery</name>
          <t>An A2A agent that supports this binding returns an SD-Card from the A2A
well-known Agent Card location when the client indicates support for
SD-Card:</t>
          <sourcecode type="http"><![CDATA[
GET /.well-known/agent-card.json HTTP/1.1
Host: georoute-agent.example.com
Accept: application/dc+sd-jwt
]]></sourcecode>
          <t>The <tt>application/dc+sd-jwt</tt> media type <xref target="SD-JWT-VC"/> indicates that the
client accepts an SD-JWT VC. The response has that media type, and its
body is an SD-Card presentation for this binding with the disclosures of
the client's context and, unless the client supplied <tt>aud</tt> and <tt>nonce</tt>
(<xref target="well-known"/>), no Key Binding JWT. <xref target="a2a-examples"/> gives an example.</t>
          <t>An A2A agent <bcp14>MAY</bcp14> also serve its SD-Card at the protocol-independent
location <tt>/.well-known/sd-card/a2a</tt> (<xref target="well-known"/>).</t>
          <t>The A2A extended Agent Card maps naturally onto SD-Card: instead of
returning a separate, larger Agent Card to authenticated clients, an
agent that sets <tt>capabilities.extendedAgentCard</tt> <bcp14>MAY</bcp14> return the same
SD-Card with additional disclosures from its extended Agent Card
endpoint.</t>
        </section>
        <section anchor="a2a-extension">
          <name>SD-Card Extension</name>
          <t>This binding defines an A2A extension, identified by the URI
<tt>urn:ietf:params:sd-card:a2a</tt>, that carries key-bound SD-Card
presentations in A2A messages. An agent that supports the extension
declares it in the <tt>capabilities.extensions</tt> member of its Agent Card:</t>
          <sourcecode type="json"><![CDATA[
{
  "uri": "urn:ietf:params:sd-card:a2a",
  "description": "SD-Card key-bound presentation",
  "required": false
}
]]></sourcecode>
          <t>A client that wants the agent to prove its identity activates the
extension by listing its URI in the <tt>A2A-Extensions</tt> service parameter
and in the <tt>extensions</tt> member of its Message. The Message <tt>metadata</tt>
contains an object under the extension URI with the following members:</t>
          <dl>
            <dt>nonce:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The <tt>nonce</tt> value of the Key Binding JWT (<xref target="kb-jwt"/>).</t>
            </dd>
            <dt>aud:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>. The identifier of the client, used as the <tt>aud</tt> value of
the Key Binding JWT.</t>
            </dd>
            <dt>context:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>. The discovery context the client requests. As for any
context, the agent discloses only what the client's authorization
for that context permits (<xref target="role-based"/>).</t>
            </dd>
          </dl>
          <sourcecode type="json"><![CDATA[
{
  "messageId": "9f2c4a1e-7b3d-4c55-a0e2-5d1f8b6c3e90",
  "role": "ROLE_USER",
  "parts": [ { "text": "Plan a route from SJC to SFO" } ],
  "extensions": [ "urn:ietf:params:sd-card:a2a" ],
  "metadata": {
    "urn:ietf:params:sd-card:a2a": {
      "nonce": "8xk2Nq4ZpR0vWm3TfL7cHg",
      "aud": "https://client.example.com"
    }
  }
}
]]></sourcecode>
          <t>The agent responds by including, in the <tt>metadata</tt> of the first Message
or Task it returns in that context, an object under the extension URI
whose <tt>presentation</tt> member is its SD-Card presentation with a Key
Binding JWT. The Key Binding JWT <tt>nonce</tt> and <tt>aud</tt> claims <bcp14>MUST</bcp14> equal the
values supplied by the client. When the response is a Message, the agent
also lists the extension URI in its <tt>extensions</tt> member.</t>
          <sourcecode type="json"><![CDATA[
{
  "metadata": {
    "urn:ietf:params:sd-card:a2a": {
      "presentation": "eyJhbGciOiJFUzI1NiIs...~eyJ..."
    }
  }
}
]]></sourcecode>
          <t>An agent needs to present its SD-Card only once per <tt>contextId</tt>. A
client that requires a presentation and does not receive one, or
receives one that fails verification, <bcp14>MUST NOT</bcp14> continue the interaction
on the basis of the agent's claimed identity.</t>
        </section>
        <section anchor="a2a-consistency">
          <name>Consistency and Backward Compatibility</name>
          <t>A client that receives an A2A Agent Card through other means (for
example, the authenticated extended card endpoint) after verifying an
SD-Card <bcp14>SHOULD</bcp14> verify that every field it relies on matches the
corresponding disclosed SD-Card claim.</t>
          <t>A native Agent Card is reconstructed from a verified presentation by
removing the SD-JWT specific claims (<tt>iss</tt>, <tt>sub</tt>, <tt>iat</tt>, <tt>exp</tt>, <tt>vct</tt>,
<tt>cnf</tt>, <tt>_sd</tt>, <tt>_sd_alg</tt>) and inserting each disclosed claim. Fields that
were not disclosed are absent from the reconstructed card. When they
include fields that A2A 1.0 marks as required, the result is a partial
Agent Card, and clients <bcp14>MUST NOT</bcp14> interpret a withheld field as empty.
Agents <bcp14>MUST</bcp14>
continue to serve the native Agent Card to clients that do not request
<tt>application/dc+sd-jwt</tt>, subject to the agent's own access policy.</t>
        </section>
      </section>
      <section anchor="relationship-between-bindings">
        <name>Relationship Between Bindings</name>
        <t>The three bindings address different parts of an agent system and are
complementary:</t>
        <ul spacing="normal">
          <li>
            <t>MCP binding: Tool discovery, integrity of tool definitions, and server
identity between agents and tool servers</t>
          </li>
          <li>
            <t>PAP binding: Attested identity of Companies and Personal Agents, and
per-counterpart disclosure of APIs, scopes, and security properties</t>
          </li>
          <li>
            <t>A2A binding: Agent discovery, identity, and capability negotiation
between agents</t>
          </li>
        </ul>
        <figure anchor="fig-layers">
          <name>SD-Card Bindings and Protocol Layering</name>
          <artwork><![CDATA[
+------------------------------------------------------+
|                  Application Layer                   |
|     (Agent Business Logic, Task Orchestration)       |
+------------------------------------------------------+
|  MCP Protocol    |  PAP             |  A2A Protocol  |
|  (Agent to       |  (Personal       |  (Agent to     |
|   Tool)          |   Agent to       |   Agent)       |
|                  |   Company)       |                |
+------------------------------------------------------+
|  SD-Card MCP     |  SD-Card PAP     |  SD-Card A2A   |
|  Binding         |  Binding         |  Binding       |
+------------------------------------------------------+
|         SD-Card Core (Data Model, Issuance,          |
|         Discovery, Key-Bound Presentation)           |
+------------------------------------------------------+
|           HTTP over TLS, or local transport          |
+------------------------------------------------------+
]]></artwork>
        </figure>
        <t>A PAP Company lists its MCP servers in <tt>apis</tt>. Each of those servers <bcp14>MAY</bcp14>
hold its own MCP SD-Card, which a Personal Agent verifies as described
in <xref target="mcp-binding"/> in addition to the Company SD-Card.</t>
        <t>The security context established by one binding does not automatically
propagate to another: an agent authenticated through its A2A SD-Card
that then calls MCP tools needs separate authorization for that tool
access. When an A2A Key Binding JWT carries an <tt>interaction_id</tt>, the
agent <bcp14>SHOULD</bcp14> include it in the MCP requests it makes for that
interaction, in the <tt>_meta</tt> key <tt>org.ietf.sd-card/interaction_id</tt>, for
audit correlation.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TODO</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </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"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7800"/>
          <seriesInfo name="DOI" value="10.17487/RFC7800"/>
        </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="RFC9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="RFC9728">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </reference>
        <reference anchor="RFC9901">
          <front>
            <title>Selective Disclosure for JSON Web Tokens</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="K. Yasuda" initials="K." surname="Yasuda"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="November" year="2025"/>
            <abstract>
              <t>This specification defines a mechanism for the selective disclosure
of individual elements of a JSON data structure used as the payload
of a JSON Web Signature (JWS). The primary use case is the selective
disclosure of JSON Web Token (JWT) claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9901"/>
          <seriesInfo name="DOI" value="10.17487/RFC9901"/>
        </reference>
        <reference anchor="SD-JWT-VC">
          <front>
            <title>SD-JWT-based Verifiable Digital Credentials (SD-JWT VC)</title>
            <author fullname="Oliver Terbu" initials="O." surname="Terbu">
              <organization>MATTR</organization>
            </author>
            <author fullname="Daniel Fett" initials="D." surname="Fett">
              <organization>Authlete Inc.</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="27" month="October" year="2026"/>
            <abstract>
              <t>   This specification describes data formats as well as validation and
   processing rules to express Verifiable Digital Credentials with JSON
   payloads with and without selective disclosure based on the SD-JWT
   format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-sd-jwt-vc-22"/>
        </reference>
        <reference anchor="A2A-SPEC" target="https://a2a-protocol.org/latest/">
          <front>
            <title>Agent2Agent (A2A) Protocol Specification</title>
            <author initials="A. P. (Linux" surname="Foundation)" fullname="A2A Project (Linux Foundation)">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Version" value="1.0"/>
        </reference>
        <reference anchor="PAP-SPEC" target="https://personalagentprotocol.org/docs/0.3">
          <front>
            <title>Personal Agent Protocol</title>
            <author initials="P. A. P." surname="Project" fullname="Personal Agent Protocol Project">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Version" value="0.3 (draft)"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-client-id-metadata-document">
          <front>
            <title>OAuth Client ID Metadata Document</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Emelia Smith" initials="E." surname="Smith">
         </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This specification defines a mechanism through which an OAuth client
   can identify itself to authorization servers, without prior dynamic
   client registration or other existing registration.  This is through
   the usage of a URL as a client_id in an OAuth flow, where the URL
   refers to a document containing the necessary client metadata,
   enabling the authorization server to fetch the metadata about the
   client as needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-client-id-metadata-document-02"/>
        </reference>
        <reference anchor="MCP-SPEC" target="https://modelcontextprotocol.io/specification/2026-07-28">
          <front>
            <title>Model Context Protocol Specification</title>
            <author initials="M. P. (Linux" surname="Foundation)" fullname="MCP Project (Linux Foundation)">
              <organization/>
            </author>
            <date year="2026" month="July" day="28"/>
          </front>
          <seriesInfo name="Version" value="2026-07-28"/>
        </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"/>
            <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC8693">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="WIMSE-ID">
          <front>
            <title>Workload Identifier</title>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <date day="23" month="October" year="2026"/>
            <abstract>
              <t>   This document defines a canonical identifier for workloads, referred
   to as the Workload Identifier.  A Workload Identifier is a URI that
   uniquely identifies a workload within the context of a specific trust
   domain.  This identifier can be embedded in Workload Identity
   Credentials, including X.509 certificates and JWT-based tokens, to
   support authentication, authorization, and policy enforcement across
   diverse systems.  The Workload Identifier format ensures
   interoperability, facilitates secure identity federation, and enables
   consistent identity semantics.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-identifier-04"/>
        </reference>
        <reference anchor="WIMSE-WPT">
          <front>
            <title>WIMSE Workload Proof Token</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <date day="27" month="August" year="2026"/>
            <abstract>
              <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from basic
   deployments to complex multi-service, multi-cloud, multi-tenant
   systems.  This document specifies the Workload Proof Token (WPT), a
   mechanism for workloads to prove possession of the private key
   associated with a Workload Identity Token (WIT).  The WPT is a signed
   JWT that binds the workload's authentication to a specific HTTP
   request, providing application-layer proof of possession for
   workload-to-workload communication.  This specification is designed
   to work alongside the WIT credential format defined in draft-ietf-
   wimse-workload-creds and can be combined with other WIMSE protocols
   in multi-hop call chains.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-02"/>
        </reference>
        <reference anchor="WIMSE-AIMS">
          <front>
            <title>AI Identity Management System</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>OpenAI</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="15" month="September" year="2026"/>
            <abstract>
              <t>   This document proposes best practices for authentication and
   authorization of AI agent interactions.  It leverages existing
   standards such as the Workload Identity in Multi-System Environments
   (WIMSE) architecture and OAuth 2.0 family of specifications.  Rather
   than defining new protocols, this document describes how existing and
   widely deployed standards can be applied or extended to establish
   agent authentication and authorization.  By doing so, it aims to
   provide a framework within which to use existing standards, identify
   gaps and guide future standardization efforts for agent
   authentication and authorization.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-00"/>
        </reference>
        <reference anchor="RFC9576">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="J. Iyengar" initials="J." surname="Iyengar"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies the Privacy Pass architecture and requirements for its constituent protocols used for authorization based on privacy-preserving authentication mechanisms. It describes the conceptual model of Privacy Pass and its protocols, its security and privacy goals, practical deployment models, and recommendations for each deployment model, to help ensure that the desired security and privacy goals are fulfilled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9576"/>
          <seriesInfo name="DOI" value="10.17487/RFC9576"/>
        </reference>
        <reference anchor="RFC9577">
          <front>
            <title>The Privacy Pass HTTP Authentication Scheme</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="S. Valdez" initials="S." surname="Valdez"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document defines an HTTP authentication scheme for Privacy Pass, a privacy-preserving authentication mechanism used for authorization. The authentication scheme specified in this document can be used by Clients to redeem Privacy Pass tokens with an Origin. It can also be used by Origins to challenge Clients to present Privacy Pass tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9577"/>
          <seriesInfo name="DOI" value="10.17487/RFC9577"/>
        </reference>
        <reference anchor="RFC9578">
          <front>
            <title>Privacy Pass Issuance Protocols</title>
            <author fullname="S. Celi" initials="S." surname="Celi"/>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="S. Valdez" initials="S." surname="Valdez"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies two variants of the two-message issuance protocol for Privacy Pass tokens: one that produces tokens that are privately verifiable using the Issuer Private Key and one that produces tokens that are publicly verifiable using the Issuer Public Key. Instances of "issuance protocol" and "issuance protocols" in the text of this document are used interchangeably to refer to the two variants of the Privacy Pass issuance protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9578"/>
          <seriesInfo name="DOI" value="10.17487/RFC9578"/>
        </reference>
        <reference anchor="WIMSE-ARCH">
          <front>
            <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   The increasing prevalence of cloud computing and micro service
   architectures has led to the rise of complex software functions being
   built and deployed as workloads, where a workload is defined as
   software executing for a specific purpose, potentially comprising one
   or more running instances.  This document discusses an architecture
   for designing and standardizing protocols and payloads for conveying
   workload identity and security context information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-08"/>
        </reference>
        <reference anchor="RFC6979">
          <front>
            <title>Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)</title>
            <author fullname="T. Pornin" initials="T." surname="Pornin"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document defines a deterministic digital signature generation procedure. Such signatures are compatible with standard Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) digital signatures and can be processed with unmodified verifiers, which need not be aware of the procedure described therein. Deterministic signatures retain the cryptographic security features associated with digital signatures but can be more easily implemented in various environments, since they do not need access to a source of high-quality randomness.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6979"/>
          <seriesInfo name="DOI" value="10.17487/RFC6979"/>
        </reference>
      </references>
    </references>
    <?line 1633?>

<section anchor="example-keys">
      <name>Example Keys</name>
      <!-- generated:example-keys -->

<t>The examples in this document use the following P-256 keys. They are for
testing only and <bcp14>MUST NOT</bcp14> be used for any other purpose. Each private
key is the SHA-256 hash of an ASCII label, reduced modulo the group
order, so that the examples can be regenerated. ECDSA signatures in the
examples use deterministic nonces <xref target="RFC6979"/>.</t>
      <t>Agent Registry (issuer), label "sd-card example key: issuer":</t>
      <sourcecode type="json"><![CDATA[
{
  "kty": "EC",
  "crv": "P-256",
  "x": "1YXC3H1FyjPwvaVOypzsgpkrmoXprmUXM7uJ_YVXuC0",
  "y": "kM_wSEMicXPAjvwQpyInsrj9VNphUQMhhhtGzeyCi80",
  "d": "LyTUa1hoawWFmddhQwISghJtbpQS5R9MjFvqBBpcvH8"
}
]]></sourcecode>
      <t>MCP server, label "sd-card example key: mcp server":</t>
      <sourcecode type="json"><![CDATA[
{
  "kty": "EC",
  "crv": "P-256",
  "x": "BgKmUuTJ5FmMccQI_uK61N7QxIpg0D5U6jJ0qsOYeOs",
  "y": "xMYIsKsTuXdYFJvPsp5OY5UTSer1ng0r4Phm0Smi3Hc",
  "d": "QI_Ku9pGPpfkpj-Yhj6lQrbFVajayDSwmhtV4-yYZA4"
}
]]></sourcecode>
      <t>PAP Company, label "sd-card example key: pap company":</t>
      <sourcecode type="json"><![CDATA[
{
  "kty": "EC",
  "crv": "P-256",
  "x": "7t0MSqKqUlkUTxPmIr8sDsRN4RTXQyKQGMGljtwKIwo",
  "y": "L1-V5oSxn3hkpJ-KtQq-dEyk-MqLRyMRtuKRO7CJNVc",
  "d": "7Ga8rGsq0p2qwy9vtfXqCYTuC3F2GbmNXWUJbmKFUMc"
}
]]></sourcecode>
      <t>PAP Personal Agent, label "sd-card example key: pap personal agent":</t>
      <sourcecode type="json"><![CDATA[
{
  "kty": "EC",
  "crv": "P-256",
  "x": "rcb61_FGgWZhmA2QjsS3vkcei7Jk0DzjL8VHIKgsmms",
  "y": "48ZSN62KUwUpeiFONBkLb41MGbFF1HR0LWneXqWXav4",
  "d": "q0DCeKny5wdmzhjogUurilFJ73lV-7FF5APymbDeXog"
}
]]></sourcecode>
      <t>A2A agent, label "sd-card example key: a2a agent":</t>
      <sourcecode type="json"><![CDATA[
{
  "kty": "EC",
  "crv": "P-256",
  "x": "NRV8L0GsHzQL4auGECf1EuQAAbWQDnZPp_rY1Iopvn0",
  "y": "uTOlnJ2S83z6DM7r0_pvVemMtsefFm-Lk4oiwHNbF5o",
  "d": "zRqIpNug6AjghmoepMnQy9zQ6ZxLwzCocHTmCb6iYus"
}
]]></sourcecode>
      <!-- /generated:example-keys -->

</section>
    <section anchor="mcp-examples">
      <name>MCP Binding Examples</name>
      <!-- generated:mcp-examples -->

<t>The following SD-Card describes an MCP server with three tools, each a
separately disclosable array element, and selectively disclosable
<tt>capabilities</tt> and <tt>authorization</tt> claims. Its issuer-signed JWT has the
following payload:</t>
      <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "mcp:geodata-server",
  "iat": 1767225600,
  "exp": 1798761599,
  "vct": "urn:ietf:params:sd-card:mcp:agent-card",
  "_sd_alg": "sha-256",
  "_sd": [
    "9T01sZq1MQeHYeQfiNIW9x8lr5YbaZRXliFySZqgiUI",
    "H5UiatV4O4nvn7c4mdYJGIG3H7e8YzXs0r8u03LjpiY"
  ],
  "supportedVersions": [
    "2026-07-28"
  ],
  "name": "geodata-server",
  "description": "Geospatial lookup tools",
  "version": "3.4.1",
  "url": "https://geodata.example.com/mcp",
  "tools": [
    {
      "...": "ECzck2UInTxdsL64l-VrQAaqAuQ6bjlIzo-vYfcyZIY"
    },
    {
      "...": "CNiYf-7UFxpMuXHIVBc6EVFL76C9wXbexReG0V13dGk"
    },
    {
      "...": "64Drz-WmaH2sFqRF1Bk5ti9wjmk-GLIYnVQiao0N0fg"
    }
  ],
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "BgKmUuTJ5FmMccQI_uK61N7QxIpg0D5U6jJ0qsOYeOs",
      "y": "xMYIsKsTuXdYFJvPsp5OY5UTSer1ng0r4Phm0Smi3Hc"
    }
  }
}
]]></sourcecode>
      <t>Disclosure for the <tt>get_elevation</tt> tool:</t>
      <sourcecode type="json"><![CDATA[
[
  "43JWoTP34Li7cZEM0zIc1A",
  {
    "name": "get_elevation",
    "description": "Ground elevation in meters at a point",
    "inputSchema": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number"
        },
        "lng": {
          "type": "number"
        }
      },
      "required": [
        "lat",
        "lng"
      ]
    }
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyI0M0pXb1RQMzRMaTdjWkVNMHpJYzFBIix7Im5hbWUiOiJnZXRfZWxldmF0aW9uIiwi
ZGVzY3JpcHRpb24iOiJHcm91bmQgZWxldmF0aW9uIGluIG1ldGVycyBhdCBhIHBvaW50
IiwiaW5wdXRTY2hlbWEiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibGF0
Ijp7InR5cGUiOiJudW1iZXIifSwibG5nIjp7InR5cGUiOiJudW1iZXIifX0sInJlcXVp
cmVkIjpbImxhdCIsImxuZyJdfX1d

SHA-256 digest:
ECzck2UInTxdsL64l-VrQAaqAuQ6bjlIzo-vYfcyZIY
]]></artwork>
      <t>Disclosure for the <tt>geocode_address</tt> tool:</t>
      <sourcecode type="json"><![CDATA[
[
  "ZusE9QIszhpVw4IGKtW1Gg",
  {
    "name": "geocode_address",
    "description": "Converts an address to coordinates",
    "inputSchema": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        }
      },
      "required": [
        "address"
      ]
    }
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJadXNFOVFJc3pocFZ3NElHS3RXMUdnIix7Im5hbWUiOiJnZW9jb2RlX2FkZHJlc3Mi
LCJkZXNjcmlwdGlvbiI6IkNvbnZlcnRzIGFuIGFkZHJlc3MgdG8gY29vcmRpbmF0ZXMi
LCJpbnB1dFNjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJhZGRy
ZXNzIjp7InR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImFkZHJlc3MiXX19XQ

SHA-256 digest:
CNiYf-7UFxpMuXHIVBc6EVFL76C9wXbexReG0V13dGk
]]></artwork>
      <t>Disclosure for the <tt>export_parcel_owners</tt> tool:</t>
      <sourcecode type="json"><![CDATA[
[
  "dyGRVreURWLjCNCZr3bX-A",
  {
    "name": "export_parcel_owners",
    "description": "Exports parcel ownership records",
    "inputSchema": {
      "type": "object",
      "properties": {
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "minItems": 4,
          "maxItems": 4
        }
      },
      "required": [
        "bbox"
      ]
    },
    "annotations": {
      "readOnlyHint": true,
      "openWorldHint": false
    }
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJkeUdSVnJlVVJXTGpDTkNacjNiWC1BIix7Im5hbWUiOiJleHBvcnRfcGFyY2VsX293
bmVycyIsImRlc2NyaXB0aW9uIjoiRXhwb3J0cyBwYXJjZWwgb3duZXJzaGlwIHJlY29y
ZHMiLCJpbnB1dFNjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJi
Ym94Ijp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJudW1iZXIifSwibWlu
SXRlbXMiOjQsIm1heEl0ZW1zIjo0fX0sInJlcXVpcmVkIjpbImJib3giXX0sImFubm90
YXRpb25zIjp7InJlYWRPbmx5SGludCI6dHJ1ZSwib3BlbldvcmxkSGludCI6ZmFsc2V9
fV0

SHA-256 digest:
64Drz-WmaH2sFqRF1Bk5ti9wjmk-GLIYnVQiao0N0fg
]]></artwork>
      <t>Disclosure for <tt>capabilities</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "kB0vLABzESqNhFlrJGL2Rw",
  "capabilities",
  {
    "tools": {
      "listChanged": true
    },
    "resources": {
      "subscribe": true,
      "listChanged": false
    },
    "extensions": {
      "org.ietf/sd-card": {}
    }
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJrQjB2TEFCekVTcU5oRmxySkdMMlJ3IiwiY2FwYWJpbGl0aWVzIix7InRvb2xzIjp7
Imxpc3RDaGFuZ2VkIjp0cnVlfSwicmVzb3VyY2VzIjp7InN1YnNjcmliZSI6dHJ1ZSwi
bGlzdENoYW5nZWQiOmZhbHNlfSwiZXh0ZW5zaW9ucyI6eyJvcmcuaWV0Zi9zZC1jYXJk
Ijp7fX19XQ

SHA-256 digest:
9T01sZq1MQeHYeQfiNIW9x8lr5YbaZRXliFySZqgiUI
]]></artwork>
      <t>Disclosure for <tt>authorization</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "xzZ6lxCbqYrjd6_gDSl0RQ",
  "authorization",
  {
    "resource": "https://geodata.example.com/mcp",
    "authorization_servers": [
      "https://auth.example.com"
    ],
    "scopes_supported": [
      "geo.read",
      "parcel.read"
    ]
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJ4elo2bHhDYnFZcmpkNl9nRFNsMFJRIiwiYXV0aG9yaXphdGlvbiIseyJyZXNvdXJj
ZSI6Imh0dHBzOi8vZ2VvZGF0YS5leGFtcGxlLmNvbS9tY3AiLCJhdXRob3JpemF0aW9u
X3NlcnZlcnMiOlsiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tIl0sInNjb3Blc19zdXBw
b3J0ZWQiOlsiZ2VvLnJlYWQiLCJwYXJjZWwucmVhZCJdfV0

SHA-256 digest:
H5UiatV4O4nvn7c4mdYJGIG3H7e8YzXs0r8u03LjpiY
]]></artwork>
      <t>In the <tt>server/discover</tt> exchange of <xref target="mcp-presentation"/>, the server
presents its SD-Card to a public client, disclosing only the
<tt>get_elevation</tt> and <tt>geocode_address</tt> tools. The client learns that a
third tool exists but not what it is. To an authorized internal client
the server would also disclose <tt>export_parcel_owners</tt>, <tt>capabilities</tt>,
and <tt>authorization</tt>.</t>
      <t>The Key Binding JWT has the header <tt>{"alg": "ES256", "typ": "kb+jwt"}</tt>
and the following payload:</t>
      <sourcecode type="json"><![CDATA[
{
  "iat": 1767226000,
  "aud": "https://client.example.com",
  "nonce": "tZignsnFbp8tC2rXq0VhGw",
  "sd_hash": "Y4xmzvUM-DlG6qA3DD7g8kc8YSokzPeJE-XJt7kfEio"
}
]]></sourcecode>
      <t>The presentation in compact serialization (line breaks for display only)
is:</t>
      <artwork><![CDATA[
eyJhbGciOiJFUzI1NiIsInR5cCI6ImRjK3NkLWp3dCJ9.eyJpc3MiOiJodHRwczovL3J
lZ2lzdHJ5LmV4YW1wbGUuY29tIiwic3ViIjoibWNwOmdlb2RhdGEtc2VydmVyIiwiaWF
0IjoxNzY3MjI1NjAwLCJleHAiOjE3OTg3NjE1OTksInZjdCI6InVybjppZXRmOnBhcmF
tczpzZC1jYXJkOm1jcDphZ2VudC1jYXJkIiwiX3NkX2FsZyI6InNoYS0yNTYiLCJfc2Q
iOlsiOVQwMXNacTFNUWVIWWVRZmlOSVc5eDhscjVZYmFaUlhsaUZ5U1pxZ2lVSSIsIkg
1VWlhdFY0TzRudm43YzRtZFlKR0lHM0g3ZThZelhzMHI4dTAzTGpwaVkiXSwic3VwcG9
ydGVkVmVyc2lvbnMiOlsiMjAyNi0wNy0yOCJdLCJuYW1lIjoiZ2VvZGF0YS1zZXJ2ZXI
iLCJkZXNjcmlwdGlvbiI6Ikdlb3NwYXRpYWwgbG9va3VwIHRvb2xzIiwidmVyc2lvbiI
6IjMuNC4xIiwidXJsIjoiaHR0cHM6Ly9nZW9kYXRhLmV4YW1wbGUuY29tL21jcCIsInR
vb2xzIjpbeyIuLi4iOiJFQ3pjazJVSW5UeGRzTDY0bC1WclFBYXFBdVE2YmpsSXpvLXZ
ZZmN5WklZIn0seyIuLi4iOiJDTmlZZi03VUZ4cE11WEhJVkJjNkVWRkw3NkM5d1hiZXh
SZUcwVjEzZEdrIn0seyIuLi4iOiI2NERyei1XbWFIMnNGcVJGMUJrNXRpOXdqbWstR0x
JWW5WUWlhbzBOMGZnIn1dLCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0
yNTYiLCJ4IjoiQmdLbVV1VEo1Rm1NY2NRSV91SzYxTjdReElwZzBENVU2akowcXNPWWV
PcyIsInkiOiJ4TVlJc0tzVHVYZFlGSnZQc3A1T1k1VVRTZXIxbmcwcjRQaG0wU21pM0h
jIn19fQ.SiYev_dmT3yIoXPR0vlbOJASGsrs2MuJeHfQAXW-iNVPA_IBYMehKnuM3QjD
Ud2ymBzq4mL6nP2q2ku8b1PzYQ~WyI0M0pXb1RQMzRMaTdjWkVNMHpJYzFBIix7Im5hb
WUiOiJnZXRfZWxldmF0aW9uIiwiZGVzY3JpcHRpb24iOiJHcm91bmQgZWxldmF0aW9uI
GluIG1ldGVycyBhdCBhIHBvaW50IiwiaW5wdXRTY2hlbWEiOnsidHlwZSI6Im9iamVjd
CIsInByb3BlcnRpZXMiOnsibGF0Ijp7InR5cGUiOiJudW1iZXIifSwibG5nIjp7InR5c
GUiOiJudW1iZXIifX0sInJlcXVpcmVkIjpbImxhdCIsImxuZyJdfX1d~WyJadXNFOVFJ
c3pocFZ3NElHS3RXMUdnIix7Im5hbWUiOiJnZW9jb2RlX2FkZHJlc3MiLCJkZXNjcmlw
dGlvbiI6IkNvbnZlcnRzIGFuIGFkZHJlc3MgdG8gY29vcmRpbmF0ZXMiLCJpbnB1dFNj
aGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJhZGRyZXNzIjp7InR5
cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImFkZHJlc3MiXX19XQ~eyJhbGciOiJFU
zI1NiIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE3NjcyMjYwMDAsImF1ZCI6Imh0dHBz
Oi8vY2xpZW50LmV4YW1wbGUuY29tIiwibm9uY2UiOiJ0WmlnbnNuRmJwOHRDMnJYcTBW
aEd3Iiwic2RfaGFzaCI6Ilk0eG16dlVNLURsRzZxQTNERDdnOGtjOFlTb2t6UGVKRS1Y
SnQ3a2ZFaW8ifQ.QpIDTDfw2SQ_wz-RHkFZu4joXbSU4l7lf9EYO2vnhPS9gieCOR_yv
-omJgmC08Y5ViZPqgzvAc1VIOecj9LBjw
]]></artwork>
      <!-- /generated:mcp-examples -->

</section>
    <section anchor="pap-examples">
      <name>PAP Binding Examples</name>
      <!-- generated:pap-examples -->

<section anchor="pap-company-example">
        <name>Company SD-Card</name>
        <t>The following Company SD-Card discloses its public OpenAPI description
and, to selected Personal Agents, a partner MCP server that its public
<tt>poppy.json</tt> does not list. Its issuer-signed JWT has the following
payload:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "https://auth.example.com",
  "iat": 1767225600,
  "exp": 1798761599,
  "vct": "urn:ietf:params:sd-card:pap:company-card",
  "_sd_alg": "sha-256",
  "_sd": [
    "aJzNGL_UcOnRSGSvrkDEAMQL21Qh1h6CyzTP4KHCGWc",
    "sg-qP1wAbCVS9KJJsYkf-yuMDWNCpKpFP_l-hDyfhXU"
  ],
  "protocol_version": "0.3",
  "name": "Example Company",
  "domain": "example.com",
  "apis": [
    {
      "...": "w_MX6wqpXNIBS_UtmOdpC3lOmq4mgDHJhfR52QW1mSg"
    },
    {
      "...": "IafpGvOvRsjNL6PxNKTM6cxqMuEtxypTANDmPCNx1T4"
    }
  ],
  "scope_hints": {
    "_sd": [
      "2Kg8ZWdLfcFdB4oXEvOT4BgSQ7QNL9fLk1H3-6POSWE",
      "vRmNRX7z-XbXqeyq2Q1x7y-xczk-rPf9UUWv8NmCHaQ"
    ]
  },
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "7t0MSqKqUlkUTxPmIr8sDsRN4RTXQyKQGMGljtwKIwo",
      "y": "L1-V5oSxn3hkpJ-KtQq-dEyk-MqLRyMRtuKRO7CJNVc"
    }
  }
}
]]></sourcecode>
        <t>Disclosure for the <tt>openapi</tt> API:</t>
        <sourcecode type="json"><![CDATA[
[
  "qwZMxiDVer23D3BZozXQhg",
  {
    "type": "openapi",
    "url": "https://api.example.com/openapi.json",
    "description": "Orders, returns, and exchanges"
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJxd1pNeGlEVmVyMjNEM0Jab3pYUWhnIix7InR5cGUiOiJvcGVuYXBpIiwidXJsIjoi
aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vb3BlbmFwaS5qc29uIiwiZGVzY3JpcHRpb24i
OiJPcmRlcnMsIHJldHVybnMsIGFuZCBleGNoYW5nZXMifV0

SHA-256 digest:
w_MX6wqpXNIBS_UtmOdpC3lOmq4mgDHJhfR52QW1mSg
]]></artwork>
        <t>Disclosure for the partner <tt>mcp</tt> API:</t>
        <sourcecode type="json"><![CDATA[
[
  "F4WpND3NNijo7QFlBGi7cw",
  {
    "type": "mcp",
    "url": "https://partners.example.com/mcp",
    "description": "Partner inventory and allocation"
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJGNFdwTkQzTk5pam83UUZsQkdpN2N3Iix7InR5cGUiOiJtY3AiLCJ1cmwiOiJodHRw
czovL3BhcnRuZXJzLmV4YW1wbGUuY29tL21jcCIsImRlc2NyaXB0aW9uIjoiUGFydG5l
ciBpbnZlbnRvcnkgYW5kIGFsbG9jYXRpb24ifV0

SHA-256 digest:
IafpGvOvRsjNL6PxNKTM6cxqMuEtxypTANDmPCNx1T4
]]></artwork>
        <t>Disclosure for the <tt>orders:read</tt> scope hint:</t>
        <sourcecode type="json"><![CDATA[
[
  "h2ccxMjDltejtmbOURrwuQ",
  "orders:read",
  {
    "changes": "none",
    "personal_data": true
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJoMmNjeE1qRGx0ZWp0bWJPVVJyd3VRIiwib3JkZXJzOnJlYWQiLHsiY2hhbmdlcyI6
Im5vbmUiLCJwZXJzb25hbF9kYXRhIjp0cnVlfV0

SHA-256 digest:
2Kg8ZWdLfcFdB4oXEvOT4BgSQ7QNL9fLk1H3-6POSWE
]]></artwork>
        <t>Disclosure for the <tt>orders:write</tt> scope hint:</t>
        <sourcecode type="json"><![CDATA[
[
  "cdVQTJ7Nbz0EfJBGqkaNrQ",
  "orders:write",
  {
    "changes": "irreversible",
    "personal_data": true
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJjZFZRVEo3TmJ6MEVmSkJHcWthTnJRIiwib3JkZXJzOndyaXRlIix7ImNoYW5nZXMi
OiJpcnJldmVyc2libGUiLCJwZXJzb25hbF9kYXRhIjp0cnVlfV0

SHA-256 digest:
vRmNRX7z-XbXqeyq2Q1x7y-xczk-rPf9UUWv8NmCHaQ
]]></artwork>
        <t>Disclosure for <tt>agent</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "jy8iZYGgKZyDEQbDtIEZog",
  "agent",
  {
    "protocols": [
      {
        "type": "poppy",
        "endpoint": "https://api.example.com/poppy/conversations"
      }
    ]
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJqeThpWllHZ0taeURFUWJEdElFWm9nIiwiYWdlbnQiLHsicHJvdG9jb2xzIjpbeyJ0
eXBlIjoicG9wcHkiLCJlbmRwb2ludCI6Imh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL3Bv
cHB5L2NvbnZlcnNhdGlvbnMifV19XQ

SHA-256 digest:
sg-qP1wAbCVS9KJJsYkf-yuMDWNCpKpFP_l-hDyfhXU
]]></artwork>
        <t>Disclosure for <tt>extensions</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "p_r-pHAgK_c-1wO1LS7iAg",
  "extensions",
  {
    "ietf.org/sd-card": {
      "version": "1",
      "endpoint": "https://api.example.com/poppy/sd-card",
      "issuers": [
        "https://registry.example.com"
      ],
      "requested_claims": [
        "provider",
        "security_properties"
      ]
    }
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJwX3ItcEhBZ0tfYy0xd08xTFM3aUFnIiwiZXh0ZW5zaW9ucyIseyJpZXRmLm9yZy9z
ZC1jYXJkIjp7InZlcnNpb24iOiIxIiwiZW5kcG9pbnQiOiJodHRwczovL2FwaS5leGFt
cGxlLmNvbS9wb3BweS9zZC1jYXJkIiwiaXNzdWVycyI6WyJodHRwczovL3JlZ2lzdHJ5
LmV4YW1wbGUuY29tIl0sInJlcXVlc3RlZF9jbGFpbXMiOlsicHJvdmlkZXIiLCJzZWN1
cml0eV9wcm9wZXJ0aWVzIl19fV0

SHA-256 digest:
aJzNGL_UcOnRSGSvrkDEAMQL21Qh1h6CyzTP4KHCGWc
]]></artwork>
        <t>In response to the well-known URI request of <xref target="pap-discovery"/>, the
Company presents its SD-Card to a Personal Agent that is not a partner,
withholding the partner MCP API.</t>
        <t>The Key Binding JWT has the header <tt>{"alg": "ES256", "typ": "kb+jwt"}</tt>
and the following payload:</t>
        <sourcecode type="json"><![CDATA[
{
  "iat": 1767226000,
  "aud": "https://agent.example/agent.json",
  "nonce": "Rk3vQ9wLx2bT7hNcYp0eAg",
  "sd_hash": "FKMauTf98FDbNMh781J3lgF9xyYGckbq6lXBFvPoE1U"
}
]]></sourcecode>
        <t>The presentation in compact serialization (line breaks for display only)
is:</t>
        <artwork><![CDATA[
eyJhbGciOiJFUzI1NiIsInR5cCI6ImRjK3NkLWp3dCJ9.eyJpc3MiOiJodHRwczovL3J
lZ2lzdHJ5LmV4YW1wbGUuY29tIiwic3ViIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29
tIiwiaWF0IjoxNzY3MjI1NjAwLCJleHAiOjE3OTg3NjE1OTksInZjdCI6InVybjppZXR
mOnBhcmFtczpzZC1jYXJkOnBhcDpjb21wYW55LWNhcmQiLCJfc2RfYWxnIjoic2hhLTI
1NiIsIl9zZCI6WyJhSnpOR0xfVWNPblJTR1N2cmtERUFNUUwyMVFoMWg2Q3l6VFA0S0h
DR1djIiwic2ctcVAxd0FiQ1ZTOUtKSnNZa2YteXVNRFdOQ3BLcEZQX2wtaER5ZmhYVSJ
dLCJwcm90b2NvbF92ZXJzaW9uIjoiMC4zIiwibmFtZSI6IkV4YW1wbGUgQ29tcGFueSI
sImRvbWFpbiI6ImV4YW1wbGUuY29tIiwiYXBpcyI6W3siLi4uIjoid19NWDZ3cXBYTkl
CU19VdG1PZHBDM2xPbXE0bWdESEpoZlI1MlFXMW1TZyJ9LHsiLi4uIjoiSWFmcEd2T3Z
Sc2pOTDZQeE5LVE02Y3hxTXVFdHh5cFRBTkRtUENOeDFUNCJ9XSwic2NvcGVfaGludHM
iOnsiX3NkIjpbIjJLZzhaV2RMZmNGZEI0b1hFdk9UNEJnU1E3UU5MOWZMazFIMy02UE9
TV0UiLCJ2Um1OUlg3ei1YYlhxZXlxMlExeDd5LXhjemstclBmOVVVV3Y4Tm1DSGFRIl1
9LCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiN3QwTVN
xS3FVbGtVVHhQbUlyOHNEc1JONFJUWFF5S1FHTUdsanR3S0l3byIsInkiOiJMMS1WNW9
TeG4zaGtwSi1LdFFxLWRFeWstTXFMUnlNUnR1S1JPN0NKTlZjIn19fQ.366IbF-FHT7C
3Rer8fJFAJjol9kYUqrr5IpJW3wCgf5u96TmoHBDAYWV_lWvs7GdFKFkTFsQW-QEXsGl
FZS16A~WyJxd1pNeGlEVmVyMjNEM0Jab3pYUWhnIix7InR5cGUiOiJvcGVuYXBpIiwid
XJsIjoiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vb3BlbmFwaS5qc29uIiwiZGVzY3Jpc
HRpb24iOiJPcmRlcnMsIHJldHVybnMsIGFuZCBleGNoYW5nZXMifV0~WyJoMmNjeE1qR
Gx0ZWp0bWJPVVJyd3VRIiwib3JkZXJzOnJlYWQiLHsiY2hhbmdlcyI6Im5vbmUiLCJwZ
XJzb25hbF9kYXRhIjp0cnVlfV0~WyJjZFZRVEo3TmJ6MEVmSkJHcWthTnJRIiwib3JkZ
XJzOndyaXRlIix7ImNoYW5nZXMiOiJpcnJldmVyc2libGUiLCJwZXJzb25hbF9kYXRhI
jp0cnVlfV0~WyJqeThpWllHZ0taeURFUWJEdElFWm9nIiwiYWdlbnQiLHsicHJvdG9jb
2xzIjpbeyJ0eXBlIjoicG9wcHkiLCJlbmRwb2ludCI6Imh0dHBzOi8vYXBpLmV4YW1wb
GUuY29tL3BvcHB5L2NvbnZlcnNhdGlvbnMifV19XQ~WyJwX3ItcEhBZ0tfYy0xd08xTF
M3aUFnIiwiZXh0ZW5zaW9ucyIseyJpZXRmLm9yZy9zZC1jYXJkIjp7InZlcnNpb24iOi
IxIiwiZW5kcG9pbnQiOiJodHRwczovL2FwaS5leGFtcGxlLmNvbS9wb3BweS9zZC1jYX
JkIiwiaXNzdWVycyI6WyJodHRwczovL3JlZ2lzdHJ5LmV4YW1wbGUuY29tIl0sInJlcX
Vlc3RlZF9jbGFpbXMiOlsicHJvdmlkZXIiLCJzZWN1cml0eV9wcm9wZXJ0aWVzIl19fV
0~eyJhbGciOiJFUzI1NiIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE3NjcyMjYwMDAsI
mF1ZCI6Imh0dHBzOi8vYWdlbnQuZXhhbXBsZS9hZ2VudC5qc29uIiwibm9uY2UiOiJSa
zN2UTl3THgyYlQ3aE5jWXAwZUFnIiwic2RfaGFzaCI6IkZLTWF1VGY5OEZEYk5NaDc4M
UozbGdGOXh5WUdja2JxNmxYQkZ2UG9FMVUifQ.3lgUcbQOVSyrl6kxxKYzJWFDb5fgau
hYXslpaBcqUvgbkxE4UJT2Dmrd8HzukC_X9njPItfA8ZrF-0uNX6gReQ
]]></artwork>
      </section>
      <section anchor="pap-agent-example">
        <name>Personal Agent SD-Card</name>
        <t>The following Personal Agent SD-Card carries three attested security
properties and one certification. Its issuer-signed JWT has the
following payload:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "https://agent.example/agent.json",
  "iat": 1767225600,
  "exp": 1798761599,
  "vct": "urn:ietf:params:sd-card:pap:agent-card",
  "_sd_alg": "sha-256",
  "_sd": [
    "6GH6iySztz_L0xpX5ce1nEY8yPrcxdIyaz26LjJAHvE",
    "IJcMSmlhJnlyBEhT7dK_XkipF2bVnwCAED96nvCMUhU",
    "Z3k4HY1r2Gs4jbFwgpY7-RqfU1SHs6DSaciAfxm25eM"
  ],
  "name": "Example Agent",
  "jwks_uri": "https://agent.example/jwks.json",
  "security_properties": {
    "_sd": [
      "3c8QcgcCSVQz_T-AOADYnO1AKRePLuHRgzElBF8nJQo",
      "FDol_qww2o5PoREm36vRo_zBlg6-g5Xjrv7OA_sXAuQ",
      "g17S5l2qGRploiJEjPKaRRD8PAIW4TT-lJPd0I--iOE"
    ]
  },
  "certifications": [
    {
      "...": "9KbSANcu1LgcE_XauEaZspHMoASVMg8iz6bM-mBxYQM"
    }
  ],
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "rcb61_FGgWZhmA2QjsS3vkcei7Jk0DzjL8VHIKgsmms",
      "y": "48ZSN62KUwUpeiFONBkLb41MGbFF1HR0LWneXqWXav4"
    }
  }
}
]]></sourcecode>
        <t>Disclosure for <tt>blind_signing</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "4Gg1rgvbL66FGIj2VN_aKQ",
  "blind_signing",
  false
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyI0R2cxcmd2Ykw2NkZHSWoyVk5fYUtRIiwiYmxpbmRfc2lnbmluZyIsZmFsc2Vd

SHA-256 digest:
3c8QcgcCSVQz_T-AOADYnO1AKRePLuHRgzElBF8nJQo
]]></artwork>
        <t>Disclosure for <tt>delegated_keys_on_device</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "eQnWZvK4tybxYY2FYGwBBg",
  "delegated_keys_on_device",
  true
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJlUW5XWnZLNHR5YnhZWTJGWUd3QkJnIiwiZGVsZWdhdGVkX2tleXNfb25fZGV2aWNl
Iix0cnVlXQ

SHA-256 digest:
g17S5l2qGRploiJEjPKaRRD8PAIW4TT-lJPd0I--iOE
]]></artwork>
        <t>Disclosure for <tt>model_isolated_secrets</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "HChNKl55M2gT582qrg3LjQ",
  "model_isolated_secrets",
  true
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJIQ2hOS2w1NU0yZ1Q1ODJxcmczTGpRIiwibW9kZWxfaXNvbGF0ZWRfc2VjcmV0cyIs
dHJ1ZV0

SHA-256 digest:
FDol_qww2o5PoREm36vRo_zBlg6-g5Xjrv7OA_sXAuQ
]]></artwork>
        <t>Disclosure for the certification:</t>
        <sourcecode type="json"><![CDATA[
[
  "Nu6kNUoGQZRGk8yOqTwiQA",
  {
    "scheme": "https://certs.example/agent-security",
    "id": "cert-2026-0042"
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJOdTZrTlVvR1FaUkdrOHlPcVR3aVFBIix7InNjaGVtZSI6Imh0dHBzOi8vY2VydHMu
ZXhhbXBsZS9hZ2VudC1zZWN1cml0eSIsImlkIjoiY2VydC0yMDI2LTAwNDIifV0

SHA-256 digest:
9KbSANcu1LgcE_XauEaZspHMoASVMg8iz6bM-mBxYQM
]]></artwork>
        <t>Disclosure for <tt>provider</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "CtM3U1ZlCBQiG1_K4Ox2sA",
  "provider",
  {
    "organization": "Example Agent Co.",
    "url": "https://agent.example"
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJDdE0zVTFabENCUWlHMV9LNE94MnNBIiwicHJvdmlkZXIiLHsib3JnYW5pemF0aW9u
IjoiRXhhbXBsZSBBZ2VudCBDby4iLCJ1cmwiOiJodHRwczovL2FnZW50LmV4YW1wbGUi
fV0

SHA-256 digest:
Z3k4HY1r2Gs4jbFwgpY7-RqfU1SHs6DSaciAfxm25eM
]]></artwork>
        <t>Disclosure for <tt>logo_uri</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "u7baxWrx0KJuH9BJvjfOwA",
  "logo_uri",
  "https://agent.example/logo.png"
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyJ1N2JheFdyeDBLSnVIOUJKdmpmT3dBIiwibG9nb191cmkiLCJodHRwczovL2FnZW50
LmV4YW1wbGUvbG9nby5wbmciXQ

SHA-256 digest:
6GH6iySztz_L0xpX5ce1nEY8yPrcxdIyaz26LjJAHvE
]]></artwork>
        <t>Disclosure for <tt>extensions</tt>:</t>
        <sourcecode type="json"><![CDATA[
[
  "5n-80cLz7bLHvbjwYKu82w",
  "extensions",
  {
    "ietf.org/sd-card": {
      "version": "1"
    }
  }
]
]]></sourcecode>
        <artwork><![CDATA[
Encoded:
WyI1bi04MGNMejdiTEh2Ymp3WUt1ODJ3IiwiZXh0ZW5zaW9ucyIseyJpZXRmLm9yZy9z
ZC1jYXJkIjp7InZlcnNpb24iOiIxIn19XQ

SHA-256 digest:
IJcMSmlhJnlyBEhT7dK_XkipF2bVnwCAED96nvCMUhU
]]></artwork>
        <t>In the request of <xref target="pap-extension"/>, the Personal Agent presents its
SD-Card to the Company, disclosing <tt>provider</tt>, <tt>blind_signing</tt>, and
<tt>model_isolated_secrets</tt>. The <tt>nonce</tt> is the <tt>jti</tt> of the Session JWT in
the same request.</t>
        <t>The Key Binding JWT has the header <tt>{"alg": "ES256", "typ": "kb+jwt"}</tt>
and the following payload:</t>
        <sourcecode type="json"><![CDATA[
{
  "iat": 1767226000,
  "aud": "https://auth.example.com",
  "nonce": "e1j3V_bKic8-LAEBq7Rw2g",
  "sd_hash": "8skcG11PG2LRWQap36R1YbRuA5pXcel7SGEOy1ti8b8"
}
]]></sourcecode>
        <t>The presentation in compact serialization (line breaks for display only)
is:</t>
        <artwork><![CDATA[
eyJhbGciOiJFUzI1NiIsInR5cCI6ImRjK3NkLWp3dCJ9.eyJpc3MiOiJodHRwczovL3J
lZ2lzdHJ5LmV4YW1wbGUuY29tIiwic3ViIjoiaHR0cHM6Ly9hZ2VudC5leGFtcGxlL2F
nZW50Lmpzb24iLCJpYXQiOjE3NjcyMjU2MDAsImV4cCI6MTc5ODc2MTU5OSwidmN0Ijo
idXJuOmlldGY6cGFyYW1zOnNkLWNhcmQ6cGFwOmFnZW50LWNhcmQiLCJfc2RfYWxnIjo
ic2hhLTI1NiIsIl9zZCI6WyI2R0g2aXlTenR6X0wweHBYNWNlMW5FWTh5UHJjeGRJeWF
6MjZMakpBSHZFIiwiSUpjTVNtbGhKbmx5QkVoVDdkS19Ya2lwRjJiVm53Q0FFRDk2bnZ
DTVVoVSIsIlozazRIWTFyMkdzNGpiRndncFk3LVJxZlUxU0hzNkRTYWNpQWZ4bTI1ZU0
iXSwibmFtZSI6IkV4YW1wbGUgQWdlbnQiLCJqd2tzX3VyaSI6Imh0dHBzOi8vYWdlbnQ
uZXhhbXBsZS9qd2tzLmpzb24iLCJzZWN1cml0eV9wcm9wZXJ0aWVzIjp7Il9zZCI6WyI
zYzhRY2djQ1NWUXpfVC1BT0FEWW5PMUFLUmVQTHVIUmd6RWxCRjhuSlFvIiwiRkRvbF9
xd3cybzVQb1JFbTM2dlJvX3pCbGc2LWc1WGpydjdPQV9zWEF1USIsImcxN1M1bDJxR1J
wbG9pSkVqUEthUlJEOFBBSVc0VFQtbEpQZDBJLS1pT0UiXX0sImNlcnRpZmljYXRpb25
zIjpbeyIuLi4iOiI5S2JTQU5jdTFMZ2NFX1hhdUVhWnNwSE1vQVNWTWc4aXo2Yk0tbUJ
4WVFNIn1dLCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijo
icmNiNjFfRkdnV1pobUEyUWpzUzN2a2NlaTdKazBEempMOFZISUtnc21tcyIsInkiOiI
0OFpTTjYyS1V3VXBlaUZPTkJrTGI0MU1HYkZGMUhSMExXbmVYcVdYYXY0In19fQ.OgpT
_UvOg4nC-vfvDQcCs-ffY3U3ty40FyXZJKnTo35xAF4oKbBFvFPoJ3DKFrssFmM-bnXv
7KttSIwwy3jpQw~WyJDdE0zVTFabENCUWlHMV9LNE94MnNBIiwicHJvdmlkZXIiLHsib
3JnYW5pemF0aW9uIjoiRXhhbXBsZSBBZ2VudCBDby4iLCJ1cmwiOiJodHRwczovL2FnZ
W50LmV4YW1wbGUifV0~WyI0R2cxcmd2Ykw2NkZHSWoyVk5fYUtRIiwiYmxpbmRfc2lnb
mluZyIsZmFsc2Vd~WyJIQ2hOS2w1NU0yZ1Q1ODJxcmczTGpRIiwibW9kZWxfaXNvbGF0
ZWRfc2VjcmV0cyIsdHJ1ZV0~eyJhbGciOiJFUzI1NiIsInR5cCI6ImtiK2p3dCJ9.eyJ
pYXQiOjE3NjcyMjYwMDAsImF1ZCI6Imh0dHBzOi8vYXV0aC5leGFtcGxlLmNvbSIsIm5
vbmNlIjoiZTFqM1ZfYktpYzgtTEFFQnE3UncyZyIsInNkX2hhc2giOiI4c2tjRzExUEc
yTFJXUWFwMzZSMVliUnVBNXBYY2VsN1NHRU95MXRpOGI4In0.Pvjl6-08FHeQRsuZuE5
AUrxJaqNOZ_oU5xfQseay0IhCvWijlZzA0X_hDZdBGwDE993eC6XBu1IddZIkwFuSWw
]]></artwork>
        <!-- /generated:pap-examples -->

</section>
    </section>
    <section anchor="a2a-examples">
      <name>A2A Binding Examples</name>
      <!-- generated:a2a-examples -->

<t>The examples in this appendix are for an agent with the following native
Agent Card (the <tt>signatures</tt> member is omitted):</t>
      <sourcecode type="json"><![CDATA[
{
  "name": "GeoSpatial Route Planner Agent",
  "description": "Route planning and traffic analysis",
  "version": "1.2.0",
  "supportedInterfaces": [
    {
      "url": "https://georoute-agent.example.com/a2a/v1",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://georoute-agent.example.com/a2a/grpc",
      "protocolBinding": "GRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://georoute-agent.example.com/a2a/json",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "skills": [
    {
      "id": "route-optimizer-traffic",
      "name": "Traffic-Aware Route Optimizer",
      "description": "Optimal driving routes with live traffic",
      "tags": [
        "maps",
        "routing",
        "navigation",
        "traffic"
      ],
      "examples": [
        "Plan a route from Mountain View to SFO avoiding tolls."
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "application/vnd.geo+json"
      ]
    },
    {
      "id": "custom-map-generator",
      "name": "Personalized Map Generator",
      "description": "Custom map images from points of interest",
      "tags": [
        "maps",
        "customization",
        "visualization"
      ],
      "examples": [
        "Generate a map of my road trip with all stops marked."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "image/png",
        "image/jpeg"
      ]
    }
  ],
  "capabilities": {
    "streaming": true,
    "pushNotifications": true,
    "extendedAgentCard": true,
    "extensions": [
      {
        "uri": "urn:ietf:params:sd-card:a2a",
        "description": "SD-Card key-bound presentation",
        "required": false
      }
    ]
  },
  "securitySchemes": {
    "bearer": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    },
    "apiKey": {
      "apiKeySecurityScheme": {
        "location": "header",
        "name": "X-API-Key"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "bearer": {
          "list": [
            "route.read"
          ]
        }
      }
    },
    {
      "schemes": {
        "apiKey": {
          "list": []
        }
      }
    }
  ],
  "provider": {
    "organization": "Example Geo Services Inc.",
    "url": "https://www.examplegeoservices.com"
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "image/png"
  ],
  "documentationUrl": "https://docs.example.com/georoute/api",
  "iconUrl": "https://georoute-agent.example.com/icon.png"
}
]]></sourcecode>
      <t>Its SD-Card has the following issuer-signed JWT payload. The digests in
the top-level <tt>_sd</tt> array are sorted, as recommended by <xref target="RFC9901"/>, so
that their order does not reveal claim names; the <tt>supportedInterfaces</tt>
and <tt>skills</tt> arrays contain one digest per element, in the order of the
native Agent Card:</t>
      <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "iat": 1767225600,
  "exp": 1798761599,
  "vct": "urn:ietf:params:sd-card:a2a:agent-card",
  "_sd_alg": "sha-256",
  "_sd": [
    "AWAL2ayXi0cd7csdXv_sXidFYqlhZX9be5iomHYHkec",
    "BOvhArNcCssa1U0_6YWQGqA2DYYLI8bFNfhmMBQ55Fo",
    "EZd-DNHuqQD0bRRxnL7TIEIfTIHgD-hPaKVChtlRT4M",
    "FgbvYfB6JqdEjNxyF05bfsrWSCH7mkWxAi28QD9iIqw",
    "GMNvMxuapmwYAyFC-WKO6WxBZbM5sEDEx_2oKKzpNvY",
    "STPLV1FuTajpbbKxf8BzKcl5VqNbr_qr97txspH5Jg0",
    "xBKXSxbl8v-6sqqcLTWyepSa_IAWsan4tLVM26NWhe4",
    "zqQAwSfFlKrkTIJBUv_CHBIB2_6iR4nv4ZC_tCvpPnU"
  ],
  "name": "GeoSpatial Route Planner Agent",
  "description": "Route planning and traffic analysis",
  "version": "1.2.0",
  "supportedInterfaces": [
    {
      "...": "W7W2L92tnRYd4koIzVIhlAPfSzhLEAUAGl3hF93fQgg"
    },
    {
      "...": "oKwVkXTM0mZZESMbDqCK4vym2r9QNCtUL_6ml88gdtw"
    },
    {
      "...": "WFN8IW9crHJ7CfZzH6CtP43gRzqMeVTgbhGSU883XNg"
    }
  ],
  "skills": [
    {
      "...": "1AHkDy9GmVjWbXthKSb9jpPWjfMWi9BACM07gTRI4DY"
    },
    {
      "...": "YtdzrPs6Jh2f-75QXW2FCNFSxUr9RajZ-W3MvH2W3GY"
    }
  ],
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "NRV8L0GsHzQL4auGECf1EuQAAbWQDnZPp_rY1Iopvn0",
      "y": "uTOlnJ2S83z6DM7r0_pvVemMtsefFm-Lk4oiwHNbF5o"
    }
  }
}
]]></sourcecode>
      <t>Disclosure for the <tt>JSONRPC</tt> interface:</t>
      <sourcecode type="json"><![CDATA[
[
  "WTNDgkT7wkj4FrdZrh8NVQ",
  {
    "url": "https://georoute-agent.example.com/a2a/v1",
    "protocolBinding": "JSONRPC",
    "protocolVersion": "1.0"
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJXVE5EZ2tUN3drajRGcmRacmg4TlZRIix7InVybCI6Imh0dHBzOi8vZ2Vvcm91dGUt
YWdlbnQuZXhhbXBsZS5jb20vYTJhL3YxIiwicHJvdG9jb2xCaW5kaW5nIjoiSlNPTlJQ
QyIsInByb3RvY29sVmVyc2lvbiI6IjEuMCJ9XQ

SHA-256 digest:
W7W2L92tnRYd4koIzVIhlAPfSzhLEAUAGl3hF93fQgg
]]></artwork>
      <t>Disclosure for the <tt>GRPC</tt> interface:</t>
      <sourcecode type="json"><![CDATA[
[
  "kgioGea_nc4e26NCTOXodw",
  {
    "url": "https://georoute-agent.example.com/a2a/grpc",
    "protocolBinding": "GRPC",
    "protocolVersion": "1.0"
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJrZ2lvR2VhX25jNGUyNk5DVE9Yb2R3Iix7InVybCI6Imh0dHBzOi8vZ2Vvcm91dGUt
YWdlbnQuZXhhbXBsZS5jb20vYTJhL2dycGMiLCJwcm90b2NvbEJpbmRpbmciOiJHUlBD
IiwicHJvdG9jb2xWZXJzaW9uIjoiMS4wIn1d

SHA-256 digest:
oKwVkXTM0mZZESMbDqCK4vym2r9QNCtUL_6ml88gdtw
]]></artwork>
      <t>Disclosure for the <tt>HTTP+JSON</tt> interface:</t>
      <sourcecode type="json"><![CDATA[
[
  "BHsoR5aBrcLKwndvjlZJ3g",
  {
    "url": "https://georoute-agent.example.com/a2a/json",
    "protocolBinding": "HTTP+JSON",
    "protocolVersion": "1.0"
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJCSHNvUjVhQnJjTEt3bmR2amxaSjNnIix7InVybCI6Imh0dHBzOi8vZ2Vvcm91dGUt
YWdlbnQuZXhhbXBsZS5jb20vYTJhL2pzb24iLCJwcm90b2NvbEJpbmRpbmciOiJIVFRQ
K0pTT04iLCJwcm90b2NvbFZlcnNpb24iOiIxLjAifV0

SHA-256 digest:
WFN8IW9crHJ7CfZzH6CtP43gRzqMeVTgbhGSU883XNg
]]></artwork>
      <t>Disclosure for the <tt>route-optimizer-traffic</tt> skill:</t>
      <sourcecode type="json"><![CDATA[
[
  "JcXyRSV5CQSPZ9IJkklUow",
  {
    "id": "route-optimizer-traffic",
    "name": "Traffic-Aware Route Optimizer",
    "description": "Optimal driving routes with live traffic",
    "tags": [
      "maps",
      "routing",
      "navigation",
      "traffic"
    ],
    "examples": [
      "Plan a route from Mountain View to SFO avoiding tolls."
    ],
    "inputModes": [
      "application/json",
      "text/plain"
    ],
    "outputModes": [
      "application/json",
      "application/vnd.geo+json"
    ]
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJKY1h5UlNWNUNRU1BaOUlKa2tsVW93Iix7ImlkIjoicm91dGUtb3B0aW1pemVyLXRy
YWZmaWMiLCJuYW1lIjoiVHJhZmZpYy1Bd2FyZSBSb3V0ZSBPcHRpbWl6ZXIiLCJkZXNj
cmlwdGlvbiI6Ik9wdGltYWwgZHJpdmluZyByb3V0ZXMgd2l0aCBsaXZlIHRyYWZmaWMi
LCJ0YWdzIjpbIm1hcHMiLCJyb3V0aW5nIiwibmF2aWdhdGlvbiIsInRyYWZmaWMiXSwi
ZXhhbXBsZXMiOlsiUGxhbiBhIHJvdXRlIGZyb20gTW91bnRhaW4gVmlldyB0byBTRk8g
YXZvaWRpbmcgdG9sbHMuIl0sImlucHV0TW9kZXMiOlsiYXBwbGljYXRpb24vanNvbiIs
InRleHQvcGxhaW4iXSwib3V0cHV0TW9kZXMiOlsiYXBwbGljYXRpb24vanNvbiIsImFw
cGxpY2F0aW9uL3ZuZC5nZW8ranNvbiJdfV0

SHA-256 digest:
1AHkDy9GmVjWbXthKSb9jpPWjfMWi9BACM07gTRI4DY
]]></artwork>
      <t>Disclosure for the <tt>custom-map-generator</tt> skill:</t>
      <sourcecode type="json"><![CDATA[
[
  "p5CehwGx-qdqIB__xjYklg",
  {
    "id": "custom-map-generator",
    "name": "Personalized Map Generator",
    "description": "Custom map images from points of interest",
    "tags": [
      "maps",
      "customization",
      "visualization"
    ],
    "examples": [
      "Generate a map of my road trip with all stops marked."
    ],
    "inputModes": [
      "application/json"
    ],
    "outputModes": [
      "image/png",
      "image/jpeg"
    ]
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJwNUNlaHdHeC1xZHFJQl9feGpZa2xnIix7ImlkIjoiY3VzdG9tLW1hcC1nZW5lcmF0
b3IiLCJuYW1lIjoiUGVyc29uYWxpemVkIE1hcCBHZW5lcmF0b3IiLCJkZXNjcmlwdGlv
biI6IkN1c3RvbSBtYXAgaW1hZ2VzIGZyb20gcG9pbnRzIG9mIGludGVyZXN0IiwidGFn
cyI6WyJtYXBzIiwiY3VzdG9taXphdGlvbiIsInZpc3VhbGl6YXRpb24iXSwiZXhhbXBs
ZXMiOlsiR2VuZXJhdGUgYSBtYXAgb2YgbXkgcm9hZCB0cmlwIHdpdGggYWxsIHN0b3Bz
IG1hcmtlZC4iXSwiaW5wdXRNb2RlcyI6WyJhcHBsaWNhdGlvbi9qc29uIl0sIm91dHB1
dE1vZGVzIjpbImltYWdlL3BuZyIsImltYWdlL2pwZWciXX1d

SHA-256 digest:
YtdzrPs6Jh2f-75QXW2FCNFSxUr9RajZ-W3MvH2W3GY
]]></artwork>
      <t>Disclosure for <tt>capabilities</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "aizVNSQQSkX9N88wd6a0ng",
  "capabilities",
  {
    "streaming": true,
    "pushNotifications": true,
    "extendedAgentCard": true,
    "extensions": [
      {
        "uri": "urn:ietf:params:sd-card:a2a",
        "description": "SD-Card key-bound presentation",
        "required": false
      }
    ]
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJhaXpWTlNRUVNrWDlOODh3ZDZhMG5nIiwiY2FwYWJpbGl0aWVzIix7InN0cmVhbWlu
ZyI6dHJ1ZSwicHVzaE5vdGlmaWNhdGlvbnMiOnRydWUsImV4dGVuZGVkQWdlbnRDYXJk
Ijp0cnVlLCJleHRlbnNpb25zIjpbeyJ1cmkiOiJ1cm46aWV0ZjpwYXJhbXM6c2QtY2Fy
ZDphMmEiLCJkZXNjcmlwdGlvbiI6IlNELUNhcmQga2V5LWJvdW5kIHByZXNlbnRhdGlv
biIsInJlcXVpcmVkIjpmYWxzZX1dfV0

SHA-256 digest:
EZd-DNHuqQD0bRRxnL7TIEIfTIHgD-hPaKVChtlRT4M
]]></artwork>
      <t>Disclosure for <tt>securitySchemes</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "ATmAiwGeb2dopQumqW3EyQ",
  "securitySchemes",
  {
    "bearer": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    },
    "apiKey": {
      "apiKeySecurityScheme": {
        "location": "header",
        "name": "X-API-Key"
      }
    }
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJBVG1BaXdHZWIyZG9wUXVtcVczRXlRIiwic2VjdXJpdHlTY2hlbWVzIix7ImJlYXJl
ciI6eyJodHRwQXV0aFNlY3VyaXR5U2NoZW1lIjp7InNjaGVtZSI6IkJlYXJlciIsImJl
YXJlckZvcm1hdCI6IkpXVCJ9fSwiYXBpS2V5Ijp7ImFwaUtleVNlY3VyaXR5U2NoZW1l
Ijp7ImxvY2F0aW9uIjoiaGVhZGVyIiwibmFtZSI6IlgtQVBJLUtleSJ9fX1d

SHA-256 digest:
zqQAwSfFlKrkTIJBUv_CHBIB2_6iR4nv4ZC_tCvpPnU
]]></artwork>
      <t>Disclosure for <tt>securityRequirements</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "72KzFibaBhxIEEO_BfkUBQ",
  "securityRequirements",
  [
    {
      "schemes": {
        "bearer": {
          "list": [
            "route.read"
          ]
        }
      }
    },
    {
      "schemes": {
        "apiKey": {
          "list": []
        }
      }
    }
  ]
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyI3Mkt6RmliYUJoeElFRU9fQmZrVUJRIiwic2VjdXJpdHlSZXF1aXJlbWVudHMiLFt7
InNjaGVtZXMiOnsiYmVhcmVyIjp7Imxpc3QiOlsicm91dGUucmVhZCJdfX19LHsic2No
ZW1lcyI6eyJhcGlLZXkiOnsibGlzdCI6W119fX1dXQ

SHA-256 digest:
FgbvYfB6JqdEjNxyF05bfsrWSCH7mkWxAi28QD9iIqw
]]></artwork>
      <t>Disclosure for <tt>provider</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "DlLAMK9B5fBfGXBAtzkXcw",
  "provider",
  {
    "organization": "Example Geo Services Inc.",
    "url": "https://www.examplegeoservices.com"
  }
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJEbExBTUs5QjVmQmZHWEJBdHprWGN3IiwicHJvdmlkZXIiLHsib3JnYW5pemF0aW9u
IjoiRXhhbXBsZSBHZW8gU2VydmljZXMgSW5jLiIsInVybCI6Imh0dHBzOi8vd3d3LmV4
YW1wbGVnZW9zZXJ2aWNlcy5jb20ifV0

SHA-256 digest:
AWAL2ayXi0cd7csdXv_sXidFYqlhZX9be5iomHYHkec
]]></artwork>
      <t>Disclosure for <tt>defaultInputModes</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "skk6w1xqLNRjlbApRHf4ZQ",
  "defaultInputModes",
  [
    "application/json",
    "text/plain"
  ]
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJza2s2dzF4cUxOUmpsYkFwUkhmNFpRIiwiZGVmYXVsdElucHV0TW9kZXMiLFsiYXBw
bGljYXRpb24vanNvbiIsInRleHQvcGxhaW4iXV0

SHA-256 digest:
BOvhArNcCssa1U0_6YWQGqA2DYYLI8bFNfhmMBQ55Fo
]]></artwork>
      <t>Disclosure for <tt>defaultOutputModes</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "bZn5ISqDUwQ74wv61Uj7hw",
  "defaultOutputModes",
  [
    "application/json",
    "image/png"
  ]
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJiWm41SVNxRFV3UTc0d3Y2MVVqN2h3IiwiZGVmYXVsdE91dHB1dE1vZGVzIixbImFw
cGxpY2F0aW9uL2pzb24iLCJpbWFnZS9wbmciXV0

SHA-256 digest:
STPLV1FuTajpbbKxf8BzKcl5VqNbr_qr97txspH5Jg0
]]></artwork>
      <t>Disclosure for <tt>documentationUrl</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "E2M7EMPjNPenCRdFr6yTsg",
  "documentationUrl",
  "https://docs.example.com/georoute/api"
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJFMk03RU1Qak5QZW5DUmRGcjZ5VHNnIiwiZG9jdW1lbnRhdGlvblVybCIsImh0dHBz
Oi8vZG9jcy5leGFtcGxlLmNvbS9nZW9yb3V0ZS9hcGkiXQ

SHA-256 digest:
GMNvMxuapmwYAyFC-WKO6WxBZbM5sEDEx_2oKKzpNvY
]]></artwork>
      <t>Disclosure for <tt>iconUrl</tt>:</t>
      <sourcecode type="json"><![CDATA[
[
  "of-8J5G2jl1VX7yRAPITzA",
  "iconUrl",
  "https://georoute-agent.example.com/icon.png"
]
]]></sourcecode>
      <artwork><![CDATA[
Encoded:
WyJvZi04SjVHMmpsMVZYN3lSQVBJVHpBIiwiaWNvblVybCIsImh0dHBzOi8vZ2Vvcm91
dGUtYWdlbnQuZXhhbXBsZS5jb20vaWNvbi5wbmciXQ

SHA-256 digest:
xBKXSxbl8v-6sqqcLTWyepSa_IAWsan4tLVM26NWhe4
]]></artwork>
      <t>For the public context of the registration example
(<xref target="registration-example"/>), the agent discloses its first interface and
skill and its default input and output modes. Responding to the
activation of the SD-Card extension (<xref target="a2a-extension"/>), it adds a Key
Binding JWT.</t>
      <t>The Key Binding JWT has the header <tt>{"alg": "ES256", "typ": "kb+jwt"}</tt>
and the following payload:</t>
      <sourcecode type="json"><![CDATA[
{
  "iat": 1767226000,
  "aud": "https://client.example.com",
  "nonce": "8xk2Nq4ZpR0vWm3TfL7cHg",
  "sd_hash": "8i7sLfsLeUks8T61y4AGtJT0Yn1CfPGCXnW5XUiZRb8",
  "interaction_id": "12345678-1234-1234-1234-123456789abc"
}
]]></sourcecode>
      <t>The presentation in compact serialization (line breaks for display only)
is:</t>
      <artwork><![CDATA[
eyJhbGciOiJFUzI1NiIsInR5cCI6ImRjK3NkLWp3dCJ9.eyJpc3MiOiJodHRwczovL3J
lZ2lzdHJ5LmV4YW1wbGUuY29tIiwic3ViIjoiYWdlbnQ6Z2Vvcm91dGUtcGxhbm5lci1
2MSIsImlhdCI6MTc2NzIyNTYwMCwiZXhwIjoxNzk4NzYxNTk5LCJ2Y3QiOiJ1cm46aWV
0ZjpwYXJhbXM6c2QtY2FyZDphMmE6YWdlbnQtY2FyZCIsIl9zZF9hbGciOiJzaGEtMjU
2IiwiX3NkIjpbIkFXQUwyYXlYaTBjZDdjc2RYdl9zWGlkRllxbGhaWDliZTVpb21IWUh
rZWMiLCJCT3ZoQXJOY0Nzc2ExVTBfNllXUUdxQTJEWVlMSThiRk5maG1NQlE1NUZvIiw
iRVpkLUROSHVxUUQwYlJSeG5MN1RJRUlmVElIZ0QtaFBhS1ZDaHRsUlQ0TSIsIkZnYnZ
ZZkI2SnFkRWpOeHlGMDViZnNyV1NDSDdta1d4QWkyOFFEOWlJcXciLCJHTU52TXh1YXB
td1lBeUZDLVdLTzZXeEJaYk01c0VERXhfMm9LS3pwTnZZIiwiU1RQTFYxRnVUYWpwYmJ
LeGY4QnpLY2w1VnFOYnJfcXI5N3R4c3BINUpnMCIsInhCS1hTeGJsOHYtNnNxcWNMVFd
5ZXBTYV9JQVdzYW40dExWTTI2TldoZTQiLCJ6cVFBd1NmRmxLcmtUSUpCVXZfQ0hCSUI
yXzZpUjRudjRaQ190Q3ZwUG5VIl0sIm5hbWUiOiJHZW9TcGF0aWFsIFJvdXRlIFBsYW5
uZXIgQWdlbnQiLCJkZXNjcmlwdGlvbiI6IlJvdXRlIHBsYW5uaW5nIGFuZCB0cmFmZml
jIGFuYWx5c2lzIiwidmVyc2lvbiI6IjEuMi4wIiwic3VwcG9ydGVkSW50ZXJmYWNlcyI
6W3siLi4uIjoiVzdXMkw5MnRuUllkNGtvSXpWSWhsQVBmU3poTEVBVUFHbDNoRjkzZlF
nZyJ9LHsiLi4uIjoib0t3VmtYVE0wbVpaRVNNYkRxQ0s0dnltMnI5UU5DdFVMXzZtbDg
4Z2R0dyJ9LHsiLi4uIjoiV0ZOOElXOWNySEo3Q2Zaekg2Q3RQNDNnUnpxTWVWVGdiaEd
TVTg4M1hOZyJ9XSwic2tpbGxzIjpbeyIuLi4iOiIxQUhrRHk5R21WaldiWHRoS1NiOWp
wUFdqZk1XaTlCQUNNMDdnVFJJNERZIn0seyIuLi4iOiJZdGR6clBzNkpoMmYtNzVRWFc
yRkNORlN4VXI5UmFqWi1XM012SDJXM0dZIn1dLCJjbmYiOnsiandrIjp7Imt0eSI6IkV
DIiwiY3J2IjoiUC0yNTYiLCJ4IjoiTlJWOEwwR3NIelFMNGF1R0VDZjFFdVFBQWJXUUR
uWlBwX3JZMUlvcHZuMCIsInkiOiJ1VE9sbkoyUzgzejZETTdyMF9wdlZlbU10c2VmRm0
tTGs0b2l3SE5iRjVvIn19fQ.O7TMP6ZKTDIdBAIREumTIn9tBCo350YE-7oHzVuqrC6J
JwLdXoB7cSDpx_Ug7SpIw0u75BA996X4B7gCxTb3nQ~WyJXVE5EZ2tUN3drajRGcmRac
mg4TlZRIix7InVybCI6Imh0dHBzOi8vZ2Vvcm91dGUtYWdlbnQuZXhhbXBsZS5jb20vY
TJhL3YxIiwicHJvdG9jb2xCaW5kaW5nIjoiSlNPTlJQQyIsInByb3RvY29sVmVyc2lvb
iI6IjEuMCJ9XQ~WyJKY1h5UlNWNUNRU1BaOUlKa2tsVW93Iix7ImlkIjoicm91dGUtb3
B0aW1pemVyLXRyYWZmaWMiLCJuYW1lIjoiVHJhZmZpYy1Bd2FyZSBSb3V0ZSBPcHRpbW
l6ZXIiLCJkZXNjcmlwdGlvbiI6Ik9wdGltYWwgZHJpdmluZyByb3V0ZXMgd2l0aCBsaX
ZlIHRyYWZmaWMiLCJ0YWdzIjpbIm1hcHMiLCJyb3V0aW5nIiwibmF2aWdhdGlvbiIsIn
RyYWZmaWMiXSwiZXhhbXBsZXMiOlsiUGxhbiBhIHJvdXRlIGZyb20gTW91bnRhaW4gVm
lldyB0byBTRk8gYXZvaWRpbmcgdG9sbHMuIl0sImlucHV0TW9kZXMiOlsiYXBwbGljYX
Rpb24vanNvbiIsInRleHQvcGxhaW4iXSwib3V0cHV0TW9kZXMiOlsiYXBwbGljYXRpb2
4vanNvbiIsImFwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiJdfV0~WyJza2s2dzF4cUxOUm
psYkFwUkhmNFpRIiwiZGVmYXVsdElucHV0TW9kZXMiLFsiYXBwbGljYXRpb24vanNvbi
IsInRleHQvcGxhaW4iXV0~WyJiWm41SVNxRFV3UTc0d3Y2MVVqN2h3IiwiZGVmYXVsdE
91dHB1dE1vZGVzIixbImFwcGxpY2F0aW9uL2pzb24iLCJpbWFnZS9wbmciXV0~eyJhbG
ciOiJFUzI1NiIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE3NjcyMjYwMDAsImF1ZCI6I
mh0dHBzOi8vY2xpZW50LmV4YW1wbGUuY29tIiwibm9uY2UiOiI4eGsyTnE0WnBSMHZXb
TNUZkw3Y0hnIiwic2RfaGFzaCI6IjhpN3NMZnNMZVVrczhUNjF5NEFHdEpUMFluMUNmU
EdDWG5XNVhVaVpSYjgiLCJpbnRlcmFjdGlvbl9pZCI6IjEyMzQ1Njc4LTEyMzQtMTIzN
C0xMjM0LTEyMzQ1Njc4OWFiYyJ9.m-TXiQsDv7y9a-hYnklQSNKFwiLrvUHrP1kbBeSW
4sMQt8VSIhmE6kPbZyUFPrEyg8hljxKa0J0S6g4n8RDW2A
]]></artwork>
      <t>The discovery response of <xref target="a2a-discovery"/> carries the same
presentation without the Key Binding JWT, ending at the last <tt>~</tt>.</t>
      <!-- /generated:a2a-examples -->

</section>
  </back>
  <!-- ##markdown-source:
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
l/SFbLV9uVuvu5HXDaggGJXAx/SmacTH5hHwdeyMJj2jw6xQgcUKVRl0BROY
wO7e5bbpdBXB2uqlKZXxwiLHIIPBKn2unIftyP+7ebC7vrmxSRESmYIcH0WG
f4ln7C7JsGIZ2AOL3RIesiXhHdLa9yCdo+68v8umI3/yTMYiBAlfeaFMgtub
3ZWj6sH86Xz27LXO5uPX5HE8mAxHN+PJ8PrmdGN6fH/bupnuCssUDTo4vZ9d
7p+G/s359tPz7GI8r8fJ5Gmz1Rj3ry9O+/1+evgazHfDz+ItMvOczK+uvWp/
5M3aB8Ner38xq18+9o/T7vjicq25efp08Px1Z2fsPx99XpKavNl65i0oYAVu
UTvyL0Ji5/HL8Hp6dbx2MDz1/Yv6/fTLerWxcfFSHz9W9tau15+OK1+Ts9vg
LDEg8XJ6W0++JFfTm97twfHzeTJeO7tdu766DCbV+LEyWT3vDyuXw3DlyDcg
AaN/mW6OD8/HD4PxU/m2/7QeXUy6By3vyZvvXc6G/bS1Wp7f3m2vKkgYbOht
UIy9sSvy8/8qLDbSyunl1y9fr6PB9dXL+bA++ZzsJc3GavPq5mL+5eLw9DB6
Smdf6rORAYuTarm1Nrp8iVf6g/Fx+Ut68bXc258PyqdfT5rz02Y6/dI829g9
brRMWGwcep8nh8nXyrj2dTbffE4fbr7u3l5Nd1cOaofdYeOmfX3cHX45uD71
LVhkI95+BJKxfJ5o/l+FzMTvrlfvDw4f23f94Xbt4im5XHke+EG4cTyo7L0+
nXxuHdW/PCbDoYklq5/vLhvrtS/Xs+txEB6cNXYGJ93V6ulh9+CgetSsnLTj
4OZr+8Z7XjUg87Wytxt8iedrs97wtf80erwGmh8dHG+sRK3yxsHB2vb5fNjd
C25Gjwoyyn34NkAw6uPfgkOj2fp8UjlMjl4vTla96eH+7kN1f3qxvd1tX+zF
d+fj+8lttT4aP8cm3ZhenUXxce3y88rr+t7pxqRyP35uBcPTNAkeDoblk8Hq
KJwdNboHayMDDq/Nr/VxY/q4vv302B+OgvFpfDHffL1Yv3s5mb3ujvyjq+Fu
dz28nSYKDsS3fn2LcdldBfclreZKeMpNm+OA5l3NAY2EslymqN3yTzhp0CCQ
ci8KMud4CxKmufmYq5pOsD5c2J3CsXvNSHOx2WxFGKO4YhgzjrJotY3iksgQ
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
ebFx0TjZfDgZVI9WyuvnZ5ftfW07eG4OG82bjdfyTffmazD/WruovmzMyy/+
66A8OX/YvL5uP39uDHePvAvDtvAfdl7/bOwXvfnT8V/vc16j2RqwoYNJITkz
0tfZ3elLuNcKJrWVvZWdu9HrzUXfcsEptwEPIzE9E/2QrZcsniZSs8CdcYYR
oklJJo6KFjHC6JAsvWXxeelVx43gMNpHTeL0qbF/Wjn2uivj2+t2PxYGQynG
IOee3t7sjE053zGNM/7hYAoidL97s5PcXa6BwFF5JrPx8GDmXa599WvFkhow
2uNzH23y8WmCdvbeEehv+Bstk7s7UXAoDIwgcBQaa37iHC7cX0n2O8Dwivf4
YLU9buytNBrh02jj4iDaOQw3/FnRHht2v8z+iq8ki8yEmb09F5MKY+zUilW3
KAkrknU13tzdw8ZBb3Y1uHi9GqyNveHnlevru+Ri0Bs3ao2VzO5Kc1zVH86U
Fu+wGg8KdNwkR8hCFa7AoXJ9eACC3lrk+OHOGEXKbtx89uPBI+zkAHY2AcXy
ib0Pq8W7+hNU8Y1TS6djC02gHdFIqU91vzOb26/5/svp016UBk/psHt23ZzM
psIObIxh7rY8YVtk4gnkFsrYznuRbiy8Cgu3aXQ6bDwF+9WvzcOXyl17XOm2
j89breN5b6VFZtfuCgrqx69n0oZ5lISgnPS7wx6J0Q5I+s/d4TUZN/HBbg0k
/wPWupVVvwjCP8EYfgjh2SRMgzdB7PdaF1fHG43ua2X/4Xjn8OvAa0xsENMg
C2AcTrBUFXD2bvSXYf10d3DXBB165Wp4vH4KZO9yAFpiO+1fxccZWPcAm5sR
K1Ka/CCtGvuwEcIEAgrdX4D7T/DWBU4NlFbzzoyn+efw7vbw8cvdfG//oruX
1vfvRo9CkKEIWwO0UlwyvRCG21rSMhJ1zSii95f59ymOJBHeYelq/rEj4mtw
1R+3o+jorpJ6wXXz4Lp9vN/bjw7aw82YzCTtHpATPgmoVPYOUb2VFqTjiiO1
T/9wc+YfDXCHgA01Z90aey5NJwXytBxhW9l5dvyjnbWTmtSHG+zyiJEFFbuq
fkJoLd5Vo4pBbmvH95Py+Gj78cu9X67Ozqonlxvhtthaw7Fo7O/C5g1uYfuG
n9pZu4GDa7Vw0Jjypg4jowmsyINsUwc9lu7uoK8VdXmwgxTewrLZzUo99ff7
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
x53dPsXXfVkaFvrktZsmvd4iKMpP2zEZqcebfX/NCc/DuXPgusPipUMslMOb
ODO0hReyqt7rEZZ0VYH9ngHXtowNuHi077OpEZmeVYRj1etH+YsZzUVz2acG
QxF9XmgK3xl9XmveLoLD+mXTFUJ8/vRMypaJM0OJUSt93VfcyHkyCXHH4SbB
2v9z6USPEmjUdz5MovGh+nwGs2/dEH80VglcbleRT1OTRotYey7jqMOsA2cd
9iRDPo10ftMx8mu3yCfW/91YvmXQJO3ghS4RwdqNFNZPFddPFx0tcZQml8LY
e8Pr0omwfFHA6gVynfvaJKDbmhBOCLt6d+42OMiha5Ix+FeDStREetESQUbk
/bFkkbKz8f7G+Cji1eUjeitCvMONoOsDe/r+rLK/mNJ4sVyxM/c18zszIC6H
2tRaBeX3p/TEw/QL/9J3ZnTtgHFTcCO0cDKSWH0vxeTIoPu2hyvEn59RPNj7
bF1b6QN7Q8NqSEpdEQlWttITaoRcTLt5Bs5ROyWMmFzP5wOy9f58vvvFPptU
itusFNKl1v5kXGbBLkocgVh8f1JPtekv+Oq+M7NDlZN2emSEciZEGl0QYNBx
N61cNZKyv2Bm3+OB92aWNxhFRsZormnoxYXMeZLEJBrcTpR64NC7P8F3PJR/
/KjPxaupFnxrr6gGOZTVF6fPC3Gc6Kuz/fsVx+dDbs8/6fS89HGde7iu3J23
nJ3nrs5jid4bHq4/5eQ8tnvTuXXfG3nl3Dy2c9vV9UlDnzs1P0Xyj20sJPVE
MiVdUnSMcqd6MnbxYmOY/UZQtlmAx+3jEbCCCJbPwOE0sZQ92E5O6pq1MHyv
ZWlwQuikTm7vMSrAmb2jUqpHGCj4+VIXlTGTbotWqSvcIef1Lfvw9wLWtnQ4
IQ/qyCM8Fg1Y0W4R4AnqDqmNazkJzyn7YwcgKQMKNvehKUCHhX5TCL6+sT5s
Gygk7tZZt011ZD77aABmGHxkRbbgGp2tQm8JCxACMQ6hVayzB9JioZl9zMuU
0DU7CwOmauwp1NtTmhL3FohtOTvXrEXGAsj+jceJ2xrGA17F5wxUg3HR9gG2
RZUee4zHd3ZuJtU9Q0DXkhkn73zQA/CUJgECvMpXG+BTpoTg9dzGm+DxhHC2
zhCWAe+tm4vulFZ+QHW+L59uecvvCaecHM7Ckq2e3oI3nnp9rSI7ThbXwukT
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
I3GBBfnHT8jnfIktv4KE/39Svy/QSJgBAA==

-->

</rfc>
