<?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-jwt-02" category="info" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Agent-SD-JWT">SD Agent: Selective Disclosure for Agent Discovery and Identity Management</title>
    <seriesInfo name="Internet-Draft" value="draft-nandakumar-agent-sd-jwt-02"/>
    <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="February" day="28"/>
    <area>Security</area>
    <keyword>agent-to-agent</keyword>
    <keyword>selective disclosure</keyword>
    <keyword>JWT</keyword>
    <keyword>privacy</keyword>
    <keyword>identity management</keyword>
    <abstract>
      <?line 103?>

<t>This document defines how Selective Disclosure for JWTs (SD-JWT) integrates
with Agent-to-Agent (A2A) systems to provide privacy-preserving agent discovery
and cryptographically verifiable identity management. It specifies the SD-Card
format - an SD-JWT encoding of Agent Cards that enables selective disclosure of
agent capabilities, contact information, and operational metadata while
maintaining cryptographic integrity and preventing correlation across different
interaction contexts.</t>
    </abstract>
  </front>
  <middle>
    <?line 113?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Agent-to-Agent (A2A) specification <xref target="A2A-SPEC"/> defines protocols for
autonomous agent discovery and interaction through standardized Agent Cards.
Current A2A implementations have following limitations:</t>
      <ol spacing="normal" type="1"><li>
          <t>Information Leakage: Agent Cards expose all capabilities during
discovery</t>
        </li>
        <li>
          <t>Weak Authentication: No cryptographic verification of agent identity</t>
        </li>
        <li>
          <t>Static Disclosure: No context-based capability filtering</t>
        </li>
        <li>
          <t>Linkability: Identical presentations enable cross-context tracking</t>
        </li>
      </ol>
      <t>This document specifies SD-Card, an SD-JWT <xref target="RFC9901"/> encoding of Agent Cards
that addresses these limitations through:</t>
      <ul spacing="normal">
        <li>
          <t>Selective Disclosure: Context-specific capability revelation</t>
        </li>
        <li>
          <t>Cryptographic Authentication: Key-bound agent identity verification</t>
        </li>
        <li>
          <t>Unlinkable Presentations: Privacy-preserving multi-context interactions</t>
        </li>
        <li>
          <t>Backward Compatibility: Interoperability with existing A2A
implementations</t>
        </li>
      </ul>
      <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 Card: A JSON metadata document describing an agent's capabilities,
identity, and interaction requirements as defined in <xref target="A2A-SPEC"/>.</t>
        <t>SD-Card: An Agent Card encoded as an SD-JWT that enables selective
disclosure of agent metadata.</t>
        <t>Agent Registry: A trusted service that issues and manages SD-Cards for
agents within a domain or federation.</t>
        <t>Discovery Context: A named security context (e.g., "public", "internal",
"diagnostic") that determines which claims are disclosed in an SD-Card
presentation.</t>
        <t>Capability Disclosure: The selective revelation of specific agent
capabilities based on the requesting entity's authorization and context.</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>
        <t>SD-JWT Media Type: The <tt>application/vnd.sd-jwt+json</tt> media type is used to
indicate content that contains Selective Disclosure JWT data within JSON
structures. This vendor-specific media type distinguishes SD-JWT presentations
from standard JSON content and signals that the receiver should process the
content using SD-JWT parsing and verification procedures.</t>
      </section>
      <section anchor="notational-conventions">
        <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 format for signed tokens</t>
          </li>
          <li>
            <t>SHA-256 hashing for selective disclosure</t>
          </li>
          <li>
            <t>Tilde (~) separator for SD-JWT serialization:</t>
          </li>
        </ul>
        <artwork><![CDATA[
  <Issuer-signed JWT>~<Disclosure 1>~<Disclosure 2>~...<Key Binding JWT>
]]></artwork>
      </section>
    </section>
    <section anchor="overview-of-sd-card-architecture-and-benefits">
      <name>Overview of SD-Card Architecture and Benefits</name>
      <t>SD-Card enhances Agent-to-Agent (A2A) interactions by providing privacy-preserving agent
discovery and cryptographically verifiable agent authentication. SD-Card
enables selective disclosure of agent capabilities, skills, and endpoints based on requester
authorization and discovery context, unlinkable agent interactions across different contexts,
cryptographic integrity of agent metadata, and key binding for
authentication that complements transport-layer security.</t>
      <section anchor="system-architecture">
        <name>System Architecture</name>
        <t>The SD-Card architecture involves four primary components: Agent Registries that issue
credentials, Agents that hold and present SD-Cards, Services that agents interact with,
and Clients that discover and invoke agents. The following diagram illustrates these
relationships and the flow of SD-Card issuance and presentation:</t>
        <figure anchor="fig-arch">
          <name>SD-Card System Architecture</name>
          <artwork><![CDATA[
+------------------+                      +------------------+
|                  |   (1) Register       |                  |
|  Agent Registry  |<---------------------|      Agent       |
|    (Issuer)      |                      |    (Holder)      |
|                  |--------------------->|                  |
+------------------+   (2) Issue SD-Card  +------------------+
        |                                         |
        |                                         |
        | (3) Publish                             | (4) Present
        |     Discovery                           |     SD-Card
        |     Metadata                            |     (Selective)
        v                                         v
+------------------+                      +------------------+
|                  |   (5) Discover       |                  |
|     Client       |--------------------->|     Service      |
|   (Verifier)     |                      |   (Verifier)     |
|                  |<---------------------|                  |
+------------------+   (6) Agent Info     +------------------+
        |                                         ^
        |                                         |
        +-----------------------------------------+
                  (7) Invoke Agent via Service
                      (with Key Binding proof)
]]></artwork>
        </figure>
        <t>The architecture operates as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Registration: An Agent registers with an Agent Registry, providing its
capabilities, skills, and public key material for key binding.</t>
          </li>
          <li>
            <t>SD-Card Issuance: The Registry issues an SD-Card (SD-JWT) containing
the agent's metadata with selectively disclosable claims. The SD-Card
includes the agent's confirmation key (<tt>cnf</tt> claim) for holder binding.</t>
          </li>
          <li>
            <t>Discovery Publication: The Registry may publish non-sensitive discovery
metadata to enable clients to locate agents matching their requirements.</t>
          </li>
          <li>
            <t>Selective Presentation: When interacting with Services, the Agent presents
its SD-Card with only the disclosures relevant to the interaction context.
Different contexts receive different subsets of claims.</t>
          </li>
          <li>
            <t>Client Discovery: Clients query the Registry or Services to discover
agents with specific capabilities. The discovery response contains only
claims appropriate for the discovery context.</t>
          </li>
          <li>
            <t>Agent Information: The discovered agent information is returned to the
client, enabling informed decisions about which agent to invoke.</t>
          </li>
          <li>
            <t>Agent Invocation: The Client invokes the Agent through the Service,
with the Agent providing a Key Binding JWT to prove possession of the
private key corresponding to its SD-Card.</t>
          </li>
        </ol>
        <t>This architecture enables privacy-preserving agent discovery while maintaining
cryptographic verifiability. Agents control what information they reveal in
each context, and verifiers can trust that presented claims are authentic
and unmodified.</t>
      </section>
      <section anchor="challenges-with-traditional-agent-discovery">
        <name>Challenges with Traditional Agent Discovery</name>
        <t>Traditional agent discovery in Agent-to-Agent protocol faces several challenges:</t>
        <dl>
          <dt>Information Leakage:</dt>
          <dd>
            <t>Agent Cards expose all capabilities to any entity performing discovery,
potentially revealing sensitive operational details.</t>
          </dd>
          <dt>Linkability:</dt>
          <dd>
            <t>Identical capabilities presented to different verifiers enable tracking
across contexts.</t>
          </dd>
          <dt>Authenticity:</dt>
          <dd>
            <t>Without cryptographic verification, Agent Cards can be forged or tampered
with during transmission.</t>
          </dd>
          <dt>Capability Enumeration:</dt>
          <dd>
            <t>Attackers can enumerate all agent capabilities by performing discovery,
potentially identifying attack vectors.</t>
          </dd>
          <dt>Context Insensitivity:</dt>
          <dd>
            <t>Agents cannot adapt capability disclosure based on the requesting entity's
authorization level or intended use case.</t>
          </dd>
        </dl>
        <t>Allowing agents to selectively disclose their capabilities addresses these
challenges through:</t>
        <dl>
          <dt>Selective Capability Disclosure:</dt>
          <dd>
            <t>Agents reveal only capabilities relevant to the specific discovery context
or requester authorization level.</t>
          </dd>
          <dt>Unlinkable Presentations:</dt>
          <dd>
            <t>Different presentations of the same agent to different verifiers cannot be
linked, enhancing privacy.</t>
          </dd>
          <dt>Flexible Authentication:</dt>
          <dd>
            <t>Key binding enables strong agent authentication without relying solely on
transport security.</t>
          </dd>
          <dt>Batch Credential Issuance:</dt>
          <dd>
            <t>Multiple context-specific credentials can be issued to the same agent for
different use cases.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sd-card-agent-card">
      <name>SD-Card Agent Card</name>
      <t>This specification defienes "SD-Card". An SD-Card is an Agent Card encoded
as an SD-JWT.</t>
      <section anchor="agent-card-structure">
        <name>Agent Card Structure</name>
        <t>The base Agent Card structure follows the A2A specification <xref target="A2A-SPEC"/> but is extended
to support selective disclosure. The card consists of three main components:</t>
        <ol spacing="normal" type="1"><li>
            <t>Base Claims: Always disclosed information that establishes the agent's
identity, protocol version, and basic metadata</t>
          </li>
          <li>
            <t>Selective Disclosure Claims: A2A-specific information that can be selectively
revealed based on the discovery context including skills, interfaces, and provider details</t>
          </li>
          <li>
            <t>Cryptographic Binding: Keys and signatures that ensure authenticity
and enable secure agent interactions</t>
          </li>
        </ol>
        <t>The Agent Card is represented as a Selective Disclosure JSON Web Token (SD-JWT) that
contains both standard A2A Agent Card fields and selective disclosure metadata :</t>
        <artwork><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "iat": 1704063600,
  "exp": 1735685999,
  "vct": "urn:ietf:params:oauth:token-type:sd-agent-card",
  "_sd_alg": "sha-256",
  "_sd": [
    "kV7i-VgPK9Qj8vYNJ4L8hFG3cR9ZqX2mE5wC6oA1nBs", // skills
    "3sdf8mN2p9uX7L3vE8nGrR5kW6oF4tC9jL7vM2nX8qE", // additionalInterfaces
    "8kF2nM3p4uY9L5cG6rT7qW9oR2vX1jE4mN8sC5fH0aZ", // capabilities
    "9mH4pL5rZ8wQ2nX7cV6sT3kE1oY0jF9uR4vB6nM8fG2", // securitySchemes
    "7kRt2qW5mX9jN4cF7zPsE8nG1vH0oY3lM6xC9fK2bA8", // provider
    "5nK3wL8tB4eR9mY2cF6qG7oT1vX0jH3pN4rS8zE5fC6", // defaultInputModes
    "2pM8fT4nR6oX3cG7zE9qL5wY1vS0jF6kH2nB8mC4rT9"  // defaultOutputModes
  ],
  "protocolVersion": "0.2.9",
  "name": "GeoSpatial Route Planner Agent",
  "description": "Provides advanced route planning and traffic analysis services",
  "version": "1.2.0",
  "url": "https://georoute-agent.example.com/a2a/v1",
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
      "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
    }
  }
}
]]></artwork>
        <t>The following claims are permanently disclosed in the SD-Card:</t>
        <dl>
          <dt>iss:</dt>
          <dd>
            <t>The issuer of the Agent Card (typically an Agent Registry). This
establishes the trust anchor for the credential and enables signature
verification. The issuer <bcp14>MUST</bcp14> be a resolvable URI that provides access to
the issuer's public key material.</t>
          </dd>
          <dt>sub:</dt>
          <dd>
            <t>The unique identifier of the agent within the issuer's namespace. This
identifier <bcp14>MUST</bcp14> be stable across different Agent Card issuances for the
same logical agent, enabling correlation when authorized while supporting
unlinkable presentations through different salt values.</t>
          </dd>
          <dt>iat:</dt>
          <dd>
            <t>The time at which the Agent Card was issued (Unix timestamp).</t>
          </dd>
          <dt>exp:</dt>
          <dd>
            <t>The expiration time of the Agent Card (Unix timestamp).</t>
          </dd>
          <dt>vct:</dt>
          <dd>
            <t>The verifiable credential type, identifying this as an SD-Card Agent Card.
This value <bcp14>MUST</bcp14> be "urn:ietf:params:oauth:token-type:sd-agent-card"
for compliance with this specification.</t>
          </dd>
          <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>
          <dt>cnf:</dt>
          <dd>
            <t>The confirmation key for agent authentication. This public key enables key
binding and ensures that only the legitimate agent can present the Agent
Card. The key <bcp14>MUST</bcp14> be in JSON Web Key (JWK) format.</t>
          </dd>
        </dl>
      </section>
      <section anchor="selective-disclosure-claims">
        <name>Selective Disclosure Claims</name>
        <t>The following claims are selectively disclosed based on the discovery context:</t>
        <section anchor="skills-and-capabilities">
          <name>Skills and Capabilities</name>
          <t>The skills claim contains an array of A2A AgentSkill objects that the agent can perform.
Each skill definition follows the A2A specification and includes input/output modes,
examples, and metadata for proper integration.</t>
          <section anchor="original-skills-json-object">
            <name>Original Skills JSON Object:</name>
            <artwork><![CDATA[
"skills": [
  {
    "id": "route-optimizer-traffic",
    "name": "Traffic-Aware Route Optimizer",
    "description": "Calculates optimal driving route between locations with real-time traffic",
    "tags": ["maps", "routing", "navigation", "directions", "traffic"],
    "examples": [
      "Plan a route from '1600 Amphitheatre Parkway, Mountain View, CA' to 'San Francisco International Airport' avoiding tolls.",
      "{\"origin\": {\"lat\": 37.422, \"lng\": -122.084}, \"destination\": {\"lat\": 37.7749, \"lng\": -122.4194}, \"preferences\": [\"avoid_ferries\"]}"
    ],
    "inputModes": ["application/json", "text/plain"],
    "outputModes": [
      "application/json",
      "application/vnd.geo+json",
      "text/html"
    ]
  },
  {
    "id": "custom-map-generator",
    "name": "Personalized Map Generator",
    "description": "Creates custom map images based on user-defined points of interest",
    "tags": ["maps", "customization", "visualization", "cartography"],
    "examples": [
      "Generate a map of my upcoming road trip with all planned stops highlighted.",
      "Show me a map visualizing all coffee shops within a 1-mile radius of my current location."
    ],
    "inputModes": ["application/json"],
    "outputModes": [
      "image/png",
      "image/jpeg",
      "application/json",
      "text/html"
    ]
  }
]
]]></artwork>
          </section>
          <section anchor="sd-jwt-transformation-process">
            <name>SD-JWT Transformation Process:</name>
            <t>When converting the skills claim to selective disclosure, the Agent Registry performs the following transformation:</t>
            <t>Step 1: Generate Salt Value</t>
            <t>A cryptographically secure random salt is generated for the skills claim:</t>
            <artwork><![CDATA[
Salt: "_26bc4LT-ac6q2KI6cBW5es"
]]></artwork>
            <t>Step 2: Create Disclosure Array</t>
            <t>The skills claim is packaged into a disclosure array format:</t>
            <sourcecode type="json"><![CDATA[
    [
      "_26bc4LT-ac6q2KI6cBW5es",
      "skills",
      [
        {
          "id": "route-optimizer-traffic",
          "name": "Traffic-Aware Route Optimizer",
          "description": "Calculates optimal driving route between locations with real-time traffic",
          "tags": ["maps", "routing", "navigation", "directions", "traffic"],
          "examples": [
            "Plan a route from '1600 Amphitheatre Parkway, Mountain View, CA' to 'San Francisco International Airport' avoiding tolls.",
            "{\"origin\": {\"lat\": 37.422, \"lng\": -122.084}, \"destination\": {\"lat\": 37.7749, \"lng\": -122.4194}, \"preferences\": [\"avoid_ferries\"]}"
          ],
          "inputModes": ["application/json", "text/plain"],
          "outputModes": [
            "application/json",
            "application/vnd.geo+json",
            "text/html"
          ]
        },
        {
          "id": "custom-map-generator",
          "name": "Personalized Map Generator",
          "description": "Creates custom map images based to user-defined points of interest",
          "tags": ["maps", "customization", "visualization", "cartography"],
          "examples": [
            "Generate a map of my upcoming road trip with all planned stops highlighted.",
            "Show me a map visualizing all coffee shops within a 1-mile radius of my current location."
          ],
          "inputModes": ["application/json"],
          "outputModes": [
            "image/png",
            "image/jpeg",
            "application/json",
            "text/html"
          ]
        }
      ]
    ]
]]></sourcecode>
            <t>Step 3: Base64url Encode Disclosure</t>
            <t>The disclosure array is JSON-serialized and base64url-encoded:</t>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsInNraWxscyIsW3siaWQiOiJyb3V0ZS1vcHRp
bWl6ZXItdHJhZmZpYyIsIm5hbWUiOiJUcmFmZmljLUF3YXJlIFJvdXRlIE9wdGltaXplciIs
ImRlc2NyaXB0aW9uIjoiQ2FsY3VsYXRlcyBvcHRpbWFsIGRyaXZpbmcgcm91dGUgYmV0d2Vl
biBsb2NhdGlvbnMgd2l0aCByZWFsLXRpbWUgdHJhZmZpYyIsInRhZ3MiOlsibWFwcyIsInJv
dXRpbmciLCJuYXZpZ2F0aW9uIiwiZGlyZWN0aW9ucyIsInRyYWZmaWMiXSwiZXhhbXBsZXMi
OlsiUGxhbiBhIHJvdXRlIGZyb20gJzE2MDAgQW1waGl0aGVhdHJlIFBhcmt3YXksIE1vdW50
YWluIFZpZXcsIENBJyB0byAnU2FuIEZyYW5jaXNjbyBJbnRlcm5hdGlvbmFsIEFpcnBvcnQn
IGF2b2lkaW5nIHRvbGxzLiIsIntcIm9yaWdpblwiOiB7XCJsYXRcIjogMzcuNDIyLCBcImxu
Z1wiOiAtMTIyLjA4NH0sIFwiZGVzdGluYXRpb25cIjoge1wibGF0XCI6IDM3Ljc3NDksIFwi
bG5nXCI6IC0xMjIuNDE5NH0sIFwicHJlZmVyZW5jZXNcIjogW1wiYXZvaWRfZmVycmllc1wi
XX0iXSwiaW5wdXRNb2RlcyI6WyJhcHBsaWNhdGlvbi9qc29uIiwidGV4dC9wbGFpbiJdLCJv
dXRwdXRNb2RlcyI6WyJhcHBsaWNhdGlvbi9qc29uIiwiYXBwbGljYXRpb24vdm5kLmdlbytq
c29uIiwidGV4dC9odG1sIl19LHsiaWQiOiJjdXN0b20tbWFwLWdlbmVyYXRvciIsIm5hbWUi
OiJQZXJzb25hbGl6ZWQgTWFwIEdlbmVyYXRvciIsImRlc2NyaXB0aW9uIjoiQ3JlYXRlcyBj
dXN0b20gbWFwIGltYWdlcyBiYXNlZCBvbiB1c2VyLWRlZmluZWQgcG9pbnRzIG9mIGludGVy
ZXN0IiwidGFncyI6WyJtYXBzIiwiY3VzdG9taXphdGlvbiIsInZpc3VhbGl6YXRpb24iLCJj
YXJ0b2dyYXBoeSJdLCJleGFtcGxlcyI6WyJHZW5lcmF0ZSBhIG1hcCBvZiBteSB1cGNvbWlu
ZyByb2FkIHRyaXAgd2l0aCBhbGwgcGxhbm5lZCBzdG9wcyBoaWdobGlnaHRlZC4iLCJTaG93
IG1lIGEgbWFwIHZpc3VhbGl6aW5nIGFsbCBjb2ZmZWUgc2hvcHMgd2l0aGluIGEgMS1taWxl
IHJhZGl1cyBvZiBteSBjdXJyZW50IGxvY2F0aW9uLiJdLCJpbnB1dE1vZGVzIjpbImFwcGxp
Y2F0aW9uL2pzb24iXSwib3V0cHV0TW9kZXMiOlsiaW1hZ2UvcG5nIiwiaW1hZ2UvanBlZyIs
ImFwcGxpY2F0aW9uL2pzb24iLCJ0ZXh0L2h0bWwiXX1dXQ
]]></artwork>
            <t>Step 4: Calculate SHA-256 Digest</t>
            <t>A SHA-256 hash is computed over the base64url-encoded disclosure:</t>
            <artwork><![CDATA[
digest = SHA256(base64url_encode(disclosure_array))
      = "kV7i-VgPK9Qj8vYNJ4L8hFG3cR9ZqX2mE5wC6oA1nBs"
]]></artwork>
            <t>Step 5: Include Digest in SD-JWT</t>
            <t>The digest is included in the <tt>_sd</tt> array of the Issuer-signed JWT payload:</t>
            <sourcecode type="json"><![CDATA[
    {
      "iss": "https://registry.example.com",
      "sub": "agent:georoute-planner-v1",
      "_sd_alg": "sha-256",
      "_sd": [
        "kV7i-VgPK9Qj8vYNJ4L8hFG3cR9ZqX2mE5wC6oA1nBs",
        "7iF2sM8kT5nL9pX3cV6zR4qW1eY8oU0jH3vB7nM2kF9"
      ],
      "name": "GeoSpatial Route Planner Agent",
      "cnf": { }
    }
]]></sourcecode>
            <t>Step 6: Selective Disclosure</t>
            <t>When presenting the agent card, the skills disclosure is included only if authorized:</t>
            <artwork><![CDATA[
<Issuer-signed JWT>~<Skills Disclosure>~<Other Disclosures>~<Key Binding JWT>
]]></artwork>
            <t>During verification, the verifier:</t>
            <ol spacing="normal" type="1"><li>
                <t>Decodes the skills disclosure from base64url</t>
              </li>
              <li>
                <t>Calculates SHA-256 hash of the decoded disclosure</t>
              </li>
              <li>
                <t>Confirms the hash matches the digest in the <tt>_sd</tt> array</t>
              </li>
              <li>
                <t>Extracts the skills claim value for use</t>
              </li>
            </ol>
          </section>
        </section>
        <section anchor="additional-agent-interfaces">
          <name>Additional Agent Interfaces</name>
          <t>The additionalInterfaces claim defines alternative transport mechanisms and endpoints
for A2A communication as specified in the AgentInterface object structure.</t>
          <section anchor="original-values">
            <name>Original values</name>
            <t>The original additionalInterfaces claim in the agent metadata contains:</t>
            <sourcecode type="json"><![CDATA[
{
  "additionalInterfaces": [
    {
      "url": "https://georoute-agent.example.com/a2a/v1",
      "transport": "JSONRPC"
    },
    {
      "url": "https://georoute-agent.example.com/a2a/grpc",
      "transport": "GRPC"
    },
    {
      "url": "https://georoute-agent.example.com/a2a/json",
      "transport": "HTTP+JSON"
    }
  ]
}
]]></sourcecode>
          </section>
          <section anchor="sd-jwt-transformation-process-1">
            <name>SD-JWT Transformation Process:</name>
            <t>When converting the additionalInterfaces claim to selective disclosure, the Agent Registry performs the following transformation:</t>
            <t>Step 1: Generate Salt Value
A cryptographically secure random salt is generated for the additionalInterfaces claim:</t>
            <artwork><![CDATA[
Salt: "_26bc4LT-ac6q2KI6cBW5es"
]]></artwork>
            <t>Step 2: Create Disclosure Array
The additionalInterfaces claim is packaged into a disclosure array format:</t>
            <sourcecode type="json"><![CDATA[
[
  "_26bc4LT-ac6q2KI6cBW5es",
  "additionalInterfaces",
  [
    {
      "url": "https://georoute-agent.example.com/a2a/v1",
      "transport": "JSONRPC"
    },
    {
      "url": "https://georoute-agent.example.com/a2a/grpc",
      "transport": "GRPC"
    },
    {
      "url": "https://georoute-agent.example.com/a2a/json",
      "transport": "HTTP+JSON"
    }
  ]
]
]]></sourcecode>
            <t>Step 3: Base64url Encode Disclosure</t>
            <t>The disclosure array is JSON-serialized and base64url-encoded:</t>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsImFkZGl0aW9uYWxJbnRlcmZhY2VzIixbeyJ1cmwiOiJodHRwczovL2dlb3JvdXRlLWFnZW50LmV4YW1wbGUuY29tL2EyYS92MSIsInRyYW5zcG9ydCI6IkpTT05SUEMifSx7InVybCI6Imh0dHBzOi8vZ2Vvcm91dGUtYWdlbnQuZXhhbXBsZS5jb20vYTJhL2dycGMiLCJ0cmFuc3BvcnQiOiJHUlBDIn0seyJ1cmwiOiJodHRwczovL2dlb3JvdXRlLWFnZW50LmV4YW1wbGUuY29tL2EyYS9qc29uIiwidHJhbnNwb3J0IjoiSFRUUCtKU09OIn1dXQ
]]></artwork>
            <t>Step 4: Calculate SHA-256 Digest</t>
            <t>A SHA-256 hash is computed over the base64url-encoded disclosure:</t>
            <artwork><![CDATA[
digest = SHA256(base64url_encode(disclosure_array))
      = "3sdf8mN2p9uX7L3vE8nGrR5kW6oF4tC9jL7vM2nX8qE"
]]></artwork>
            <t>Step 5: Include Digest in SD-JWT</t>
            <t>The digest is included in the <tt>_sd</tt> array of the Issuer-signed JWT payload:</t>
            <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "_sd_alg": "sha-256",
  "_sd": [
    "3sdf8mN2p9uX7L3vE8nGrR5kW6oF4tC9jL7vM2nX8qE"
  ]
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="agent-capabilities">
          <name>Agent Capabilities</name>
          <t>The capabilities claim provides information about the agent's A2A protocol feature support
as defined in the AgentCapabilities object.</t>
          <section anchor="original-values-1">
            <name>Original values</name>
            <t>The original capabilities claim in the agent metadata contains:</t>
            <sourcecode type="json"><![CDATA[
{
  "capabilities": {
    "streaming": true,
    "pushNotifications": true,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "name": "advanced-routing",
        "version": "1.0",
        "description": "Enhanced route optimization with machine learning"
      }
    ]
  }
}
]]></sourcecode>
          </section>
          <section anchor="sd-jwt-transformation-process-2">
            <name>SD-JWT Transformation Process:</name>
            <t>When converting the capabilities claim to selective disclosure, the Agent Registry performs the following transformation:</t>
            <t>Step 1: Generate Salt Value</t>
            <t>A cryptographically secure random salt is generated for the capabilities claim:</t>
            <artwork><![CDATA[
Salt: "_26bc4LT-ac6q2KI6cBW5es"
]]></artwork>
            <t>Step 2: Create Disclosure Array</t>
            <t>The capabilities claim is packaged into a disclosure array format:</t>
            <sourcecode type="json"><![CDATA[
[
  "_26bc4LT-ac6q2KI6cBW5es",
  "capabilities",
  {
    "streaming": true,
    "pushNotifications": true,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "name": "advanced-routing",
        "version": "1.0",
        "description": "Enhanced route optimization with machine learning"
      }
    ]
  }
]
]]></sourcecode>
            <t>Step 3: Base64url Encode Disclosure</t>
            <t>The disclosure array is JSON-serialized and base64url-encoded:</t>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsImNhcGFiaWxpdGllcyIseyJzdHJlYW1pbmciOnRydWUsInB1c2hOb3RpZmljYXRpb25zIjp0cnVlLCJzdGF0ZVRyYW5zaXRpb25IaXN0b3J5IjpmYWxzZSwiZXh0ZW5zaW9ucyI6W3sibmFtZSI6ImFkdmFuY2VkLXJvdXRpbmciLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFbmhhbmNlZCByb3V0ZSBvcHRpbWl6YXRpb24gd2l0aCBtYWNoaW5lIGxlYXJuaW5nIn1dfV0
]]></artwork>
            <t>Step 4: Calculate SHA-256 Digest</t>
            <t>A SHA-256 hash is computed over the base64url-encoded disclosure:</t>
            <artwork><![CDATA[
digest = SHA256(base64url_encode(disclosure_array))
      = "8kF2nM3p4uY9L5cG6rT7qW9oR2vX1jE4mN8sC5fH0aZ"
]]></artwork>
            <t>Step 5: Include Digest in SD-JWT</t>
            <t>The digest is included in the <tt>_sd</tt> array of the Issuer-signed JWT payload:</t>
            <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "_sd_alg": "sha-256",
  "_sd": [
    "8kF2nM3p4uY9L5cG6rT7qW9oR2vX1jE4mN8sC5fH0aZ"
  ]
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="security-schemes-and-authentication">
          <name>Security Schemes and Authentication</name>
          <t>The securitySchemes claim defines authentication requirements following A2A SecurityScheme format.</t>
          <section anchor="original-values-2">
            <name>Original values</name>
            <t>The original securitySchemes claim in the agent metadata contains:</t>
            <sourcecode type="json"><![CDATA[
{
  "securitySchemes": {
    "google": {
      "type": "openIdConnect",
      "openIdConnectUrl": "https://accounts.google.com/.well-known/openid-configuration"
    },
    "apiKey": {
      "type": "apiKey",
      "name": "X-API-Key",
      "in": "header"
    }
  }
}
]]></sourcecode>
          </section>
          <section anchor="sd-jwt-transformation-process-3">
            <name>SD-JWT Transformation Process:</name>
            <t>When converting the securitySchemes claim to selective disclosure, the Agent Registry performs the following transformation:</t>
            <t>Step 1: Generate Salt Value</t>
            <t>A cryptographically secure random salt is generated for the securitySchemes claim:</t>
            <artwork><![CDATA[
Salt: "_26bc4LT-ac6q2KI6cBW5es"
]]></artwork>
            <t>Step 2: Create Disclosure Array</t>
            <t>The securitySchemes claim is packaged into a disclosure array format:</t>
            <sourcecode type="json"><![CDATA[
[
  "_26bc4LT-ac6q2KI6cBW5es",
  "securitySchemes",
  {
    "google": {
      "type": "openIdConnect",
      "openIdConnectUrl": "https://accounts.google.com/.well-known/openid-configuration"
    },
    "apiKey": {
      "type": "apiKey",
      "name": "X-API-Key",
      "in": "header"
    }
  }
]
]]></sourcecode>
            <t>Step 3: Base64url Encode Disclosure</t>
            <t>The disclosure array is JSON-serialized and base64url-encoded:</t>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsInNlY3VyaXR5U2NoZW1lcyIseyJnb29nbGUiOnsidHlwZSI6Im9wZW5JZENvbm5lY3QiLCJvcGVuSWRDb25uZWN0VXJsIjoiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0sImFwaUtleSI6eyJ0eXBlIjoiYXBpS2V5IiwibmFtZSI6IlgtQVBJLUtleSIsImluIjoiaGVhZGVyIn19XQ
]]></artwork>
            <t>Step 4: Calculate SHA-256 Digest</t>
            <t>A SHA-256 hash is computed over the base64url-encoded disclosure:</t>
            <artwork><![CDATA[
digest = SHA256(base64url_encode(disclosure_array))
      = "9mH4pL5rZ8wQ2nX7cV6sT3kE1oY0jF9uR4vB6nM8fG2"
]]></artwork>
            <t>Step 5: Include Digest in SD-JWT</t>
            <t>The digest is included in the <tt>_sd</tt> array of the Issuer-signed JWT payload:</t>
            <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "_sd_alg": "sha-256",
  "_sd": [
    "9mH4pL5rZ8wQ2nX7cV6sT3kE1oY0jF9uR4vB6nM8fG2"
  ],
  "security": [
    {"google": ["openid", "profile", "email"]},
    {"apiKey": []}
  ]
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="provider-information">
          <name>Provider Information</name>
          <t>The provider claim contains A2A AgentProvider information about the organization
that operates the agent.</t>
          <section anchor="original-values-3">
            <name>Original values</name>
            <t>The original provider claim in the agent metadata contains:</t>
            <sourcecode type="json"><![CDATA[
{
  "provider": {
    "organization": "Example Geo Services Inc.",
    "url": "https://www.examplegeoservices.com"
  }
}
]]></sourcecode>
          </section>
          <section anchor="sd-jwt-transformation-process-4">
            <name>SD-JWT Transformation Process:</name>
            <t>When converting the provider claim to selective disclosure, the Agent Registry performs the following transformation:</t>
            <t>Step 1: Generate Salt Value</t>
            <t>A cryptographically secure random salt is generated for the provider claim:</t>
            <artwork><![CDATA[
Salt: "_26bc4LT-ac6q2KI6cBW5es"
]]></artwork>
            <t>Step 2: Create Disclosure Array</t>
            <t>The provider claim is packaged into a disclosure array format:</t>
            <sourcecode type="json"><![CDATA[
[
  "_26bc4LT-ac6q2KI6cBW5es",
  "provider",
  {
    "organization": "Example Geo Services Inc.",
    "url": "https://www.examplegeoservices.com"
  }
]
]]></sourcecode>
            <t>Step 3: Base64url Encode Disclosure</t>
            <t>The disclosure array is JSON-serialized and base64url-encoded:</t>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsInByb3ZpZGVyIix7Im9yZ2FuaXphdGlvbiI6IkV4YW1wbGUgR2VvIFNlcnZpY2VzIEluYy4iLCJ1cmwiOiJodHRwczovL3d3dy5leGFtcGxlZ2Vvc2VydmljZXMuY29tIn1d
]]></artwork>
            <t>Step 4: Calculate SHA-256 Digest</t>
            <t>A SHA-256 hash is computed over the base64url-encoded disclosure:</t>
            <artwork><![CDATA[
digest = SHA256(base64url_encode(disclosure_array))
      = "7kRt2qW5mX9jN4cF7zPsE8nG1vH0oY3lM6xC9fK2bA8"
]]></artwork>
            <t>Step 5: Include Digest in SD-JWT</t>
            <t>The digest is included in the <tt>_sd</tt> array of the Issuer-signed JWT payload:</t>
            <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "_sd_alg": "sha-256",
  "_sd": [
    "7kRt2qW5mX9jN4cF7zPsE8nG1vH0oY3lM6xC9fK2bA8"
  ]
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="input-and-output-modes">
          <name>Input and Output Modes</name>
          <t>The defaultInputModes and defaultOutputModes claims specify supported content types for A2A message interactions.</t>
          <section anchor="original-values-4">
            <name>Original values</name>
            <t>The original defaultInputModes and defaultOutputModes claims in the agent metadata contain:</t>
            <sourcecode type="json"><![CDATA[
{
  "defaultInputModes": ["application/json", "text/plain"],
  "defaultOutputModes": ["application/json", "image/png"]
}
]]></sourcecode>
          </section>
          <section anchor="sd-jwt-transformation-process-5">
            <name>SD-JWT Transformation Process:</name>
            <t>When converting the defaultInputModes and defaultOutputModes claims to selective disclosure, the Agent Registry performs the following transformation:</t>
            <t>Step 1: Generate Salt Value</t>
            <t>A cryptographically secure random salt is generated for the input/output modes claims:</t>
            <artwork><![CDATA[
Salt: "_26bc4LT-ac6q2KI6cBW5es"
]]></artwork>
            <t>Step 2: Create Disclosure Arrays</t>
            <t>Each claim is packaged into separate disclosure array formats:</t>
          </section>
          <section anchor="disclosure-for-defaultinputmodes">
            <name>Disclosure for defaultInputModes:</name>
            <sourcecode type="json"><![CDATA[
[
  "_26bc4LT-ac6q2KI6cBW5es",
  "defaultInputModes",
  ["application/json", "text/plain"]
]
]]></sourcecode>
          </section>
          <section anchor="disclosure-for-defaultoutputmodes">
            <name>Disclosure for defaultOutputModes:</name>
            <sourcecode type="json"><![CDATA[
[
  "_26bc4LT-ac6q2KI6cBW5es",
  "defaultOutputModes",
  ["application/json", "image/png"]
]
]]></sourcecode>
            <t>Step 3: Base64url Encode Disclosures</t>
            <t>The disclosure arrays are JSON-serialized and base64url-encoded:</t>
          </section>
          <section anchor="defaultinputmodes-encoded">
            <name>defaultInputModes encoded:</name>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsImRlZmF1bHRJbnB1dE1vZGVzIixbImFwcGxpY2F0aW9uL2pzb24iLCJ0ZXh0L3BsYWluIl1d
]]></artwork>
          </section>
          <section anchor="defaultoutputmodes-encoded">
            <name>defaultOutputModes encoded:</name>
            <artwork><![CDATA[
WyJfMjZiYzRMVC1hYzZxMktJNmNCVzVlcyIsImRlZmF1bHRPdXRwdXRNb2RlcyIsWyJhcHBsaWNhdGlvbi9qc29uIiwiaW1hZ2UvcG5nIl1d
]]></artwork>
            <t>Step 4: Calculate SHA-256 Digests</t>
            <t>SHA-256 hashes are computed over the base64url-encoded disclosures:</t>
            <artwork><![CDATA[
digest_input = SHA256(base64url_encode(defaultInputModes_disclosure))
             = "5nK3wL8tB4eR9mY2cF6qG7oT1vX0jH3pN4rS8zE5fC6"

digest_output = SHA256(base64url_encode(defaultOutputModes_disclosure))
              = "2pM8fT4nR6oX3cG7zE9qL5wY1vS0jF6kH2nB8mC4rT9"
]]></artwork>
            <t>Step 5: Include Digests in SD-JWT</t>
            <t>The digests are included in the <tt>_sd</tt> array of the Issuer-signed JWT payload:</t>
            <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:georoute-planner-v1",
  "_sd_alg": "sha-256",
  "_sd": [
    "5nK3wL8tB4eR9mY2cF6qG7oT1vX0jH3pN4rS8zE5fC6",
    "2pM8fT4nR6oX3cG7zE9qL5wY1vS0jF6kH2nB8mC4rT9"
  ]
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="documentation-and-support">
          <name>Documentation and Support</name>
          <t>Additional A2A Agent Card metadata for documentation and extended capabilities.</t>
          <artwork><![CDATA[
"iconUrl": "https://georoute-agent.example.com/icon.png",
"documentationUrl": "https://docs.examplegeoservices.com/georoute-agent/api",
"supportsAuthenticatedExtendedCard": true
]]></artwork>
        </section>
      </section>
      <section anchor="agent-card-issuance">
        <name>Agent Card Issuance</name>
        <t>Agent Cards are issued by trusted Agent Registries, the details
of the which are out of scope of this specification</t>
        <section anchor="issuance-process-overview">
          <name>Issuance Process Overview</name>
          <ol spacing="normal" type="1"><li>
              <t>Agent Registration: The agent registers with the Agent Registry,
providing its capabilities, endpoints, and authentication information. This
includes submitting detailed metadata about the agent's functions,
operational requirements, and security capabilities.</t>
            </li>
            <li>
              <t>Identity Verification: The Agent Registry verifies the agent's identity
and authorization to claim the specified capabilities.</t>
            </li>
            <li>
              <t>Agent Card Creation: The Agent Registry creates an SD-JWT Agent Card
containing the agent's metadata with appropriate claims marked for selective
disclosure. The registry determines which claims should be selectively
disclosable based on authorization, privacy policies and security requirements.</t>
            </li>
            <li>
              <t>Batch Issuance: Multiple Agent Cards with different disclosure
configurations may be issued for different discovery contexts. This enables
the same agent to interact in various contexts while maintaining privacy and
unlinkability.</t>
            </li>
          </ol>
          <t>Example issuance request based on HTTP POST method with bearing token is shown below:</t>
          <sourcecode type="http"><![CDATA[
POST /agents/register HTTP/1.1
Host: registry.example.com
Content-Type: application/json
Authorization: Bearer <registry_auth_token>

{
  "agent_id": "ai-assistant-v2",
  "name": "AI Assistant Agent",
  "description": "General purpose AI assistant",
  "version": "2.1.0",
  "public_key": {
    "kty": "EC",
    "crv": "P-256",
    "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
    "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
  },
  "disclosure_contexts": [
    {
      "context": "public",
      "disclose": ["skills", "endpoints", "operational_info"]
    },
    {
      "context": "internal",
      "disclose": ["skills", "endpoints", "operational_info",
                   "provider", "security_context"]
    },
    {
      "context": "diagnostic",
      "disclose": ["operational_info", "provider"]
    }
  ]
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="agent-discovery-protocols-with-privacy-protection">
      <name>Agent Discovery Protocols with Privacy Protection</name>
      <t>This section describes the protocols and mechanisms for discovering agents:</t>
      <section anchor="well-known-uri-discovery">
        <name>Well-Known URI Discovery</name>
        <t>The well-known URI discovery mechanism is extended to support SD-JWT Agent
Cards:</t>
        <sourcecode type="http"><![CDATA[
GET /.well-known/agent.json HTTP/1.1
Host: agent.example.com
Accept: application/vnd.sd-jwt+json
]]></sourcecode>
        <t>The <tt>application/vnd.sd-jwt+json</tt> media type indicates that the client accepts
responses containing Selective Disclosure JWT data formatted as JSON. In the
examples below, the "agent_card" field contains an SD-JWT formatted according
to the Agent Card Structure defined in <xref target="agent-card-structure"/>.</t>
        <t>The response contains an SD-JWT Agent Card with context-appropriate
disclosures.</t>
        <sourcecode type="http"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/vnd.sd-jwt+json

{
  "agent_card": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJod...~WyJzYWx0I
iwibmFtZSIsIkFJIEFzc2lzdGFudCJd~WyJzYWx0MiIsImVuZHBvaW50cyIsW3sibmFtZSI6InByaW1h
cnkiLCJ1cmwiOiJodHRwczovL2FnZW50LmV4YW1wbGUuY29tL2FwaS92MSJ9XV0~"
}
]]></sourcecode>
        <t>For privacy-sensitive discovery, the agent <bcp14>MAY</bcp14> require authentication before
revealing the Agent Card:</t>
        <sourcecode type="http"><![CDATA[
GET /.well-known/agent.json HTTP/1.1
Host: agent.example.com
Authorization: Bearer <discovery_token>
Accept: application/vnd.sd-jwt+json
]]></sourcecode>
      </section>
      <section anchor="registry-based-discovery">
        <name>Registry-Based Discovery</name>
        <t>Agent Registries support discovery with context-based selective disclosure.
In the example below, an agent is discovered based on the skill "route-optimizer-traffic".</t>
        <sourcecode type="http"><![CDATA[
POST /agents/discover HTTP/1.1
Host: registry.example.com
Content-Type: application/json
Authorization: Bearer <registry_access_token>

{
  "query": {
    "skills": ["route-optimizer-traffic"],
    "availability": "24/7"
  },
  "context": "public",
  "max_results": 10
}
]]></sourcecode>
      </section>
      <section anchor="contextual-discovery">
        <name>Contextual Discovery</name>
        <t>Discovery can be performed with different contexts to control the level of
information disclosure:</t>
        <dl>
          <dt>Public Context:</dt>
          <dd>
            <t>Minimal information suitable for public discovery, including basic skills
and public endpoints.</t>
          </dd>
          <dt>Internal Context:</dt>
          <dd>
            <t>Additional operational details for internal organizational use.</t>
          </dd>
          <dt>Diagnostic Context:</dt>
          <dd>
            <t>Detailed technical information for troubleshooting and monitoring.</t>
          </dd>
          <dt>Federation Context:</dt>
          <dd>
            <t>Inter-organizational discovery with appropriate trust relationships.</t>
          </dd>
        </dl>
        <t>The same agent may present different Agent Cards for different contexts while
maintaining unlinkability between presentations.</t>
      </section>
      <section anchor="integration-with-model-context-protocol">
        <name>Integration with Model Context Protocol</name>
        <t>The A2A protocol and SD-Card operate at the agent-to-agent communication
layer, while Model Context Protocol (MCP) <xref target="MCP-SPEC"/> addresses
agent-to-tool interactions. These protocols are complementary:</t>
        <ul spacing="normal">
          <li>
            <t><strong>A2A/SD-Card</strong>: Agent discovery, identity, and capability negotiation</t>
          </li>
          <li>
            <t><strong>MCP</strong>: Tool discovery, invocation, and context management</t>
          </li>
        </ul>
        <t>When an agent discovered via SD-Card utilizes MCP for tool access,
the following security considerations apply:</t>
        <ol spacing="normal" type="1"><li>
            <t>The SD-Card's security context does not automatically propagate
to MCP tool invocations</t>
          </li>
          <li>
            <t>Separate authorization may be required for tool access</t>
          </li>
          <li>
            <t>Audit logs <bcp14>SHOULD</bcp14> correlate A2A interaction IDs with MCP sessions</t>
          </li>
        </ol>
        <section anchor="protocol-layering">
          <name>Protocol Layering</name>
          <artwork><![CDATA[
+--------------------------------------------------+
|              Application Layer                    |
|  (Agent Business Logic, Task Orchestration)       |
+--------------------------------------------------+
|     A2A Protocol        |    MCP Protocol        |
|  (Agent Discovery,      | (Tool Discovery,       |
|   Identity, Delegation) |  Invocation, Context)  |
+--------------------------------------------------+
|              Transport Layer (TLS 1.3+)           |
+--------------------------------------------------+
]]></artwork>
          <t>SD-Card enables secure agent discovery and authentication, after which
agents may use MCP for accessing tools and external resources. The
<tt>interaction_id</tt> from the Key Binding JWT <bcp14>SHOULD</bcp14> be included in MCP
requests for audit correlation.</t>
        </section>
      </section>
    </section>
    <section anchor="cryptographic-authentication-and-capability-based-authorization">
      <name>Cryptographic Authentication and Capability-Based Authorization</name>
      <t>SD-Card provides enhanced authentication and authorization mechanisms through
SD-JWT integration with cryptographic key binding. This section details the
complete authentication flow, key binding mechanisms, and capability-based
authorization processes that ensure secure agent interactions.</t>
      <section anchor="sd-jwt-with-key-binding">
        <name>SD-JWT with Key Binding</name>
        <t>Selective Disclosure JWT (SD-JWT) with Key Binding is a security mechanism
that enables privacy-preserving authentication.</t>
        <t>An SD-JWT consists of three main parts separated by tildes (~):</t>
        <ol spacing="normal" type="1"><li>
            <t>Issuer-Signed JWT: Contains the base claims and selective disclosure
metadata</t>
          </li>
          <li>
            <t>Disclosure Arrays: Base64url-encoded arrays containing the salt and
claim data</t>
          </li>
          <li>
            <t>Key Binding JWT (KB-JWT): Proves possession of the confirmation key</t>
          </li>
        </ol>
        <artwork><![CDATA[
SD-JWT Format:
<Issuer-Signed JWT>~<Disclosure 1>~<Disclosure 2>~...~<Key Binding JWT>
]]></artwork>
        <t>Key binding cryptographically proves that the presenter of an SD-JWT possesses
the private key corresponding to the public key specified in the <tt>cnf</tt>
(confirmation) claim of the SD-JWT. This mechanism:</t>
        <ol spacing="normal" type="1"><li>
            <t>Selective Disclosure: Only relevant claims are revealed to the verifier</t>
          </li>
          <li>
            <t>Cryptographic Binding: Proof of possession of a private key</t>
          </li>
          <li>
            <t>Unlinkable Presentations: Different interactions cannot be correlated</t>
          </li>
          <li>
            <t>Replay Protection: Each presentation is unique and time-bound</t>
          </li>
        </ol>
      </section>
      <section anchor="agent-authentication-process">
        <name>Agent Authentication Process</name>
        <t>The agent authentication process involves multiple cryptographic steps to
ensure secure and verifiable identity establishment:</t>
        <section anchor="step-1-agent-card-presentation">
          <name>Step 1: Agent Card Presentation</name>
          <t>The agent presents its SD-JWT Agent Card with context-appropriate selective
disclosures. The "agent_card" field contains an SD-JWT generated from the following raw input structure:</t>
          <t><em>Raw Input Structure:</em></t>
          <t>The agent_card field is generated from the following base agent information:</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://registry.example.com",
  "sub": "agent:ai-assistant-v2",
  "iat": 1704063600,
  "exp": 1735685999,
  "vct": "urn:ietf:params:oauth:token-type:sd-a2a-agent-card",
  "_sd_alg": "sha-256",
  "_sd": [
    "kV7i-VgPK9Qj8vYNJ4L8hFG3cR9ZqX2mE5wC6oA1nBs", // skills digest
    "3sdf8mN2p9uX7L3vE8nGrR5kW6oF4tC9jL7vM2nX8qE"  // endpoints digest
  ],
  "name": "AI Assistant Agent",
  "description": "General purpose AI assistant",
  "version": "2.1.0",
  "cnf": {
    "jwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
      "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
    }
  }
}
]]></sourcecode>
          <t><em>Selective Disclosures:</em></t>
          <ul spacing="normal">
            <li>
              <t><tt>skills</tt>: <tt>["salt1","skills",[{"name":"text-generation"}]]</tt></t>
            </li>
            <li>
              <t><tt>endpoints</tt>: <tt>["salt2","endpoints",[{"name":"primary"}]]</tt></t>
            </li>
          </ul>
          <t>Resulting SD-JWT Presentation:</t>
          <artwork><![CDATA[
{
  "agent_card": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL3JlZ2lzdHJ5LmV4YW1wbGUuY29tIiwic3ViIjoiYWdlbnQ6YWktYXNzaXN0YW50LXYyIiwiaWF0IjoxNzA0MDYzNjAwLCJleHAiOjE3MzU2ODU5OTksInZjdCI6InVybjppZXRmOnBhcmFtczpvYXV0aDp0b2tlbi10eXBlOnNkLWEyYS1hZ2VudC1jYXJkIiwiX3NkX2FsZyI6InNoYS0yNTYiLCJfc2QiOltdLCJuYW1lIjoiQUkgQXNzaXN0YW50IEFnZW50IiwiZGVzY3JpcHRpb24iOiJHZW5lcmFsIHB1cnBvc2UgQUkgYXNzaXN0YW50IiwidmVyc2lvbiI6IjIuMS4wIiwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IlRDQUVSMTladnUzT0hGNGo0VzR2ZlNWb0hJUDFJTGlsRGxzN3ZDZUdlbWMiLCJ5IjoiWnhqaVdXYlpNUUdIVldLVlE0aGJTSWlyc1ZmdWVjQ0U2dDRqVDlGMkhaUSJ9fX0.signature~WyJzYWx0MSIsInNraWxscyIsW3sibmFtZSI6InRleHQtZ2VuZXJhdGlvbiJ9XV0~WyJzYWx0MiIsImVuZHBvaW50cyIsW3sibmFtZSI6InByaW1hcnkifV1d~eyJhbGciOiJFUzI1NiIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE3MDQwNjM2MDAsImF1ZCI6aWNsaWVudC5leGFtcGxlLmNvbSIsInNkX2hhc2giOiJLdDdRcU5aQnpxbkpLVlE0aGJTSWlyc1ZmdWVjQ0U2dDRqVDlGMkhaUSIsImludGVyYWN0aW9uX2lkIjoiMTIzNDU2NzgtMTIzNC0xMjM0LTEyMzQtMTIzNDU2Nzg5YWJjIn0.kb_signature"
}
]]></artwork>
        </section>
        <section anchor="step-2-key-binding-jwt-creation">
          <name>Step 2: Key Binding JWT Creation</name>
          <t>The agent creates a Key Binding JWT (KB-JWT) to prove possession of the private
key. The KB-JWT structure includes:</t>
          <t><em>KB-JWT Header:</em></t>
          <artwork><![CDATA[
{
  "alg": "ES256",
  "typ": "kb+jwt"
}
]]></artwork>
          <t><em>KB-JWT Payload:</em></t>
          <artwork><![CDATA[
{
  "iat": 1704063600,
  "aud": "client.example.com",
  "sd_hash": "Kt7QqNZBzqnJKVQ4hbSIirsVfuecCE6t4jT9F2HZQ",
  "interaction_id": "12345678-1234-1234-1234-123456789abc",
  "nonce": "random-nonce-value-12345"
}
]]></artwork>
          <t>where,</t>
          <ul spacing="normal">
            <li>
              <t><tt>iat</tt>: Issued at time - prevents replay attacks</t>
            </li>
            <li>
              <t><tt>aud</tt>: Audience - identifies the intended recipient</t>
            </li>
            <li>
              <t><tt>sd_hash</tt>: Hash of the SD-JWT presentation (binds KB-JWT to specific
presentation)</t>
            </li>
            <li>
              <t><tt>interaction_id</tt>: Unique interaction identifier - prevents cross-session
attacks</t>
            </li>
            <li>
              <t><tt>nonce</tt>: Optional random value - adds additional replay protection</t>
            </li>
          </ul>
        </section>
        <section anchor="step-3-cryptographic-verification">
          <name>Step 3: Cryptographic Verification</name>
          <t>The client performs comprehensive verification:</t>
          <ol spacing="normal" type="1"><li>
              <t>Agent Card Signature Verification: Validates the issuer's signature</t>
            </li>
            <li>
              <t>Disclosure Verification: Confirms disclosed claims match their digests</t>
            </li>
            <li>
              <t>Key Binding Verification: Validates the KB-JWT signature using the
agent's public key</t>
            </li>
            <li>
              <t>Temporal Validation: Checks expiration and freshness of timestamps</t>
            </li>
            <li>
              <t>Audience Validation: Ensures the KB-JWT is intended for this client</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="advanced-authorization-flows">
        <name>Advanced Authorization Flows</name>
        <section anchor="capability-based-discovery">
          <name>Capability-Based Discovery</name>
          <t>Verifiers can query for agents based on required capabilities:</t>
          <sourcecode type="http"><![CDATA[
POST /agents/discover HTTP/1.1
Host: registry.example.com
Content-Type: application/json
Authorization: Bearer <registry_access_token>

{
  "query": {
    "skills": ["route-optimizer-traffic"],
    "capabilities": {
      "streaming": true
    }
  },
  "context": "internal",
  "requester_claims": {
    "organization": "example.com",
    "roles": ["service-account"]
  }
}
]]></sourcecode>
        </section>
        <section anchor="role-based-disclosure">
          <name>Role-Based Disclosure</name>
          <t>The Agent Registry <bcp14>MAY</bcp14> implement role-based disclosure policies:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Context</th>
                <th align="left">Disclosed Claims</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">public</td>
                <td align="left">name, description, skills (names only)</td>
              </tr>
              <tr>
                <td align="left">internal</td>
                <td align="left">All public + endpoints, capabilities, provider</td>
              </tr>
              <tr>
                <td align="left">diagnostic</td>
                <td align="left">All internal + securitySchemes, version details</td>
              </tr>
              <tr>
                <td align="left">federation</td>
                <td align="left">Context-dependent based on federation agreement</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="token-exchange-for-sub-agent-delegation">
          <name>Token Exchange for Sub-Agent Delegation</name>
          <t>When a client agent needs to delegate to a discovered agent, it
<bcp14>MAY</bcp14> use OAuth 2.0 Token Exchange <xref target="RFC8693"/>:</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=<client_agent_token>
&subject_token_type=urn:ietf:params:oauth:token-type:access_token
&requested_token_type=urn:ietf:params:oauth:token-type:access_token
&audience=agent:georoute-planner-v1
&scope=route-optimizer-traffic
]]></sourcecode>
          <t>The authorization server validates the subject token, applies any
scope restrictions, and returns a new token bound to the target agent.</t>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>This specification registers the following media type with IANA:</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>vnd.sd-jwt+json</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary (JSON)</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See Security Considerations section of this document</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>A2A agent discovery systems, agent registries, and agent clients
that support selective disclosure of agent capabilities</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>N/A</t>
          </dd>
        </dl>
      </section>
      <section anchor="verifiable-credential-type-registration">
        <name>Verifiable Credential Type Registration</name>
        <t>This specification registers the following verifiable credential type
in the "OAuth URI" registry:</t>
        <dl>
          <dt>URI:</dt>
          <dd>
            <t>urn:ietf:params:oauth:token-type:sd-agent-card</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>SD-JWT Agent Card for A2A protocol</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
        </dl>
      </section>
      <section anchor="json-web-token-claims-registration">
        <name>JSON Web Token Claims Registration</name>
        <t>This specification does not define new JWT claims but uses existing
claims as defined in <xref target="RFC9901"/> and standard JWT claims from <xref target="RFC7519"/></t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="token-binding-and-replay-prevention">
        <name>Token Binding and Replay Prevention</name>
        <t>SD-Card implementations <bcp14>MUST</bcp14> implement token binding mechanisms to prevent
stolen credential misuse. Implementations <bcp14>SHOULD</bcp14> support DPoP <xref target="RFC9449"/>
for application-level proof-of-possession when presenting SD-Cards outside
the key binding JWT mechanism.</t>
        <t>The Key Binding JWT already provides replay protection through:</t>
        <ul spacing="normal">
          <li>
            <t><tt>iat</tt> (issued-at) timestamps with short validity windows</t>
          </li>
          <li>
            <t><tt>aud</tt> (audience) binding to specific verifiers</t>
          </li>
          <li>
            <t><tt>sd_hash</tt> binding to specific SD-JWT presentations</t>
          </li>
          <li>
            <t>Optional <tt>nonce</tt> values for additional freshness</t>
          </li>
        </ul>
        <t>Verifiers <bcp14>MUST</bcp14> reject Key Binding JWTs with:</t>
        <ul spacing="normal">
          <li>
            <t><tt>iat</tt> timestamps more than 5 minutes in the past</t>
          </li>
          <li>
            <t>Missing or incorrect <tt>aud</tt> claims</t>
          </li>
          <li>
            <t>Mismatched <tt>sd_hash</tt> values</t>
          </li>
        </ul>
      </section>
      <section anchor="agent-identity-verification">
        <name>Agent Identity Verification</name>
        <t>In multi-agent workflows, identity verification becomes critical. The
architecture aligns with WIMSE <xref target="WIMSE-ARCH"/> principles for workload
identity:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Agent Attestation</strong>: The <tt>cnf</tt> claim provides cryptographic proof
that the presenter possesses the corresponding private key</t>
          </li>
          <li>
            <t><strong>Issuer Trust</strong>: The Agent Registry's signature establishes a trust
anchor. Verifiers <bcp14>MUST</bcp14> validate the issuer's signature using
pre-established trust relationships</t>
          </li>
          <li>
            <t><strong>Claim Integrity</strong>: Selective disclosure digests ensure that
disclosed claims have not been modified since issuance</t>
          </li>
        </ol>
      </section>
      <section anchor="delegation-and-multi-agent-scenarios">
        <name>Delegation and Multi-Agent Scenarios</name>
        <t>When agents delegate tasks to sub-agents, the following security
properties <bcp14>MUST</bcp14> be maintained:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Delegation Chains</strong>: Use OAuth 2.0 Token Exchange <xref target="RFC8693"/> to
create constrained tokens for sub-agents with reduced scope</t>
          </li>
          <li>
            <t><strong>Audit Trail</strong>: Each delegation <bcp14>SHOULD</bcp14> include an <tt>interaction_id</tt>
that enables tracing across agent invocations</t>
          </li>
          <li>
            <t><strong>Scope Limitation</strong>: Sub-agents <bcp14>MUST NOT</bcp14> receive broader permissions
than the delegating agent possesses</t>
          </li>
          <li>
            <t><strong>Human Oversight</strong>: For sensitive operations, delegation chains
<bcp14>SHOULD</bcp14> support human-in-the-loop approval mechanisms</t>
          </li>
        </ol>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <section anchor="correlation-prevention">
          <name>Correlation Prevention</name>
          <t>SD-Card's selective disclosure mechanism prevents unwanted correlation:</t>
          <ul spacing="normal">
            <li>
              <t>Different salt values per disclosure create unique hashes</t>
            </li>
            <li>
              <t>Verifiers cannot correlate presentations across contexts without
access to the original disclosures</t>
            </li>
            <li>
              <t>Batch issuance enables multiple unlinkable SD-Cards for the same agent</t>
            </li>
          </ul>
        </section>
        <section anchor="minimal-disclosure-principle">
          <name>Minimal Disclosure Principle</name>
          <t>Following NIST AI RMF <xref target="NIST-AI-RMF"/> principles for trustworthy AI:</t>
          <ul spacing="normal">
            <li>
              <t>Agents <bcp14>SHOULD</bcp14> request only the disclosures necessary for the
interaction context</t>
            </li>
            <li>
              <t>Discovery contexts (public, internal, diagnostic, federation) enable
appropriate disclosure levels</t>
            </li>
            <li>
              <t>Verifiers <bcp14>SHOULD NOT</bcp14> request more claims than required for
authorization decisions</t>
            </li>
          </ul>
        </section>
        <section anchor="data-minimization-in-agent-cards">
          <name>Data Minimization in Agent Cards</name>
          <t>Agent operators <bcp14>SHOULD</bcp14>:</t>
          <ul spacing="normal">
            <li>
              <t>Avoid including PII in selectively disclosable claims when possible</t>
            </li>
            <li>
              <t>Use capability descriptions rather than detailed implementation details</t>
            </li>
            <li>
              <t>Rotate SD-Cards periodically to limit temporal correlation</t>
            </li>
            <li>
              <t>Consider using different SD-Cards for different trust domains</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="transport-security">
        <name>Transport Security</name>
        <t>SD-Card provides application-layer security that complements, but does
not replace, transport-layer security:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>TLS Required</strong>: All SD-Card exchanges <bcp14>MUST</bcp14> occur over TLS 1.3 or
later as recommended in <xref target="RFC9700"/></t>
          </li>
          <li>
            <t><strong>Defense in Depth</strong>: Key binding provides protection even if
transport security is compromised</t>
          </li>
          <li>
            <t><strong>Channel Binding</strong>: Implementations <bcp14>MAY</bcp14> bind presentations to the
TLS session for additional protection against token export attacks</t>
          </li>
        </ol>
      </section>
      <section anchor="issuer-security">
        <name>Issuer Security</name>
        <t>Agent Registries (issuers) have significant security responsibilities:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Key Protection</strong>: Issuer signing keys <bcp14>MUST</bcp14> be protected using
hardware security modules (HSMs) or equivalent protection</t>
          </li>
          <li>
            <t><strong>Revocation</strong>: Issuers <bcp14>SHOULD</bcp14> implement revocation mechanisms
for compromised SD-Cards. This <bcp14>MAY</bcp14> include:
            </t>
            <ul spacing="normal">
              <li>
                <t>Short-lived credentials requiring frequent renewal</t>
              </li>
              <li>
                <t>Status list endpoints for revocation checking</t>
              </li>
              <li>
                <t>Push-based revocation notifications</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Audit Logging</strong>: Issuers <bcp14>MUST</bcp14> maintain audit logs of all
SD-Card issuances including agent identity, disclosed claims,
and issuance timestamps</t>
          </li>
        </ol>
      </section>
      <section anchor="cryptographic-agility">
        <name>Cryptographic Agility</name>
        <t>This specification mandates support for:</t>
        <ul spacing="normal">
          <li>
            <t>ES256 (ECDSA with P-256 and SHA-256) as the minimum required algorithm</t>
          </li>
          <li>
            <t>SHA-256 for selective disclosure hashing</t>
          </li>
        </ul>
        <t>Implementations <bcp14>SHOULD</bcp14> be prepared to support additional algorithms
as they become standardized. Post-quantum cryptographic algorithms
for JOSE/COSE are under active development and implementations
<bcp14>SHOULD</bcp14> plan for migration paths.</t>
        <t>{backmatter}</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9901" target="https://www.rfc-editor.org/rfc/rfc9901.html">
          <front>
            <title>Selective Disclosure for JWTs (SD-JWT)</title>
            <author initials="D." surname="Fett" fullname="D. Fett">
              <organization/>
            </author>
            <author initials="K." surname="Yasuda" fullname="K. Yasuda">
              <organization/>
            </author>
            <author initials="B." surname="Campbell" fullname="B. Campbell">
              <organization/>
            </author>
            <date year="2025" month="November"/>
          </front>
          <seriesInfo name="RFC" value="9901"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</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 Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <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="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="RFC9449" target="https://www.rfc-editor.org/rfc/rfc9449.html">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author initials="D." surname="Fett" fullname="D. Fett">
              <organization/>
            </author>
            <author initials="B." surname="Campbell" fullname="B. Campbell">
              <organization/>
            </author>
            <author initials="J." surname="Bradley" fullname="J. Bradley">
              <organization/>
            </author>
            <author initials="T." surname="Lodderstedt" fullname="T. Lodderstedt">
              <organization/>
            </author>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization/>
            </author>
            <author initials="D." surname="Waite" fullname="D. Waite">
              <organization/>
            </author>
            <date year="2023" month="September"/>
          </front>
          <seriesInfo name="RFC" value="9449"/>
        </reference>
        <reference anchor="RFC9700" target="https://www.rfc-editor.org/rfc/rfc9700.html">
          <front>
            <title>OAuth 2.0 Security Best Current Practice</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="RFC" value="9700"/>
        </reference>
        <reference anchor="RFC8693" target="https://www.rfc-editor.org/rfc/rfc8693.html">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="January"/>
          </front>
          <seriesInfo name="RFC" value="8693"/>
        </reference>
        <reference anchor="WIMSE-ARCH" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-arch/">
          <front>
            <title>Workload Identity in a Multi System Environment Architecture</title>
            <author initials="W. W." surname="Group" fullname="WIMSE Working Group">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch"/>
        </reference>
        <reference anchor="NIST-AI-RMF" target="https://www.nist.gov/itl/ai-risk-management-framework">
          <front>
            <title>AI Risk Management Framework (AI RMF 1.0)</title>
            <author initials="" surname="NIST" fullname="NIST">
              <organization/>
            </author>
            <date year="2023" month="January"/>
          </front>
          <seriesInfo name="NIST" value="AI 100-1"/>
        </reference>
        <reference anchor="MCP-SPEC" target="https://modelcontextprotocol.io/">
          <front>
            <title>Model Context Protocol Specification</title>
            <author initials="M. P. (Linux" surname="Foundation)" fullname="MCP Project (Linux Foundation)">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
xgAA

-->

</rfc>
