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


<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

]>


<rfc ipr="trust200902" docName="draft-wei-aic-jwt-00" category="exp" submissionType="independent">
  <front>
    <title abbrev="AIC-JWT">AI Agent Identity Certificate (AIC) JSON Web Token Profile</title>

    <author initials="J." surname="Wei" fullname="Jijie Wei">
      <organization>Individual</organization>
      <address>
        <email>pki@varwof.com</email>
        <uri>https://varwof.com</uri>
      </address>
    </author>

    <date year="2026" month="August" day="25"/>

    
    <workgroup>Network Working Group</workgroup>
    <keyword>JSON Web Token</keyword> <keyword>JWT</keyword> <keyword>AI Agent</keyword> <keyword>Authorization</keyword> <keyword>Delegation</keyword> <keyword>OAuth 2.0</keyword> <keyword>JOSE</keyword>

    <abstract>


<?line 118?>

<t>This document defines the JSON Web Token (JWT) profile of the AI Agent
Identity Certificate (AIC), a companion specification to
<spanx style="verb">draft-wei-aic-identity-cert-00</spanx>.  The AIC X.509 extension binds an AI
Agent&#39;s cryptographic identity to a responsible principal, carries a
structured capability container, authorization boundary constraints,
delegation mode, and principal-signed delegation evidence, and enables
fully offline authorization decisions at the TLS layer.</t>

<t>AIC-JWT encodes the same data model as an application-layer JWT so that
the same authorization semantics can be enforced by HTTP APIs, web
applications, and OAuth 2.0 ecosystems where transport-layer
certificate presentation is not available.  The specification defines:</t>

<t><list style="symbols">
  <t>a nested JWS structure that preserves the two-layer signature model
of AIC -- a principal-signed DelegationAuthorization (DA) JWT
embedded in and covered by an issuer-signed outer JWT;</t>
  <t>a namespaced <spanx style="verb">aic</spanx> claim carrying agent identity, principal binding,
structured capabilities, delegation mode, and authorization
constraints;</t>
  <t>principal binding by SPKI hash or JWK thumbprint, with optional
credential bundle presentation in PKI deployments;</t>
  <t>issuance flows for both PKI-based CAs and OAuth 2.0 authorization
servers, including RFC 7523 assertion exchange and RFC 8693 token
exchange;</t>
  <t>validation rules, IANA registrations, and security considerations
aligned with the OAuth 2.0 and JOSE specifications.</t>
</list></t>



    </abstract>



  </front>

  <middle>


<?line 147?>

<section anchor="introduction" title="Introduction">

<section anchor="problem-statement" title="Problem Statement">

<t>The AIC X.509 extension defined in <xref target="AIC"></xref>
answers five questions at TLS handshake time: who delegated the
authorization, which operations were authorized, under which
constraints the Agent may run, how long the authorization is valid, and
who is accountable for the Agent&#39;s actions.  Its design goal is that
the complete authorization decision can be made offline, from the
certificate and its credential bundle alone.</t>

<t>Many deployment contexts cannot present X.509 certificates at the
transport layer:</t>

<t><list style="symbols">
  <t>third-party APIs and web applications consume HTTP Authorization
headers rather than mTLS client certificates;</t>
  <t>web and mobile clients cannot manage client certificates;</t>
  <t>OAuth 2.0 <xref target="RFC6749"></xref> ecosystems use bearer tokens and token exchanges;</t>
  <t>serverless and managed gateways terminate TLS on behalf of the
application.</t>
</list></t>

<t>In these contexts the AIC data model must be carried in an
application-layer token.  This document defines that token as a JWT
<xref target="RFC7519"></xref> secured by JWS <xref target="RFC7515"></xref>, and names it <spanx style="strong">AIC-JWT</spanx>.</t>

</section>
<section anchor="relationship-to-the-x509-aic-extension" title="Relationship to the X.509 AIC Extension">

<t>AIC-JWT is a companion profile, not a replacement.  The X.509 AIC
extension remains the transport-layer profile used during TLS
handshakes in managed, regulated, and air-gapped environments.  AIC-JWT
carries the same semantic model at the application layer:</t>

<texttable>
      <ttcol align='left'>Concern</ttcol>
      <ttcol align='left'>X.509 AIC (transport)</ttcol>
      <ttcol align='left'>AIC-JWT (application)</ttcol>
      <c>Encoding</c>
      <c>ASN.1/DER</c>
      <c>JSON (JWT claims)</c>
      <c>Signature framework</c>
      <c>X.509 / <xref target="RFC5280"></xref></c>
      <c>JWS / RFC 7515</c>
      <c>Principal signature</c>
      <c>DelegationAuthorization</c>
      <c>Inner DA JWT (<spanx style="verb">typ=aic+da+jwt</spanx>)</c>
      <c>Issuer coverage</c>
      <c>CA signature over TBSCertificate</c>
      <c>Outer JWT signature over the full payload</c>
      <c>Key binding</c>
      <c>X.509 subject public key</c>
      <c><spanx style="verb">cnf</spanx> claim (RFC 7800)</c>
      <c>Revocation</c>
      <c>CRL / OCSP / short lifetime</c>
      <c>Token Status List / short lifetime</c>
      <c>Trust bootstrap</c>
      <c>Certificate chain</c>
      <c>JWKS / <spanx style="verb">x5c</spanx> / credential bundle</c>
      <c>Transport</c>
      <c>TLS handshake (mTLS)</c>
      <c>HTTP Authorization header</c>
</texttable>

<t>The two profiles share: <spanx style="verb">agentId</spanx>, <spanx style="verb">principalUid</spanx>, the Capability
container (<spanx style="verb">schemeId</spanx>/<spanx style="verb">capabilityId</spanx>/<spanx style="verb">parameters</spanx>), <spanx style="verb">delegationMode</spanx>,
<spanx style="verb">authorizationConstraints</spanx>, the DelegationAuthorization structure, the
permission intersection model, capability glob matching, and the
credential bundle verification model.</t>

</section>
<section anchor="scope" title="Scope">

<t>The following sections are normative: token structure, claims
definition, DA JWT definition, issuance flows, validation pipeline,
credential bundle requirements, and IANA registrations.  Deployment
models, implementation status, and performance characteristics are
informative.</t>

<t>As in the X.509 AIC specification, this document deliberately separates
cryptographic delegation from authorization semantics: AIC-JWT defines
the representation and cryptographic binding of authorization-related
information.  Whether an operation is permitted is determined by
capability schemes and deployment policy, not by this specification.</t>

</section>
<section anchor="requirements-language" title="Requirements Language">

<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
&quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and
&quot;OPTIONAL&quot; 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>

</section>
<section anchor="terminology" title="Terminology">

<t>This document uses the terms defined in <xref target="AIC"></xref>
(AIC, Agent, Principal, Delegation Mode, Capability, Capability Scheme,
Credential Bundle, DelegationAuthorization, DelegationAuthTBS,
PrincipalAuthorization, authorizationConstraints, SPKI, PEN).  In
addition:</t>

<t><list style="hanging">
  <t hangText="AIC-JWT:">
  The outer JWT defined by this specification (<spanx style="verb">typ=aic+jwt</spanx>), signed by
a CA or an OAuth authorization server.</t>
  <t hangText="DA JWT:">
  The inner JWT (<spanx style="verb">typ=aic+da+jwt</spanx>) signed by the principal, the JSON
equivalent of DelegationAuthorization / DelegationAuthTBS.</t>
  <t hangText="PA JWT:">
  An optional companion JWT (<spanx style="verb">typ=aic+pa+jwt</spanx>) carrying the JSON
equivalent of the PrincipalAuthorization extension.</t>
  <t hangText="Issuer:">
  The entity that signs the outer AIC-JWT.  It is either a CA (PKI
mode) or an OAuth authorization server (AS mode).</t>
</list></t>

</section>
<section anchor="related-work" title="Related Work">

<t><xref target="DAAP"></xref> (<spanx style="verb">draft-mishra-oauth-agent-grants</spanx>) defines a delegated agent
authorization protocol with DID-based agent identity, JWT grant tokens,
and online verification.  AIC-JWT differs in that identity is anchored
to a PKI/AS trust root, and the principal&#39;s consent is a nested
principal-signed JWT covered by the issuer signature.  Principal key
resolution is online by default (JWKS) or, in PKI deployments, via the
optional credential bundle.</t>

<t><xref target="OBO"></xref> (<spanx style="verb">draft-oauth-ai-agents-on-behalf-of-user</spanx>) extends OAuth 2.0
flows with <spanx style="verb">requested_actor</spanx> and <spanx style="verb">actor_token</spanx> parameters.  AIC-JWT is a
token format that can be produced by such flows.</t>

<t><xref target="WIMSE"></xref> (<spanx style="verb">draft-ietf-wimse-s2s-protocol</spanx>) defines workload identity
tokens carrying <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">jti</spanx>, and <spanx style="verb">cnf</spanx>.  WIMSE tokens
identify workloads but do not carry authorization semantics; AIC-JWT
adds the AIC authorization model on top of the same JOSE primitives.</t>

<t><xref target="ATN"></xref>, <xref target="PEDIGREE"></xref>, and <xref target="HDP"></xref> carry delegation information in
application-layer JWS/DID documents but rely on online discovery or
flat scope representations.  AIC-JWT keeps the structured capability
container, the nested principal signature, and authorization
constraints of AIC.</t>

</section>
</section>
<section anchor="design-principles" title="Design Principles">

<t>This specification is guided by five orthogonal principles, carried
over from the X.509 AIC specification:</t>

<t><list style="numbers" type="1">
  <t><spanx style="strong">Two-layer signature nesting.</spanx>  The principal signs the DA JWT;
the issuer signs the outer AIC-JWT covering the complete payload
including the DA JWT.  Neither party can modify the authorization
content unilaterally.  A compromised CA/AS cannot forge a
principal-signed DA; a compromised principal key cannot mint a
valid outer token.</t>
  <t><spanx style="strong">One container, three contexts.</spanx>  The Capability structure
(<spanx style="verb">schemeId</spanx>/<spanx style="verb">capabilityId</spanx>/<spanx style="verb">parameters</spanx>) is reused in
<spanx style="verb">aic.capabilities</spanx>, <spanx style="verb">aic.constraints</spanx>, and <spanx style="verb">grants</spanx> of the PA JWT.
Gateways route evaluation by <spanx style="verb">schemeId</spanx> to scheme-specific plugins;
the certificate format stays frozen while semantics evolve through
registries.</t>
  <t><spanx style="strong">Online-first, OAuth-native verification.</spanx>  Verification follows
standard OAuth/JOSE practice: issuer keys come from JWKS (optionally
cached), token status from Token Status Lists <xref target="TSL"></xref>, and sender binding
from <spanx style="verb">cnf</spanx>/DPoP.  Offline self-contained verification is NOT a
design goal of the JSON profile; it is the domain of the X.509 AIC
(mTLS) profile.</t>
  <t><spanx style="strong">Delegation mode as a cryptographically bound field.</spanx>
<spanx style="verb">delegation_mode</spanx> distinguishes <spanx style="verb">authorized</spanx> (agent acts in its own
name) from <spanx style="verb">representative</spanx> (agent acts in the principal&#39;s name),
with different runtime checks and audit semantics, exactly as in
the X.509 profile.</t>
  <t><spanx style="strong">OAuth alignment.</spanx>  Standard JOSE and OAuth primitives are reused
wherever possible: <spanx style="verb">iss</spanx>/<spanx style="verb">sub</spanx>/<spanx style="verb">aud</spanx>/<spanx style="verb">iat</spanx>/<spanx style="verb">exp</spanx>/<spanx style="verb">jti</spanx> claims,
<spanx style="verb">cnf</spanx> (RFC 7800), DPoP (RFC 9449), Rich Authorization Requests
(RFC 9396), token exchange <xref target="RFC8693"></xref>, JWT assertions <xref target="RFC7523"></xref>,
and Token Status Lists <xref target="TSL"></xref>.</t>
</list></t>

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

<section anchor="token-roles-and-trust-model" title="Token Roles and Trust Model">

<t>The AIC-JWT trust model has four roles:</t>

<t><list style="symbols">
  <t><spanx style="strong">Principal</spanx>: the natural person or organization that signs the DA
JWT.  The principal&#39;s public key is identified by
<spanx style="verb">aic.principal.key_hash</spanx>.</t>
  <t><spanx style="strong">Agent</spanx>: the AI agent presenting the token.  The agent identity is
the <spanx style="verb">sub</spanx> claim.  The agent key is bound by <spanx style="verb">cnf</spanx>.</t>
  <t><spanx style="strong">Issuer</spanx>: the CA (PKI mode) or OAuth authorization server (AS
mode) that validates the DA JWT and signs the outer AIC-JWT.</t>
  <t><spanx style="strong">Verifier/Gateway</spanx>: the policy enforcement point that validates
the token and makes the access decision.</t>
</list></t>

<t>The issuer&#39;s public key comes from configured JWKS/<spanx style="verb">x5c</spanx> material
(optionally cached).  The principal&#39;s public key comes either from an
online JWKS or, in PKI deployments, from the credential bundle
presented with the token.</t>

</section>
<section anchor="relationship-to-oauth-20-roles" title="Relationship to OAuth 2.0 Roles">

<texttable>
      <ttcol align='left'>AIC-JWT role</ttcol>
      <ttcol align='left'>OAuth 2.0 role</ttcol>
      <c>Principal</c>
      <c>Resource Owner / subject</c>
      <c>Agent</c>
      <c>Client / actor</c>
      <c>Issuer (AS mode)</c>
      <c>Authorization Server</c>
      <c>Verifier/Gateway</c>
      <c>Resource Server</c>
</texttable>

<t>The Agent acts as the OAuth <spanx style="strong">actor</spanx> (<xref target="RFC8693"></xref> <spanx style="verb">actor_token</spanx>); the
Principal is the <spanx style="strong">subject</spanx> (<spanx style="verb">subject_token</spanx>).  The AIC-JWT can serve
as an access token (RFC 9068-style), an assertion <xref target="RFC7523"></xref>, or the
output of a token exchange <xref target="RFC8693"></xref>.</t>

</section>
<section anchor="relationship-to-mtls" title="Relationship to mTLS">

<t>AIC-JWT does not require mutual TLS (mTLS).  Sender binding is provided
at the application layer by the <spanx style="verb">cnf</spanx> claim (Section 5.1.1) and MAY be
strengthened with DPoP <xref target="RFC9449"></xref>.  Where a deployment uses mTLS, the
verifier MAY additionally check that the mTLS client certificate key
corresponds to <spanx style="verb">cnf</spanx> (for example, by comparing the JWK thumbprint of
the certificate public key with the <spanx style="verb">jkt</spanx> member).  Whether and how
mTLS is deployed is a deployment decision and outside the scope of this
specification; in particular, offline handshake-time decisions remain
the domain of the X.509 AIC (mTLS) profile.</t>

</section>
</section>
<section anchor="token-structure" title="Token Structure">

<section anchor="nested-jws-construction" title="Nested JWS Construction">

<t>The AIC-JWT is a nested JWS per Section 5.2 of <xref target="RFC7515"></xref>:</t>

<t><list style="numbers" type="1">
  <t>The principal creates the DA JWT (Section 5.3) and signs it with the
principal&#39;s private key.</t>
  <t>The agent or issuer constructs the outer payload (Section 5.1)
containing the <spanx style="verb">da</spanx> claim whose value is the complete DA JWT
string.</t>
  <t>The issuer signs the outer payload, producing the AIC-JWT.</t>
</list></t>

<t>The outer signature covers the complete inner JWT string.  Any
modification of the inner token invalidates the outer signature.</t>

<t>The AIC-JWT uses the JWS compact serialization.  The inner DA JWT uses
the JWS compact serialization as well.</t>

</section>
<section anchor="outer-jose-header" title="Outer JOSE Header">

<t>The outer header MUST contain:</t>

<t><list style="symbols">
  <t><spanx style="verb">alg</spanx>: a JOSE algorithm from the allowlist in Section 4.5.  The value
<spanx style="verb">none</spanx> MUST NOT be used.</t>
  <t><spanx style="verb">typ</spanx>: the string <spanx style="verb">aic+jwt</spanx>.</t>
  <t><spanx style="verb">kid</spanx>: the identifier of the issuer&#39;s signing key, per <xref target="RFC7515"></xref>
Section 4.1.4.</t>
</list></t>

<t>The outer header SHOULD contain <spanx style="verb">x5c</spanx> or <spanx style="verb">x5t</spanx> when the issuer&#39;s key is
an X.509 certificate (PKI mode), to bridge X.509 trust anchors.</t>

</section>
<section anchor="inner-da-jose-header" title="Inner DA JOSE Header">

<t>The DA JWT header MUST contain:</t>

<t><list style="symbols">
  <t><spanx style="verb">alg</spanx>: a JOSE algorithm from the allowlist in Section 4.5.</t>
  <t><spanx style="verb">typ</spanx>: the string <spanx style="verb">aic+da+jwt</spanx>.</t>
  <t><spanx style="verb">kid</spanx>: the identifier of the principal&#39;s signing key.</t>
</list></t>

<t>The DA JWT MUST NOT be accepted as a standalone access token; the
distinct <spanx style="verb">typ</spanx> value prevents confusion with the outer token.</t>

</section>
<section anchor="pa-jose-header" title="PA JOSE Header">

<t>When the optional PA JWT (Section 5.4) is used, its header MUST
contain:</t>

<t><list style="symbols">
  <t><spanx style="verb">alg</spanx>: a JOSE algorithm from the allowlist in Section 4.5.</t>
  <t><spanx style="verb">typ</spanx>: the string <spanx style="verb">aic+pa+jwt</spanx>.</t>
  <t><spanx style="verb">kid</spanx>: the issuer&#39;s signing key identifier.</t>
</list></t>

</section>
<section anchor="algorithm-allowlist" title="Algorithm Allowlist">

<t>The following JOSE algorithms are permitted, mirroring the signature
algorithm policy of the X.509 AIC specification:</t>

<texttable>
      <ttcol align='left'>JOSE </ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <ttcol align='left'>X.509 counterpart</ttcol>
      <c><spanx style="verb">ES256</spanx></c>
      <c>MUST</c>
      <c>ecdsa-with-SHA256</c>
      <c><spanx style="verb">ES384</spanx></c>
      <c>MAY</c>
      <c>ecdsa-with-SHA384</c>
      <c><spanx style="verb">ES512</spanx></c>
      <c>MAY</c>
      <c>ecdsa-with-SHA512</c>
      <c><spanx style="verb">RS256</spanx></c>
      <c>MUST</c>
      <c>sha256WithRSAEncryption</c>
      <c><spanx style="verb">RS384</spanx></c>
      <c>MAY</c>
      <c>sha384WithRSAEncryption</c>
      <c><spanx style="verb">RS512</spanx></c>
      <c>MAY</c>
      <c>sha512WithRSAEncryption</c>
      <c><spanx style="verb">PS256</spanx></c>
      <c>MAY</c>
      <c>RSASSA-PSS with SHA-256</c>
      <c><spanx style="verb">PS384</spanx></c>
      <c>MAY</c>
      <c>RSASSA-PSS with SHA-384</c>
      <c><spanx style="verb">PS512</spanx></c>
      <c>MAY</c>
      <c>RSASSA-PSS with SHA-512</c>
      <c><spanx style="verb">EdDSA</spanx> (Ed25519)</c>
      <c>MAY</c>
      <c>Ed25519</c>
</texttable>

<t>The allowlist is the union of the SPIFFE JWT-SVID algorithm set
(<xref target="RFC7518"></xref> Sections 3.3-3.5) and EdDSA, so that a token can be
verified by both JWT-SVID and AIC-JWT validators.  ES256 and RS256 are
the common MUST-level core shared with RFC 9068 and JWT-SVID;
interoperable deployments SHOULD use ES256 or RS256.</t>

<t>Implementations MUST reject all other algorithms.  Implementations
MUST follow the JSON Web Algorithm Confusion prevention guidance of
<xref target="RFC8725"></xref>: the <spanx style="verb">alg</spanx> header MUST be validated against the allowlist,
the <spanx style="verb">kid</spanx> MUST be resolved to the expected key, and symmetric
algorithms such as <spanx style="verb">HS256</spanx> MUST NOT be accepted for AIC-JWT.</t>

</section>
</section>
<section anchor="claims" title="Claims">

<section anchor="outer-claims" title="Outer Claims">

<t>The outer payload is a JSON object.  AIC-specific claims are carried
inside the namespaced <spanx style="verb">aic</spanx> claim to avoid collisions with registered
JWT and OAuth claims.</t>

<section anchor="standard-claims" title="Standard Claims">

<t><list style="symbols">
  <t><spanx style="verb">iss</spanx> (REQUIRED): the issuer identifier, a URL per <xref target="RFC9068"></xref> and
<xref target="RFC9207"></xref>.</t>
  <t><spanx style="verb">sub</spanx> (REQUIRED): the <spanx style="verb">agentId</spanx>, a string of 1 to 256 characters.
The subject of the AIC-JWT is the Agent, consistent with the X.509
profile where the certificate subject is the Agent.  This deviates
from RFC 9068&#39;s default <spanx style="verb">sub</spanx> semantics (the OAuth resource owner);
the responsible principal is carried in <spanx style="verb">aic.principal</spanx>.</t>
  <t><spanx style="verb">aud</spanx> (REQUIRED): a string or array of strings identifying the
intended resource servers or gateways.  Verification follows RFC 9068
Section 4.  Deployments that base decisions solely on capability
evaluation MUST still include a deployment-scoped audience to prevent
audience confusion.</t>
  <t><spanx style="verb">iat</spanx> (REQUIRED): NumericDate of issuance.</t>
  <t><spanx style="verb">exp</spanx> (REQUIRED): NumericDate of expiry.  The lifetime
<spanx style="verb">exp - iat</spanx> MUST NOT exceed the DA&#39;s <spanx style="verb">requested_lifetime</spanx>, which MUST
NOT exceed 86400 seconds (1 day).</t>
  <t><spanx style="verb">nbf</spanx> (OPTIONAL): NumericDate before which the token MUST NOT be
accepted.</t>
  <t><spanx style="verb">jti</spanx> (REQUIRED): a unique token identifier used for replay
prevention and status lists.  When a DA JWT is present, <spanx style="verb">jti</spanx> SHOULD
equal the DA&#39;s <spanx style="verb">nonce</spanx> value.</t>
  <t><spanx style="verb">cnf</spanx> (REQUIRED): a confirmation claim per <xref target="RFC7800"></xref> binding the
token to the Agent&#39;s proof-of-possession key.  The <spanx style="verb">jkt</spanx> member
(<xref target="RFC7638"></xref> thumbprint) is RECOMMENDED.  When DPoP <xref target="RFC9449"></xref> is used,
the <spanx style="verb">jkt</spanx> member MUST match the DPoP proof key thumbprint.  Where a
deployment uses mTLS, the verifier MAY cross-check the mTLS client
certificate key against <spanx style="verb">cnf</spanx> (Section 3.3).</t>
  <t><spanx style="verb">scope</spanx> (OPTIONAL): an OAuth scope string projection of the
capabilities, for interoperability with generic OAuth resource
servers.  The <spanx style="verb">aic.capabilities</spanx> claim remains the canonical
authorization input.</t>
  <t><spanx style="verb">client_id</spanx> (OPTIONAL): the OAuth client identifier in AS mode,
per RFC 9068.</t>
  <t><spanx style="verb">status</spanx> (OPTIONAL): a Token Status List reference per
<xref target="TSL"></xref>, with <spanx style="verb">idx</spanx> and <spanx style="verb">uri</spanx> members.</t>
  <t><spanx style="verb">authorization_details</spanx> (OPTIONAL): a Rich Authorization Requests
<xref target="RFC9396"></xref> projection of <spanx style="verb">aic.capabilities</spanx>, for consumption by
standard OAuth resource servers.</t>
</list></t>

</section>
<section anchor="the-aic-claim" title="The aic Claim">

<t>The <spanx style="verb">aic</spanx> claim (REQUIRED) is a JSON object:</t>

<t><spanx style="verb">
"aic": {
  "ver": 1,
  "principal": {
    "realm": "corp.com",
    "id": "zhangsan",
    "key_hash": "&lt;base64url of SPKI hash&gt;",
    "hash_alg": "sha-256"
  },
  "delegation_mode": "authorized" | "representative",
  "capabilities": [ ... ],
  "constraints": [ ... ],
  "chain_depth": 0,
  "max_depth": 1,
  "extensions": { ... }
}
</spanx></t>

<t><list style="symbols">
  <t><spanx style="verb">ver</spanx> (REQUIRED): AIC-JWT profile version, currently 1.</t>
  <t><spanx style="verb">principal</spanx> (REQUIRED): the principal binding, with members:
  <list style="symbols">
      <t><spanx style="verb">realm</spanx> (REQUIRED): globally unique namespace, 1 to 128 characters;</t>
      <t><spanx style="verb">id</spanx> (REQUIRED): identifier within the realm, 1 to 256 characters,
MUST NOT contain raw PII (see Section 14);</t>
      <t><spanx style="verb">key_hash</spanx> (REQUIRED): the principal binding hash, either
(a) the base64url <xref target="RFC4648"></xref> encoding of <spanx style="verb">hash_alg(SPKI)</spanx> where SPKI is the
DER SubjectPublicKeyInfo of the principal&#39;s X.509 certificate, or
(b) the <xref target="RFC7638"></xref> JWK thumbprint (<spanx style="verb">jkt</spanx>) of the principal&#39;s JWK in
pure-JSON deployments.  The <spanx style="verb">hash_alg</spanx> member disambiguates.</t>
      <t><spanx style="verb">hash_alg</spanx> (REQUIRED when <spanx style="verb">key_hash</spanx> is an SPKI hash): the hash
algorithm name (e.g., <spanx style="verb">sha-256</spanx>, <spanx style="verb">sha-384</spanx>, <spanx style="verb">sha-512</spanx>, <spanx style="verb">sha3-256</spanx>,
<spanx style="verb">sm3</spanx>) or its ASN.1 OID string.  When the key is a JWK thumbprint,
<spanx style="verb">hash_alg</spanx> MUST be <spanx style="verb">"jkt"</spanx>.</t>
    </list></t>
  <t><spanx style="verb">delegation_mode</spanx> (REQUIRED): <spanx style="verb">"authorized"</spanx> (default) or
<spanx style="verb">"representative"</spanx>.</t>
  <t><spanx style="verb">capabilities</spanx> (REQUIRED, 1 to 256 entries): the Agent&#39;s declared
capabilities; each entry is a Capability object (Section 6).</t>
  <t><spanx style="verb">constraints</spanx> (OPTIONAL, 0 to 32 entries): authorization boundary
constraints; each entry is a Capability object whose <spanx style="verb">scheme</spanx> MUST be
<spanx style="verb">varwof/constraint-v1</spanx>.</t>
  <t><spanx style="verb">chain_depth</spanx> (OPTIONAL, 0 to 255): current delegation depth,
default 0.</t>
  <t><spanx style="verb">max_depth</spanx> (OPTIONAL, 0 to 255): maximum delegation depth; MUST NOT
exceed 1 as a best practice; <spanx style="verb">chain_depth</spanx> MUST NOT exceed
<spanx style="verb">max_depth</spanx>.</t>
  <t><spanx style="verb">extensions</spanx> (OPTIONAL, 0 to 32 entries): an object keyed by OID
strings; each value is <spanx style="verb">{ "critical": boolean, "value": &lt;JSON&gt; }</spanx>.
Unknown extensions with <spanx style="verb">critical: true</spanx> MUST cause rejection;
unknown extensions with <spanx style="verb">critical: false</spanx> (default) MAY be ignored.</t>
</list></t>

</section>
<section anchor="the-da-claim" title="The da Claim">

<t>The <spanx style="verb">da</spanx> claim (CONDITIONAL) contains the complete DA JWT string.  It
is REQUIRED in the full profile.  It MAY be omitted only in the
lightweight consumer profile (Section 10.3) where the delegation mode
is <spanx style="verb">authorized</spanx>, risk is low, and the deployment does not require
principal non-repudiation.</t>

<t>When present, the verifier MUST validate the DA JWT and MUST check
consistency between the DA JWT payload and the outer <spanx style="verb">aic</spanx> claim
(Section 13).</t>

</section>
</section>
<section anchor="da-jwt-payload-delegationauthtbs-equivalent" title="DA JWT Payload (DelegationAuthTBS Equivalent)">

<t>The DA JWT payload is the JSON equivalent of DelegationAuthTBS.  All
ten members MUST be present:</t>

<t><spanx style="verb">
{
  "ver": 1,
  "agent_id": "agent:db-analyst-01",
  "principal": { ... same structure as aic.principal ... },
  "reason": {
    "code": "DATA_ANALYSIS",
    "desc": "Scheduled data analysis window"
  },
  "capabilities": [ ... ],
  "delegation_mode": "representative",
  "constraints": [ ... ],
  "requested_lifetime": 3600,
  "ts": 1755500000,
  "nonce": "&lt;base64url of 32 random bytes&gt;"
}
</spanx></t>

<t><list style="symbols">
  <t><spanx style="verb">ver</spanx> (REQUIRED): 1.</t>
  <t><spanx style="verb">agent_id</spanx> (REQUIRED): the agent identifier; MUST equal the outer
<spanx style="verb">sub</spanx>.</t>
  <t><spanx style="verb">principal</spanx> (REQUIRED): MUST equal the outer <spanx style="verb">aic.principal</spanx>.</t>
  <t><spanx style="verb">reason</spanx> (REQUIRED): <spanx style="verb">code</spanx> (1 to 64 characters, controlled
vocabulary, e.g., <spanx style="verb">SCHEDULED_MAINTENANCE</spanx>, <spanx style="verb">AUTO_RENEWAL</spanx>,
<spanx style="verb">DATA_ANALYSIS</spanx>) and <spanx style="verb">desc</spanx> (1 to 512 characters, human readable).</t>
  <t><spanx style="verb">capabilities</spanx> (REQUIRED): MUST equal the outer <spanx style="verb">aic.capabilities</spanx>.</t>
  <t><spanx style="verb">delegation_mode</spanx> (REQUIRED): MUST equal the outer
<spanx style="verb">aic.delegation_mode</spanx>.</t>
  <t><spanx style="verb">constraints</spanx> (OPTIONAL): MUST equal the outer <spanx style="verb">aic.constraints</spanx>.</t>
  <t><spanx style="verb">requested_lifetime</spanx> (REQUIRED): 1 to 86400 seconds; SHOULD be
3600 to 86400.</t>
  <t><spanx style="verb">ts</spanx> (REQUIRED): NumericDate of the principal&#39;s signature.</t>
  <t><spanx style="verb">nonce</spanx> (REQUIRED): base64url encoding of 32 bytes from a CSPRNG,
used for replay prevention.  The issuer MUST check uniqueness and
persist used nonces.</t>
</list></t>

<t>The signing input is the UTF-8 encoding of the JWS payload as defined
by RFC 7515 (that is, the payload is not a DER encoding; JSON field
order in the signed payload is the order produced by the JWS
serialization and MUST be preserved as signed).</t>

</section>
<section anchor="pa-jwt-payload-principalauthorization-equivalent" title="PA JWT Payload (PrincipalAuthorization Equivalent)">

<t>The optional PA JWT carries the JSON equivalent of the
PrincipalAuthorization extension.  It is REQUIRED in
<spanx style="verb">representative</spanx> mode when no principal X.509 certificate with the
PrincipalAuthorization extension is present in the bundle:</t>

<t><spanx style="verb">
{
  "ver": 1,
  "principal": { ... same structure as aic.principal ... },
  "grants": [ ... capabilities ... ],
  "constraints": [ ... ],
  "delegation_policy": {
    "max_agents": 1,
    "allowed_mode": "authorized_only" | "representative_allowed",
    "max_session_hours": 24
  },
  "extensions": { ... }
}
</spanx></t>

<t><list style="symbols">
  <t><spanx style="verb">principal</spanx> (REQUIRED): the principal to which the PA JWT belongs.</t>
  <t><spanx style="verb">grants</spanx> (REQUIRED, 0 to 256 entries): the principal&#39;s capability
grants; the upper bound <spanx style="verb">P_grants</spanx>.</t>
  <t><spanx style="verb">constraints</spanx> (OPTIONAL): principal-level authorization boundary
constraints, evaluated independently from <spanx style="verb">aic.constraints</spanx>.</t>
  <t><spanx style="verb">delegation_policy</spanx> (OPTIONAL): <spanx style="verb">max_agents</spanx> (default 1),
<spanx style="verb">allowed_mode</spanx> (<spanx style="verb">authorized_only</spanx> default or
<spanx style="verb">representative_allowed</spanx>), and optional <spanx style="verb">max_session_hours</spanx>.</t>
  <t><spanx style="verb">extensions</spanx> (OPTIONAL): same structure as <spanx style="verb">aic.extensions</spanx>.</t>
</list></t>

<t>Alternatively, in PKI mode, the principal&#39;s X.509 certificate carrying
the PrincipalAuthorization extension MAY be presented in the bundle as
<spanx style="verb">x5c</spanx>; the verifier then evaluates the ASN.1 form.</t>

</section>
<section anchor="mapping-from-asn1" title="Mapping from ASN.1">

<texttable>
      <ttcol align='left'>X.509 AIC (ASN.1)</ttcol>
      <ttcol align='left'>AIC-JWT</ttcol>
      <c>version</c>
      <c><spanx style="verb">aic.ver</spanx></c>
      <c>agentId</c>
      <c><spanx style="verb">sub</spanx> (outer), <spanx style="verb">agent_id</spanx> (DA)</c>
      <c>principalUid.realm</c>
      <c><spanx style="verb">aic.principal.realm</spanx></c>
      <c>principalUid.identifier</c>
      <c><spanx style="verb">aic.principal.id</spanx></c>
      <c>principalUid.keyHash</c>
      <c><spanx style="verb">aic.principal.key_hash</spanx></c>
      <c>principalUid.hashAlgo</c>
      <c><spanx style="verb">aic.principal.hash_alg</spanx></c>
      <c>capabilities (Capability)</c>
      <c><spanx style="verb">aic.capabilities</spanx></c>
      <c>delegationMode</c>
      <c><spanx style="verb">aic.delegation_mode</spanx></c>
      <c>authorizationConstraints</c>
      <c><spanx style="verb">aic.constraints</spanx></c>
      <c>DelegationDepthControl</c>
      <c><spanx style="verb">aic.chain_depth</spanx>, <spanx style="verb">aic.max_depth</spanx></c>
      <c>extensions</c>
      <c><spanx style="verb">aic.extensions</spanx></c>
      <c>DelegationAuthorization</c>
      <c><spanx style="verb">da</spanx> (inner JWT)</c>
      <c>DelegationAuthTBS</c>
      <c>DA JWT payload</c>
      <c>PrincipalAuthorization</c>
      <c>PA JWT or principal <spanx style="verb">x5c</spanx></c>
      <c>notBefore / notAfter</c>
      <c><spanx style="verb">nbf</spanx> / <spanx style="verb">exp</spanx></c>
      <c>serialNumber / nonce</c>
      <c><spanx style="verb">jti</spanx> / DA <spanx style="verb">nonce</spanx></c>
</texttable>

</section>
</section>
<section anchor="capabilities-and-matching" title="Capabilities and Matching">

<section anchor="capability-object" title="Capability Object">

<t>Each capability is a JSON object:</t>

<t><spanx style="verb">
{
  "scheme": "http",
  "id": "GET:/api/v1/users",
  "params": { "max_rows": 100 }
}
</spanx></t>

<t><list style="symbols">
  <t><spanx style="verb">scheme</spanx> (REQUIRED): the capability scheme identifier, 1 to 128
characters.  Semantics are defined by the scheme, not by this
specification.  Unknown schemes are routed to scheme-specific
plugins; requests referencing unknown schemes MUST be rejected
(fail-closed).</t>
  <t><spanx style="verb">id</spanx> (REQUIRED): the capability identifier within the scheme, 1 to
256 characters, supporting glob wildcards (Section 6.2).</t>
  <t><spanx style="verb">params</spanx> (OPTIONAL): a JSON value (object, array, string, number, or
boolean) whose semantics are defined by the scheme.  When serialized,
<spanx style="verb">params</spanx> MUST NOT exceed 512 bytes.</t>
</list></t>

<t>The Capability object is the unified container reused in three
contexts: <spanx style="verb">aic.capabilities</spanx>, <spanx style="verb">aic.constraints</spanx>, and PA <spanx style="verb">grants</spanx>.</t>

</section>
<section anchor="glob-matching" title="Glob Matching">

<t>Capability matching uses the same rules as the X.509 AIC
specification:</t>

<texttable>
      <ttcol align='left'>Pattern</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Example</ttcol>
      <c><spanx style="verb">scheme:method:path</spanx></c>
      <c>exact</c>
      <c><spanx style="verb">http:GET:/api/v1/users</spanx></c>
      <c><spanx style="verb">scheme:method:path/*</spanx></c>
      <c>single segment (no <spanx style="verb">/</spanx>)</c>
      <c><spanx style="verb">http:GET:/api/v1/*</spanx></c>
      <c><spanx style="verb">scheme:method:path/**</spanx></c>
      <c>multi segment</c>
      <c><spanx style="verb">http:GET:/api/v1/**</spanx></c>
      <c><spanx style="verb">scheme:{a,b}:path</spanx></c>
      <c>alternation</c>
      <c><spanx style="verb">http:{GET,POST}:/api/*</spanx></c>
      <c><spanx style="verb">scheme:[a-z]*:path</spanx></c>
      <c>character class</c>
      <c><spanx style="verb">http:[A-Z]*:/api/*</spanx></c>
      <c><spanx style="verb">scheme:*:path</spanx></c>
      <c>single-segment wildcard in the method position</c>
      <c><spanx style="verb">http:*:/api/v1/*</spanx></c>
      <c><spanx style="verb">scheme:*</spanx></c>
      <c>scheme-level wildcard</c>
      <c><spanx style="verb">http:*</spanx></c>
</texttable>

<t>Matching precedence (highest to lowest): exact, single-segment
wildcard, multi-segment wildcard, alternation <spanx style="verb">{a,b}</spanx>, character class
<spanx style="verb">[a-z]</spanx>, scheme-level wildcard.  When multiple rules match, the
highest-precedence rule applies.  If no rule matches, the capability
MUST be denied.</t>

<t>Bare <spanx style="verb">*</spanx> without a scheme namespace MUST NOT be allowed.</t>

<t>Matching is implemented as a two-level token stream: the pattern and
the target are first split on <spanx style="verb">:</spanx>; each segment is then split on <spanx style="verb">/</spanx>.
<spanx style="verb">*</spanx> matches exactly one path segment that does not contain <spanx style="verb">/</spanx> (or one
colon-segment in the method position), while <spanx style="verb">**</spanx> matches one or more
segments and MAY cross <spanx style="verb">/</spanx> boundaries.  Within a literal segment,
<spanx style="verb">{a,b}</spanx> alternation matches one of the alternatives and <spanx style="verb">[a-z]</spanx>
character classes match a single character in the class; an embedded
<spanx style="verb">*</spanx> matches any characters within the segment (for example,
<spanx style="verb">[A-Z]*</spanx>).  This algorithm was verified by the reference
implementations (Go and TypeScript/WebCrypto) against the examples in
this section.</t>

</section>
<section anchor="parameter-intersection" title="Parameter Intersection">

<t>When matching <spanx style="verb">P_grants</spanx> against <spanx style="verb">C_agent</spanx>:</t>

<t><list style="symbols">
  <t>if <spanx style="verb">C_agent.params</spanx> exceeds the bounds of <spanx style="verb">P_grants.params</spanx>, the
capability entry is invalid and MUST be filtered or rejected;</t>
  <t>otherwise the agent-specified <spanx style="verb">params</spanx> value is adopted in full.</t>
</list></t>

<t>Example: <spanx style="verb">P_grants.params = {"max_rows": 1000}</spanx> with
<spanx style="verb">C_agent.params = {"max_rows": 100}</spanx> is accepted with <spanx style="verb">max_rows=100</spanx>;
with <spanx style="verb">max_rows=5000</spanx> it is rejected.</t>

</section>
</section>
<section anchor="authorization-constraints" title="Authorization Constraints">

<t><spanx style="verb">aic.constraints</spanx> is an optional array of Capability objects whose
<spanx style="verb">scheme</spanx> MUST be <spanx style="verb">varwof/constraint-v1</spanx>; other scheme values MUST be
rejected.  The <spanx style="verb">id</spanx> distinguishes constraint types; the following types
are defined as examples, extensible through the capability scheme
registry:</t>

<texttable>
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'> format</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">allowed-cidr</spanx></c>
      <c><spanx style="verb">["10.0.0.0/8", "192.168.0.0/16"]</spanx></c>
      <c>Allowed IP ranges</c>
      <c><spanx style="verb">max-concurrent</spanx></c>
      <c><spanx style="verb">{"max": 5}</spanx></c>
      <c>Maximum concurrent agent instances</c>
      <c><spanx style="verb">time-window</spanx></c>
      <c><spanx style="verb">{"start": "22:00", "end": "06:00"}</spanx></c>
      <c>Allowed execution window (UTC)</c>
</texttable>

<t>Constraints are evaluated with logical AND: all constraints MUST be
satisfied.  The constraint count MUST NOT exceed 32.  Unknown
constraint types default to audit-and-ignore for forward compatibility;
deployments MAY configure strict rejection.</t>

<t><spanx style="verb">aic.constraints</spanx> (execution boundaries) and PA <spanx style="verb">constraints</spanx>
(authorization boundaries) are evaluated independently; there is no
subset relationship between them.</t>

<t>Runtime policy (timeouts, retries, rate limits, routing) MUST NOT be
placed in <spanx style="verb">authorizationConstraints</spanx>; it remains in gateway local
policy configuration.</t>

</section>
<section anchor="delegation-model" title="Delegation Model">

<section anchor="delegation-modes" title="Delegation Modes">

<t><spanx style="strong">authorized</spanx> (default): the Agent acts in its own name.  The audit
log records <spanx style="verb">sub</spanx> (agentId) as the actor and <spanx style="verb">aic.principal.id</spanx> as the
authorizing principal.  The capability set is locked at issuance; no
runtime <spanx style="verb">P_grants</spanx> superset check is performed.  Narrow scope x longer
lifetime (up to 24 hours with renewed DA on renewal).</t>

<t><spanx style="strong">representative</spanx>: the Agent acts in the principal&#39;s name.  The audit
log records <spanx style="verb">aic.principal.id</spanx> as the actor and <spanx style="verb">sub</spanx> as the executor.
The bundle MUST contain the principal&#39;s PA material.  At issuance and
at runtime, <spanx style="verb">C_agent</spanx> MUST be a subset of <spanx style="verb">P_grants</spanx>.  Wide scope x
short lifetime, with runtime <spanx style="verb">P_grants</spanx> intersection at each
operation.</t>

</section>
<section anchor="permission-intersection" title="Permission Intersection">

<t>The effective permission set is the intersection of principal grants
and agent capabilities:</t>

<t><spanx style="verb">
P_effective = P_grants (AND) C_agent
</spanx></t>

<t>In <spanx style="verb">authorized</spanx> mode the intersection was verified at issuance and
locked into the token.  In <spanx style="verb">representative</spanx> mode the intersection is
computed at runtime for each operation.  Gateway local runtime policy
(<spanx style="verb">T_policy</spanx>) is an additional enforcement layer and MUST NOT be
confused with the <spanx style="verb">P (AND) C</spanx> intersection.</t>

</section>
<section anchor="multi-level-delegation" title="Multi-level Delegation">

<t>Single-level delegation (Principal -&gt; Agent, <spanx style="verb">chain_depth=0</spanx>) is the
default and recommended deployment mode.  Depth-1 chains
(Principal -&gt; Agent -&gt; sub-Agent, <spanx style="verb">chain_depth=1</spanx>) are supported
optionally; each hop produces an independently signed DA JWT whose
signer is the delegating agent.  Capabilities are recursively
intersected along the chain.  Any <spanx style="verb">chain_depth</spanx> MUST NOT exceed
<spanx style="verb">max_depth</spanx>; <spanx style="verb">max_depth</spanx> MUST NOT exceed 1 as a best practice.  A
sub-agent MUST NOT delegate further.</t>

<t>Recursive verification: starting from the presented token, verify each
DA JWT with the signer&#39;s key (identified by the previous level&#39;s
<spanx style="verb">principal</spanx>/<spanx style="verb">cnf</spanx>), check that declared capabilities are a subset of
the delegator&#39;s effective capabilities, and repeat until the original
principal or the depth limit is reached.  Cycles are prevented by
strictly monotonic <spanx style="verb">chain_depth</spanx>; credential bomb attacks are limited
by a gateway-configured maximum bundle size (default 8 certificates or
equivalent tokens).</t>

</section>
</section>
<section anchor="credential-bundle-optional" title="Credential Bundle (Optional)">

<section anchor="bundle-composition" title="Bundle Composition">

<t>The credential bundle is an optional deployment mechanism and the JSON
analog of the X.509 credential bundle.  It is presented with the
AIC-JWT to avoid online principal key resolution.  It is RECOMMENDED in
PKI deployments and in deployments where the principal&#39;s key is not
reliably resolvable online; when online resolution is available (for
example, from a principal JWKS), the bundle MAY be omitted.  The bundle
contains:</t>

<t><list style="symbols">
  <t>the AIC-JWT (outer token);</t>
  <t>the principal key material:
  <list style="symbols">
      <t>in PKI mode: the principal&#39;s X.509 certificate chain (<spanx style="verb">x5c</spanx>), from
which the verifier extracts the SPKI and computes
<spanx style="verb">hash_alg(SPKI)</spanx>; or</t>
      <t>in pure-JSON mode: the principal&#39;s JWK, from which the verifier
computes the RFC 7638 thumbprint;</t>
    </list></t>
  <t>in <spanx style="verb">representative</spanx> mode: the PA JWT or the principal certificate
carrying the PrincipalAuthorization extension;</t>
  <t>optionally, intermediate CA certificates or issuer JWKS entries.</t>
</list></t>

</section>
<section anchor="principal-binding-check" title="Principal Binding Check">

<t>The verifier MUST compute the binding from the principal key material
(from the credential bundle, an online JWKS, or a locally cached copy)
and MUST compare it to <spanx style="verb">aic.principal.key_hash</spanx>.  The binding method is
determined by <spanx style="verb">hash_alg</spanx>:</t>

<t><list style="symbols">
  <t>SPKI hash: <spanx style="verb">key_hash = base64url(hash_alg(SPKI))</spanx>, with
<spanx style="verb">hash_alg</spanx> defaulting to SHA-256.  Only hash algorithms with output
length not exceeding 64 bytes are supported (SHA-2/SHA-3 family, SM3,
BLAKE2/BLAKE3).</t>
  <t>JWK thumbprint: <spanx style="verb">key_hash = jkt</spanx> per RFC 7638, <spanx style="verb">hash_alg = "jkt"</spanx>.</t>
</list></t>

<t>Mismatch MUST cause rejection (fail-closed).  The same SPKI-hash
design rationale as the X.509 profile applies: certificate renewal with
the same key pair preserves the binding; key rotation invalidates all
existing delegations without broadcast revocation.</t>

</section>
<section anchor="deployment-note-offline-operation" title="Deployment Note: Offline Operation">

<t>AIC-JWT is designed for online verification and does not claim offline
self-contained verification.  In air-gapped deployments that still use
the JSON profile, the verifier MUST accept the risk that a token
revoked after its last status check may be accepted until the next
cache refresh; mitigations include short lifetime windows (RECOMMENDED
&lt;= 1 hour) and locally cached status lists.  Deployments that require
offline self-contained authorization decisions SHOULD use the X.509
AIC (mTLS) profile instead.</t>

</section>
<section anchor="browser-key-material" title="Browser Key Material">

<t>Browsers have no native ASN.1/DER or X.509 parsing API.  Consequently,
the <spanx style="verb">x5c</spanx> bundle path (SPKI hash of an X.509 certificate) is not
available in browser-only deployments without a third-party ASN.1
library or a server-side helper (Section 10.5, Mode B).  Browser
deployments SHOULD use the JWK thumbprint form (<spanx style="verb">hash_alg: "jkt"</spanx>)
exclusively and SHOULD rely on a server-side helper to convert any
X.509 key material to JWK before it reaches the browser.</t>

</section>
</section>
<section anchor="issuance-flows" title="Issuance Flows">

<section anchor="pki-mode" title="PKI Mode">

<t><list style="numbers" type="1">
  <t>The Agent generates a key pair and constructs an issuance request
containing the desired capabilities, delegation mode, constraints,
and a 32-byte nonce.</t>
  <t>The principal reviews the request (least privilege; wildcard
capabilities require explicit confirmation), signs the DA JWT
(Section 5.2), and returns it to the Agent.</t>
  <t>The Agent submits the DA JWT to the CA.</t>
  <t>The CA validates: the DA JWT signature against the principal key
identified by <spanx style="verb">principal.key_hash</spanx>; nonce uniqueness (persisted);
in <spanx style="verb">representative</spanx> mode, that <spanx style="verb">capabilities</spanx> are a capability-level
and parameter-level subset of <spanx style="verb">P_grants</spanx>.</t>
  <t>The CA constructs and signs the outer AIC-JWT, with
<spanx style="verb">exp - iat = min(requested_lifetime, local policy cap)</spanx>.</t>
</list></t>

</section>
<section anchor="oauth-authorization-server-mode" title="OAuth Authorization Server Mode">

<t><list style="numbers" type="1">
  <t>The principal provides consent through the standard OAuth flow
(authorization code with <spanx style="verb">requested_actor</spanx>, or an OBO-style flow).</t>
  <t>The Agent presents the principal-signed DA JWT as an assertion,
using the <xref target="RFC7523"></xref> <spanx style="verb">grant_type</spanx>
(<spanx style="verb">urn:ietf:params:oauth:grant-type:jwt-bearer</spanx>) or as a
<spanx style="verb">client_assertion</spanx>/<spanx style="verb">client_assertion_type</spanx> pair, together with the
token request.</t>
  <t>The AS validates the DA JWT (signature, nonce uniqueness, subset
checks) and issues the outer AIC-JWT signed with the AS key.</t>
  <t>The AS MAY expose a JWKS endpoint and Token Status List <xref target="TSL"></xref> for
verification and revocation.</t>
</list></t>

<t>The AS MUST NOT sign the outer token without a valid principal-signed
DA JWT (full profile), preserving the two-layer trust model.</t>

</section>
<section anchor="lightweight-consumer-profile" title="Lightweight Consumer Profile">

<t>For low-risk consumer deployments, the DA JWT MAY be omitted and
<spanx style="verb">delegation_mode</spanx> MUST be <spanx style="verb">authorized</spanx>.  The issuer signs the outer
token directly from principal consent recorded in the issuance
process.  This profile mirrors the consumer model of the X.509
specification and MUST NOT be used in <spanx style="verb">representative</spanx> mode.</t>

</section>
<section anchor="token-exchange-usage" title="Token Exchange Usage">

<t>An AIC-JWT MAY be produced or consumed through <xref target="RFC8693"></xref> token
exchange:</t>

<t><list style="symbols">
  <t><spanx style="verb">subject_token</spanx>: the principal&#39;s credential (e.g., an OAuth access
token or a principal-bound JWT);</t>
  <t><spanx style="verb">actor_token</spanx>: the Agent&#39;s AIC-JWT (or a workload identity token);</t>
  <t><spanx style="verb">subject_token_type</spanx> / <spanx style="verb">actor_token_type</spanx>: the registered token
types, including <spanx style="verb">urn:ietf:params:oauth:token-type:aic+jwt</spanx> for
AIC-JWT.</t>
</list></t>

<t>The exchanged token SHALL carry the AIC claims of the actor and the
intersection of the actor&#39;s capabilities with the subject&#39;s grants.</t>

</section>
<section anchor="deployment-architectures" title="Deployment Architectures">

<t>Three deployment architectures are supported and MAY be combined:</t>

<t><spanx style="strong">Mode A - Pure OAuth/JSON (no X.509).</spanx>  All key material is JWK;
principal binding uses <spanx style="verb">hash_alg: "jkt"</spanx>; trust bootstrap uses JWKS;
revocation uses Token Status Lists <xref target="TSL"></xref>.  No ASN.1/DER or X.509 processing
is required anywhere in the stack.  This is the RECOMMENDED mode for
browser, web, and OAuth-native deployments.</t>

<t><spanx style="strong">Mode B - Hybrid with a server-side PKI helper.</spanx>  A browser or
application-layer client performs what WebCrypto supports natively
(JWS verification, JWK thumbprints, DPoP), while a server-side helper
(an authorization server, a gateway, or a dedicated service such as a
Go reference implementation) performs the PKI operations that browsers
cannot: X.509 certificate parsing and chain validation, CRL/OCSP
processing, hardware-key-backed signing, and mTLS client-certificate
cross-checks.  The helper MAY translate X.509 AIC credentials into
AIC-JWTs (Section 10.6) or expose principal keys as JWKs so that
browser verifiers only ever handle JWK material.</t>

<t><spanx style="strong">Mode C - PKI (X.509) mode.</spanx>  The original
<xref target="AIC"></xref> profile with mTLS is used; the JSON
profile is not.</t>

</section>
<section anchor="x509-aic-interoperability" title="X.509 AIC Interoperability">

<t>When the same authorization is carried in both profiles, the following
equivalences apply:</t>

<t><list style="symbols">
  <t>key binding: <spanx style="verb">aic.principal.key_hash</spanx> with a SHA-2 <spanx style="verb">hash_alg</spanx>
(SPKI hash) and the <xref target="RFC7638"></xref> JWK thumbprint of the same key are two
encodings of the same binding; a helper MAY convert a presented
X.509 certificate to a JWK and a verifier MAY accept either form;</t>
  <t>DelegationAuthorization: the ASN.1 DelegationAuthTBS and the DA JWT
payload carry the same ten-field structure; a PKI helper MAY
translate between the two for issuance, verification, or audit;</t>
  <t>PrincipalAuthorization: the ASN.1 extension and the PA JWT carry the
same grants, constraints, and delegation policy;</t>
  <t>issuance: a server-side helper MAY accept an X.509 AIC credential
bundle and issue the equivalent AIC-JWT (Mode B), so that a single
authorization can be presented at the transport layer (mTLS) and at
the application layer (Bearer) with identical semantics.</t>
</list></t>

<t>Interoperability between the two profiles is a deployment mechanism,
not a new token format; both profiles share the data model defined by
<xref target="AIC"></xref>.</t>

</section>
</section>
<section anchor="validation-pipeline" title="Validation Pipeline">

<t>The verifier/gateway MUST execute the following steps in order after
receiving the AIC-JWT and bundle:</t>

<t><list style="numbers" type="1">
  <t><spanx style="strong">JWS verification</spanx>: verify the outer signature using the issuer&#39;s
key resolved from <spanx style="verb">kid</spanx> (JWKS or <spanx style="verb">x5c</spanx>), per RFC 7515.</t>
  <t><spanx style="strong">Header checks</spanx>: validate <spanx style="verb">typ == "aic+jwt"</spanx>, <spanx style="verb">alg</spanx> in the
allowlist, and reject <spanx style="verb">none</spanx> and symmetric algorithms (RFC 8725).</t>
  <t><spanx style="strong">Time checks</spanx>: <spanx style="verb">nbf &lt;= now &lt;= exp</spanx> (with deployment-configured
clock skew); <spanx style="verb">exp - iat &lt;= requested_lifetime &lt;= 86400</spanx>.</t>
  <t><spanx style="strong">DA validation</spanx> (full profile): verify the inner DA JWT signature
with the principal key material (credential bundle, online JWKS, or
a locally cached copy); check <spanx style="verb">key_hash</spanx> against that key material;
check that the DA <spanx style="verb">nonce</spanx> decodes to 32 bytes.  The DA nonce
uniqueness check is performed by the ISSUER at issuance (Section 10)
and MUST NOT be treated as single-use by the verifier: the same
access token is legitimately presented multiple times within its
lifetime.  A verifier MAY keep an optional local replay cache for
additional detection, but such a cache MUST NOT reject a valid token
on legitimate reuse.  Per-request single-use replay protection at
the verifier is provided by DPoP proof <spanx style="verb">jti</spanx> (Section 13.2), not by
the DA nonce.</t>
  <t><spanx style="strong">Consistency checks</spanx>: DA <spanx style="verb">agent_id == sub</spanx>, DA <spanx style="verb">principal ==
aic.principal</spanx>, DA <spanx style="verb">capabilities == aic.capabilities</spanx>, DA
<spanx style="verb">delegation_mode == aic.delegation_mode</spanx>, DA <spanx style="verb">constraints ==
aic.constraints</spanx>.  Any mismatch MUST cause rejection.</t>
  <t><spanx style="strong">PA check</spanx> (<spanx style="verb">representative</spanx> mode): load the PA JWT or principal
certificate from the bundle; verify <spanx style="verb">allowed_mode</spanx> permits
representative delegation; verify <spanx style="verb">C_agent</spanx> is a subset of
<spanx style="verb">P_grants</spanx> (with parameter intersection per Section 6.3).</t>
  <t><spanx style="strong">Constraint evaluation</spanx>: evaluate <spanx style="verb">aic.constraints</spanx> with AND
semantics (IP ranges, concurrency, time windows), then PA
constraints independently.  Constraint evaluation precedes
capability evaluation for fast rejection.</t>
  <t><spanx style="strong">Delegation depth check</spanx>: verify <spanx style="verb">chain_depth &lt;= max_depth</spanx>.</t>
  <t><spanx style="strong">Capability evaluation</spanx>: route the capability required by the
current request to the scheme plugin registered for its <spanx style="verb">scheme</spanx>.
Unknown schemes or unknown capabilities MUST be rejected
(fail-closed).  Capabilities irrelevant to the current request MUST
NOT affect the decision.</t>
  <t><spanx style="strong">Status check</spanx> (optional): if a <spanx style="verb">status</spanx> claim is present, fetch
or use a cached Token Status List <xref target="TSL"></xref> and verify the referenced token
is valid.</t>
  <t><spanx style="strong">Decision</spanx>: if all steps pass, permit; otherwise deny and log
sufficient diagnostic information for audit.</t>
</list></t>

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

<section anchor="outer-aic-jwt" title="Outer AIC-JWT">

<t>Header:</t>

<t><spanx style="verb">
{
  "alg": "ES256",
  "typ": "aic+jwt",
  "kid": "ca-2026-01"
}
</spanx></t>

<t>Payload:</t>

<t><spanx style="verb">
{
  "iss": "https://ca.example.com/aic",
  "sub": "agent:db-analyst-01",
  "aud": ["https://gw.example.com"],
  "iat": 1755500000,
  "exp": 1755503600,
  "jti": "aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcdef",
  "cnf": { "jkt": "0ZcOCORZNYy-DWpqq30jZyHnXgk7dNsQo0c1V3iR4vY" },
  "aic": {
    "ver": 1,
    "principal": {
      "realm": "corp.com",
      "id": "zhangsan",
      "key_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "hash_alg": "sha-256"
    },
    "delegation_mode": "representative",
    "capabilities": [
      { "scheme": "database", "id": "query:SELECT", "params": { "max_rows": 100 } }
    ],
    "constraints": [
      { "scheme": "varwof/constraint-v1", "id": "allowed-cidr", "params": ["10.0.0.0/8"] }
    ],
    "chain_depth": 0,
    "max_depth": 1
  },
  "da": "&lt;DA JWT from Section 12.2&gt;"
}
</spanx></t>

</section>
<section anchor="inner-da-jwt" title="Inner DA JWT">

<t>Header:</t>

<t><spanx style="verb">
{
  "alg": "ES256",
  "typ": "aic+da+jwt",
  "kid": "principal-zhangsan-2026"
}
</spanx></t>

<t>Payload:</t>

<t><spanx style="verb">
{
  "ver": 1,
  "agent_id": "agent:db-analyst-01",
  "principal": {
    "realm": "corp.com",
    "id": "zhangsan",
    "key_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "hash_alg": "sha-256"
  },
  "reason": {
    "code": "DATA_ANALYSIS",
    "desc": "Scheduled production data analysis window"
  },
  "capabilities": [
    { "scheme": "database", "id": "query:SELECT", "params": { "max_rows": 100 } }
  ],
  "delegation_mode": "representative",
  "constraints": [
    { "scheme": "varwof/constraint-v1", "id": "allowed-cidr", "params": ["10.0.0.0/8"] }
  ],
  "requested_lifetime": 3600,
  "ts": 1755499900,
  "nonce": "aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcdef"
}
</spanx></t>

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

<section anchor="algorithm-confusion" title="Algorithm Confusion">

<t>Follow <xref target="RFC8725"></xref>: validate the <spanx style="verb">alg</spanx> allowlist, resolve <spanx style="verb">kid</spanx> to the
expected key, reject <spanx style="verb">none</spanx> and symmetric algorithms, and reject
unexpected <spanx style="verb">typ</spanx> values.  AIC-JWT MUST always be asymmetric.</t>

</section>
<section anchor="token-theft-and-replay" title="Token Theft and Replay">

<t>AIC-JWT is a bearer token by default.  Deployments MUST use TLS.  The
token MUST carry <spanx style="verb">cnf</spanx> binding it to the Agent key, and deployments
SHOULD additionally use DPoP <xref target="RFC9449"></xref> to prevent token theft and
replay.  Where higher assurance is required, the AS MAY challenge the principal with step-up authentication <xref target="RFC9470"></xref> before issuing or refreshing tokens.  Where mTLS is deployed, the verifier MAY cross-check the mTLS
client certificate key against <spanx style="verb">cnf</spanx> (Section 3.3).  Replay is
additionally bounded by the DA <spanx style="verb">nonce</spanx>/<spanx style="verb">jti</spanx> uniqueness check at
issuance and by the short lifetime.  The nonce is a signed input of the
DA JWT, not a plaintext parameter.</t>

</section>
<section anchor="audience-confusion" title="Audience Confusion">

<t>The <spanx style="verb">aud</spanx> claim MUST be validated per RFC 9068.  Issuers MUST use
distinct issuer identifiers per trust domain (RFC 9207) so that a token
issued by one AS cannot be accepted by another.</t>

</section>
<section anchor="nested-token-confusion" title="Nested Token Confusion">

<t>The DA JWT and the AIC-JWT use distinct <spanx style="verb">typ</spanx> values (<spanx style="verb">aic+da+jwt</spanx> vs
<spanx style="verb">aic+jwt</spanx>).  A DA JWT MUST NOT be accepted as an AIC-JWT, and an
AIC-JWT MUST NOT be accepted as a DA JWT.  Verification of the inner
token MUST use the principal key identified by the DA&#39;s <spanx style="verb">principal</spanx>,
never the issuer key.</t>

</section>
<section anchor="principal-key-binding" title="Principal Key Binding">

<t>The principal binding is a hash of the principal&#39;s SPKI (or JWK
thumbprint).  Under the security assumptions of the selected hash
algorithm, collisions are computationally infeasible.  The hash is a
locating and binding mechanism, not a trust anchor: trust comes from
the bundle key material cross-check and the DA signature verification.</t>

</section>
<section anchor="threat-model" title="Threat Model">

<t>The threat model of the X.509 AIC specification applies:</t>

<t><list style="symbols">
  <t>network attacker (no private keys): mitigated by TLS, signatures,
and token binding;</t>
  <t>malicious Agent (valid token, attempts escalation): mitigated by
capability subset checks, constraint evaluation, and fail-closed
capability routing;</t>
  <t>compromised Principal (key leak): mitigated by SPKI-hash binding --
key rotation invalidates all existing delegations;</t>
  <t>compromised CA/AS: mitigated by the two-layer signature -- the
attacker still cannot forge a principal-signed DA JWT.</t>
</list></t>

</section>
<section anchor="size-limits" title="Size Limits">

<t><list style="symbols">
  <t><spanx style="verb">aic.capabilities</spanx>: 1 to 256 entries; more MUST be rejected.</t>
  <t><spanx style="verb">aic.constraints</spanx>: 0 to 32 entries; more MUST be rejected.</t>
  <t><spanx style="verb">params</spanx> when serialized: at most 512 bytes.</t>
  <t><spanx style="verb">aic.extensions</spanx>: at most 32 entries.</t>
  <t>Recommended total token size: 16 KB (compact); hard limit 64 KB.
Unlike the X.509 profile, no TLS handshake limit applies at the
application layer, but excessive sizes MUST be rejected to prevent
denial of service.</t>
</list></t>

</section>
<section anchor="web-browser-runtime-considerations" title="Web Browser Runtime Considerations">

<t>The reference TypeScript implementation uses WebCrypto only
(<spanx style="verb">crypto.subtle</spanx>, <spanx style="verb">TextEncoder</spanx>/<spanx style="verb">TextDecoder</spanx>, <spanx style="verb">btoa</spanx>/<spanx style="verb">atob</spanx>,
<spanx style="verb">BigInt</spanx>) and was verified in Node and in WebCrypto-compatible
runtimes.  The following browser constraints were verified and MUST be
taken into account by browser implementations:</t>

<t><list style="symbols">
  <t>All cryptographic operations are asynchronous; the validation
pipeline MUST be implemented with promises/async.</t>
  <t>WebCrypto ECDSA signatures are raw R||S, which is JOSE-compatible;
no DER conversion is required.</t>
  <t>A DPoP proof header MUST carry the public key only.  Including the
private JWK (with <spanx style="verb">d</spanx> and <spanx style="verb">key_ops: ["sign","verify"]</spanx>) causes key
import with <spanx style="verb">usages: ["verify"]</spanx> to fail in WebCrypto
implementations.</t>
  <t>When importing a JWK (from a DPoP header or elsewhere), <spanx style="verb">key_ops</spanx>
MUST be removed or aligned with the requested usages.</t>
  <t>RSA-PSS signing and verification require an RSA-PSS key; a key
generated for RSASSA-PKCS1-v1_5 MUST NOT be used for PS256.</t>
  <t>Ed25519 WebCrypto support varies by runtime and browser version;
implementations MUST feature-detect Ed25519 before using <spanx style="verb">EdDSA</spanx>.</t>
  <t>WebCrypto hash algorithms are limited to SHA-1/SHA-256/SHA-384/
SHA-512.  <spanx style="verb">sha3-*</spanx>, <spanx style="verb">sm3</spanx>, and BLAKE2/BLAKE3 are NOT available and
require WASM libraries when those <spanx style="verb">hash_alg</spanx> values are used.</t>
  <t>Browsers cannot access TPM/HSM/smart-card keys directly.  WebAuthn
covers only RP-scoped challenge signing and MUST NOT be assumed to
sign arbitrary DA payloads; hardware-backed principal signing in
browser scenarios SHOULD be delegated to a server-side helper
(Section 10.5, Mode B).</t>
  <t>Browsers do not expose the mTLS client certificate to script; the
Section 3.3 cnf/mTLS cross-check is therefore not available in
browsers.  DPoP is the sender-binding mechanism for browser
deployments.</t>
  <t>Long-running background agents are constrained by page and service
worker lifecycles; browser-hosted agents SHOULD be session-scoped,
with long-running execution delegated to a backend.</t>
</list></t>

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

<t>The GDPR / right-to-be-forgotten considerations of the X.509 AIC
specification apply:</t>

<t><list style="numbers" type="1">
  <t><spanx style="verb">aic.principal.id</spanx> MUST NOT contain raw PII (full names, national
identifiers, email addresses).  Pseudonymous identifiers (UUIDs)
MUST be used, with the mapping table stored in a compliant,
deletable database.</t>
  <t>Revocation (Token Status List <xref target="TSL"></xref> or short lifetime) is the mechanism
for expressing &quot;the principal no longer authorizes this Agent&quot;;
revocation does not erase the token itself.</t>
  <t>AIC-JWT is a stateless credential: it MAY be parsed and validated
in memory and discarded, without persistence.</t>
  <t>Audit logs MUST be minimized: session binding fingerprint, operation
summary, decision, and pseudonymous identifier are sufficient.</t>
  <t>Cryptographic evidence is independent of log mappings: deleting the
pseudonym mapping table does not invalidate the DA JWT signature.</t>
  <t>No sensitive data MUST be placed in any claim; all AIC-JWT data is
visible to any party that receives the token.</t>
</list></t>

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

<section anchor="media-type-registration" title="Media Type Registration">

<t>Register the media type <spanx style="verb">application/aic+jwt</spanx>, following the template
of RFC 9068&#39;s <spanx style="verb">application/at+jwt</spanx>.</t>

</section>
<section anchor="jwt-claims-registration" title="JWT Claims Registration">

<t>Register the following JWT claims in the IANA JSON Web Token Claims
registry:</t>

<texttable>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">aic</spanx></c>
      <c>AIC-JWT namespaced claims object</c>
      <c><spanx style="verb">da</spanx></c>
      <c>Principal-signed DelegationAuthorization JWT</c>
      <c><spanx style="verb">aic+da</spanx> (inner payload members)</c>
      <c>DelegationAuthTBS equivalent</c>
      <c><spanx style="verb">aic+pa</spanx> (payload members)</c>
      <c>PrincipalAuthorization equivalent</c>
</texttable>

</section>
<section anchor="oauth-token-type-urn" title="OAuth Token Type URN">

<t>Register <spanx style="verb">urn:ietf:params:oauth:token-type:aic+jwt</spanx> for use with RFC
<xref target="RFC8693"></xref> token exchange and <xref target="RFC7523"></xref> assertions.</t>

</section>
<section anchor="oauth-authorization-server-metadata" title="OAuth Authorization Server Metadata">

<t>Consider registering metadata entries indicating AIC-JWT support, such
as <spanx style="verb">aic_jwt_supported</spanx> and <spanx style="verb">aic_jwt_profiles_supported</spanx>
(<spanx style="verb">pki</spanx> | <spanx style="verb">oauth-as</spanx>), following the OAuth Authorization Server Metadata
specification.</t>

</section>
</section>
<section anchor="compatibility-with-the-varwof-unified-jwt-profile" title="Compatibility with the Varwof Unified JWT Profile">

<t>The internal design note &quot;AIC x SPIFFE x OAuth/OIDC Interop&quot;
(<spanx style="verb">dev-docs/aic/11-spiffe-oauth-interop.md</spanx>) defines a Unified JWT
Profile that projects one AIC identity onto SPIFFE JWT-SVID and
RFC 9068 access tokens simultaneously.  This section maps the AIC-JWT
claims of this specification to that profile.  The two documents use
different naming; the mapping below keeps them interoperable:</t>

<texttable>
      <ttcol align='left'>AIC-JWT (this document)</ttcol>
      <ttcol align='left'>Unified JWT Profile (11)</ttcol>
      <ttcol align='left'>SPIFFE JWT-SVID / RFC 9068 view</ttcol>
      <c><spanx style="verb">iss</spanx> (CA or AS URL)</c>
      <c><spanx style="verb">iss</spanx> (OAuth URL)</c>
      <c>-- (JWT-SVID validators do not process <spanx style="verb">iss</spanx>; trust domain anchored by <spanx style="verb">sub</spanx> + bundle)</c>
      <c><spanx style="verb">sub</spanx> = agentId</c>
      <c><spanx style="verb">sub</spanx> = <spanx style="verb">spiffe://&lt;td&gt;/agent/&lt;id&gt;</spanx>, <spanx style="verb">agent_id</spanx></c>
      <c><spanx style="verb">sub</spanx> (SPIFFE); <spanx style="verb">sub</spanx> (RFC 9068)</c>
      <c><spanx style="verb">aud</spanx></c>
      <c><spanx style="verb">aud</spanx></c>
      <c><spanx style="verb">aud</spanx></c>
      <c><spanx style="verb">iat</spanx> / <spanx style="verb">exp</spanx> / <spanx style="verb">nbf</spanx> / <spanx style="verb">jti</spanx></c>
      <c>same</c>
      <c>same</c>
      <c><spanx style="verb">aic.principal</spanx></c>
      <c><spanx style="verb">principal_uid</spanx></c>
      <c>--</c>
      <c><spanx style="verb">aic.capabilities</spanx></c>
      <c><spanx style="verb">scope</spanx> + <spanx style="verb">capabilities</spanx></c>
      <c><spanx style="verb">scope</spanx></c>
      <c><spanx style="verb">aic.delegation_mode</spanx></c>
      <c><spanx style="verb">delegation_mode</spanx></c>
      <c>--</c>
      <c><spanx style="verb">aic.constraints</spanx></c>
      <c>-- (deployment-side)</c>
      <c>--</c>
      <c><spanx style="verb">da</spanx> (nested principal-signed JWT)</c>
      <c>-- (11 has no DA; this document keeps the two-layer signature)</c>
      <c>--</c>
      <c><spanx style="verb">cnf</spanx> / DPoP</c>
      <c>--</c>
      <c>RFC 9068 + DPoP</c>
</texttable>

<t>Projection rules for interoperable deployments:</t>

<t><list style="symbols">
  <t>in SPIFFE mode (<spanx style="verb">is_spiffe=true</spanx>), the AIC certificate&#39;s <spanx style="verb">agentId</spanx>
is itself the SPIFFE ID (<spanx style="verb">spiffe://&lt;td&gt;/agent/&lt;agentId&gt;</spanx>) and is
dual-written to the certificate SAN URI; the AIC-JWT <spanx style="verb">sub</spanx> inherits
that SPIFFE ID directly and no conversion is required;</t>
  <t>when the AIC X.509 certificate carries a SPIFFE URI SAN but the
AIC-JWT was issued with a bare <spanx style="verb">agentId</spanx>, a converter MAY emit <spanx style="verb">sub</spanx>
as the SPIFFE ID (<spanx style="verb">spiffe://&lt;td&gt;/agent/&lt;agentId&gt;</spanx>) while keeping
<spanx style="verb">aic.principal</spanx> unchanged;</t>
  <t><spanx style="verb">aic.capabilities</spanx> MAY be projected to the OAuth <spanx style="verb">scope</spanx> string
(space-separated <spanx style="verb">scheme:capabilityId</spanx> entries) for generic
resource servers; <spanx style="verb">aic.capabilities</spanx> remains canonical;</t>
  <t>the two-layer signature (principal-signed <spanx style="verb">da</spanx> covered by the issuer
signature) is preserved in AIC-JWT and is NOT represented in the 11
profile; verifiers requiring principal non-repudiation MUST use the
<spanx style="verb">da</spanx> claim;</t>
  <t>the AIC-JWT <spanx style="verb">iss</spanx> remains the OAuth/RFC 9068 issuer URL; JWT-SVID
validators do not process <spanx style="verb">iss</spanx> -- the trust domain is anchored by
the <spanx style="verb">sub</spanx> SPIFFE ID and the SPIFFE bundle used for signature
verification.  Deployments requiring RFC 9068 conformance MUST NOT
replace <spanx style="verb">iss</spanx> with <spanx style="verb">spiffe://&lt;td&gt;</spanx>;</t>
  <t>the issuer signing key SHOULD be published both in the OAuth JWKS
and as a JWT-SVID bundle entry (<spanx style="verb">use=jwt-svid</spanx>), so that the same
token can be verified by OAuth resource servers (JWKS) and
SPIFFE/JWT-SVID validators (bundle) without conversion;</t>
  <t>the AIC-JWT <spanx style="verb">typ</spanx> remains <spanx style="verb">aic+jwt</spanx>.  A JWT-SVID validator that
enforces the JWT-SVID <spanx style="verb">typ</spanx> restriction (only <spanx style="verb">JWT</spanx> or <spanx style="verb">JOSE</spanx>) will
reject the token; deployments presenting AIC-JWT to such validators
SHOULD issue a projected token with <spanx style="verb">typ</spanx> <spanx style="verb">JWT</spanx> and a single-value
<spanx style="verb">aud</spanx>.</t>
</list></t>

</section>
<section anchor="intellectual-property" title="Intellectual Property">

<t>This document is subject to BCP 79 (RFC 8179). The author has filed
patent applications related to the technologies described in the
companion X.509 profile (<spanx style="verb">draft-wei-aic-identity-cert</spanx>), including
Chinese patent applications CN2026112384541 and CN2026112384607
(filed with the China National Intellectual Property Administration).
IPR disclosure 7553, filed for the companion profile, grants a
Royalty-Free, Reasonable and Non-Discriminatory license to all
implementers; the author will file an IPR disclosure covering this
document on the same terms in accordance with BCP 79. Any applicable
IPR disclosures are available through the IETF IPR disclosure system.</t>

</section>
<section anchor="implementation-status" title="Implementation Status">

<t>Per <xref target="RFC7942"></xref>, reference implementations exist and were used to verify
this specification:</t>

<t><list style="symbols">
  <t>A Go reference implementation (standard library only) implements the
claims model, the 11-step validation pipeline, capability matching,
constraints, key binding, and the OAuth scenarios (RFC 9068, RFC
7523, RFC 8693, RFC 9449, OBO-style flows, and Token Status Lists <xref target="TSL"></xref>).
Test suites in types/aicjwt and the aic-jwt repository pass
(go test ./...).</t>
  <t>A TypeScript/WebCrypto reference implementation implements the same
pipeline for browser-compatible runtimes, including EdDSA and
RSA-PSS coverage with feature detection.  Test suite: 15 cases, all
passing (node --test ts/aicjwt.test.ts).</t>
</list></t>

<t>The Go core is maintained in github.com/varwof/types (package
types/aicjwt); the wrapper, OAuth protocol-layer simulation, and the
TypeScript/WebCrypto implementation are in
https://github.com/varwof/aic-jwt.  Findings verified by these
implementations are incorporated in Sections 6.2, 9.4, 10.5, 10.6,
11, and 13.8.</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>The author thanks the IETF community for ongoing discussion of agent
identity and accountability frameworks.</t>

</section>
<section anchor="change-log" title="Change Log">

<t>draft-wei-aic-jwt-00 (2026-08-24, revision 5):</t>

<t><list style="symbols">
  <t>Section 16: clarified that the AIC-JWT <spanx style="verb">iss</spanx> remains the OAuth URL
and is not processed by JWT-SVID validators (trust domain is anchored
by <spanx style="verb">sub</spanx> + SPIFFE bundle); added the SPIFFE-mode <spanx style="verb">sub</spanx> inheritance
rule, the key dual-publication rule (OAuth JWKS + JWT-SVID bundle
entry) and the <spanx style="verb">typ</spanx> projection rule.</t>
</list></t>

<t>draft-wei-aic-jwt-00 (2026-08-24, revision 4):</t>

<t><list style="symbols">
  <t>Added PS384 and PS512 to the algorithm allowlist (Section 4.5) to
align with the SPIFFE JWT-SVID algorithm set; EdDSA remains a MAY
extension beyond the JWT-SVID set.</t>
</list></t>

<t>draft-wei-aic-jwt-00 (2026-08-23, revision 3):</t>

<t><list style="symbols">
  <t>Added compatibility mapping with the Varwof Unified JWT Profile
(Section 16), keeping AIC-JWT interoperable with SPIFFE JWT-SVID and
RFC 9068 projections.</t>
</list></t>

<t>draft-wei-aic-jwt-00 (2026-08-23, revision 2):</t>

<t><list style="symbols">
  <t>Clarified the two-level capability matching algorithm (Section 6.2).</t>
  <t>Clarified that DA nonce uniqueness is enforced at issuance and MUST
NOT be treated as single-use by the verifier (Section 11).</t>
  <t>Added deployment architectures, including pure OAuth/JSON, hybrid
server-side PKI helper, and X.509 interoperability (Sections
10.5-10.6).</t>
  <t>Added browser key-material guidance (Section 9.4) and WebCrypto
runtime constraints (Section 13.8).</t>
  <t>Added implementation status for the Go and TypeScript/WebCrypto
reference implementations.</t>
</list></t>

<t>draft-wei-aic-jwt-00 (2026-08-23):</t>

<t><list style="symbols">
  <t>Initial individual draft.</t>
</list></t>

</section>


  </middle>

  <back>


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

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



<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="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</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="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="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="RFC7523">
  <front>
    <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7523"/>
  <seriesInfo name="DOI" value="10.17487/RFC7523"/>
</reference>

<reference anchor="RFC7638">
  <front>
    <title>JSON Web Key (JWK) Thumbprint</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="September" year="2015"/>
    <abstract>
      <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7638"/>
  <seriesInfo name="DOI" value="10.17487/RFC7638"/>
</reference>

<reference anchor="RFC7800">
  <front>
    <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <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="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="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="RFC8725">
  <front>
    <title>JSON Web Token Best Current Practices</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="D. Hardt" initials="D." surname="Hardt"/>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <date month="February" year="2020"/>
    <abstract>
      <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="225"/>
  <seriesInfo name="RFC" value="8725"/>
  <seriesInfo name="DOI" value="10.17487/RFC8725"/>
</reference>

<reference anchor="RFC9068">
  <front>
    <title>JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens</title>
    <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
    <date month="October" year="2021"/>
    <abstract>
      <t>This specification defines a profile for issuing OAuth 2.0 access tokens in JSON Web Token (JWT) format. Authorization servers and resource servers from different vendors can leverage this profile to issue and consume access tokens in an interoperable manner.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9068"/>
  <seriesInfo name="DOI" value="10.17487/RFC9068"/>
</reference>

<reference anchor="RFC9207">
  <front>
    <title>OAuth 2.0 Authorization Server Issuer Identification</title>
    <author fullname="K. Meyer zu Selhausen" initials="K." surname="Meyer zu Selhausen"/>
    <author fullname="D. Fett" initials="D." surname="Fett"/>
    <date month="March" year="2022"/>
    <abstract>
      <t>This document specifies a new parameter called iss. This parameter is used to explicitly include the issuer identifier of the authorization server in the authorization response of an OAuth authorization flow. The iss parameter serves as an effective countermeasure to "mix-up attacks".</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9207"/>
  <seriesInfo name="DOI" value="10.17487/RFC9207"/>
</reference>

<reference anchor="RFC9396">
  <front>
    <title>OAuth 2.0 Rich Authorization Requests</title>
    <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
    <author fullname="J. Richer" initials="J." surname="Richer"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <date month="May" year="2023"/>
    <abstract>
      <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9396"/>
  <seriesInfo name="DOI" value="10.17487/RFC9396"/>
</reference>

<reference anchor="RFC9449">
  <front>
    <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
    <author fullname="D. Fett" initials="D." surname="Fett"/>
    <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="RFC9470">
  <front>
    <title>OAuth 2.0 Step Up Authentication Challenge Protocol</title>
    <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>It is not uncommon for resource servers to require different authentication strengths or recentness according to the characteristics of a request. This document introduces a mechanism that resource servers can use to signal to a client that the authentication event associated with the access token of the current request does not meet its authentication requirements and, further, how to meet them. This document also codifies a mechanism for a client to request that an authorization server achieve a specific authentication strength or recentness when processing an authorization request.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9470"/>
  <seriesInfo name="DOI" value="10.17487/RFC9470"/>
</reference>

<reference anchor="RFC7518">
  <front>
    <title>JSON Web Algorithms (JWA)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7518"/>
  <seriesInfo name="DOI" value="10.17487/RFC7518"/>
</reference>


<reference anchor="TSL" target="https://datatracker.ietf.org/doc/draft-ietf-oauth-status-list/">
  <front>
    <title>Token Status List</title>
    <author initials="T." surname="Looker" fullname="T. Looker">
      <organization></organization>
    </author>
    <author initials="P." surname="Bastian" fullname="P. Bastian">
      <organization></organization>
    </author>
    <author initials="C." surname="Bormann" fullname="C. Bormann">
      <organization></organization>
    </author>
    <date year="2026" month="June"/>
  </front>
</reference>
<reference anchor="AIC" target="https://datatracker.ietf.org/doc/draft-wei-aic-identity-cert/">
  <front>
    <title>AI Agent Identity Certificate (AIC) X.509 v3 Extension</title>
    <author initials="J." surname="Wei" fullname="Jijie Wei">
      <organization></organization>
    </author>
    <date year="2026" month="August"/>
  </front>
</reference>


    </references>

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



<reference anchor="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>

<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>


<reference anchor="DAAP" target="https://datatracker.ietf.org/doc/draft-mishra-oauth-agent-grants/">
  <front>
    <title>Delegated Agent Authorization Protocol (DAAP)</title>
    <author initials="S." surname="Kumar" fullname="S. Kumar">
      <organization></organization>
    </author>
    <date year="2026" month="March"/>
  </front>
</reference>
<reference anchor="OBO" target="https://datatracker.ietf.org/doc/draft-oauth-ai-agents-on-behalf-of-user/">
  <front>
    <title>OAuth 2.0 Extension: On-Behalf-Of User Authorization for AI Agents</title>
    <author initials="A." surname="Dissanayaka" fullname="A. Dissanayaka">
      <organization></organization>
    </author>
    <date year="2025" month="August"/>
  </front>
</reference>
<reference anchor="WIMSE" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-s2s-protocol/">
  <front>
    <title>WIMSE Service to Service Authentication</title>
    <author initials="B." surname="Campbell" fullname="B. Campbell">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="ATN" target="https://datatracker.ietf.org/doc/draft-somoza-atn-agent-trust-negotiation/">
  <front>
    <title>ATN Agent Trust Negotiation</title>
    <author initials="J." surname="Somoza" fullname="J. Somoza">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="PEDIGREE" target="https://datatracker.ietf.org/doc/draft-rampalli-pedigree/">
  <front>
    <title>PEDIGREE Verifiable Delegated Identity</title>
    <author initials="V." surname="Rampalli" fullname="V. Rampalli">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="HDP" target="https://datatracker.ietf.org/doc/draft-helixar-hdp-agentic-delegation/">
  <front>
    <title>Human Delegation Provenance Protocol</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7V9a3fbyJH2d/wKHOVDSIUX3W1LmZxXljQzytiSVpRnNvHx
MUESkjAmCQYgJSvx/Pe3nqrqGwDKniSbPTumyEaju7q67pdutxsts+U0PYyP
z+Pju3S+jM8n9N9s+RSfpMUyu83GyTKNW8fnJ+34r4PLi/iXdBTf5J/SeXxV
5LfZNI2S0ahIHzDFSfevv9xEk3w8T2Y056RIbpfdxzTrJtm4++vjsru1FWG+
u7x4OozTz4uoXI1mWVlm+Xz5tKBHsvkkXaRzrCEql0WazMLvskVxGC+LVbnc
2dp6tbVDg5L55GMyzecp/5BG43ySze8O46QcZ1n0KX16zIvJYRTH3coG5Cta
MP41+5c/Vsv7vMj+mSxpYfzNaTpN79yflxgR7/S2ZI7LwVlEb/l0V+SrxWF8
kS7xV/wL/YeWEv+Ar6Mo4Vl5JfT/Me2rPIz/2qMFZfy3AO2v2a9Zar/Li7tk
rgs5jM/nk+whm6ySKf+YzpJsehgvPmX/7yEpHvPb3jif8S+rIjuM75fLRXnY
73u/RfO8mNFkDymWcf39yc729iv9uHew91I/HrzYM9++2N/edx/dtzu75uPB
rnnsxcutLf34cvvFnvl48MqMfflix0z2auvAPPZqZ+uF+bj76sB83LNreLX3
YsutgR+7Gbw55J0q+gpGDpbJclXGb7JyyT86iON/Xf1XIX/Ti9/k9Fhhv5YD
qH5feeyqF79OymWWzCvP1X6oPHhCvwP68+qDlR8mdEEO452tnYPu1oHsMSnu
0qU7UBqRLItkTGvsZenytkdY0qdb15cLh6+6OfbeLRkg3SkBpE9T0Q0NoPYt
l/5/e/tbr+KH3fjs8zKdl3IDvgJaD6nXIba/y5f/zi4NWcl06d0xLb0fRdn8
toLj+zsvLfq82tvBx9Pj46sAEnq/04kCJKAAoHTLfJxP4xYebH8dAINe/NNq
llRRK/jah8DuvwMBIpz3RaInnWDZ3bsimS9LHPXl68tggxuWZLmDPIwv593X
6X0yve1e3sbvyrSobJxAaZGk3Pj6vo978SmR82SePCWfksruG360MNj/N7FA
N5/J/stuPu+OZEP5bXdFGwIsfjl/OzgLoMHfxIO0eMjGabzM7UdsH/g0NrT+
Kxt+3YtPktlilE6nld1Wf3HH/W/f6cdsVqbdcqfsLhQh+VLfXISX+uZCkfgG
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
f/xjd+vXvz/9OP/fu08vJhfl/+Rb4+2fd7PrvYe/bWhtJFf1O6wg1Vj5+5na
3+uqf1fqf6e7o63x3t7Oq5e34+3x9t6r5HZ0uzd++erVwe3o1c7ezosk3dtO
9w72Xo1e7e6Nk71X+69ebY9evNzfGb3c33ezrqkUrjWfvrl+YkMNRn3Dv/wa
HdCmEP+FTDHZJ5GC4ulwcPbm7OQG3z5XniP+jef8YF4Yls5qel9TjqF7t59k
F7w7SLb7UH1tvaZ5taq5LZk1SbgMpIr6zMytFLXT23ElIIM+d//GLZa+dMFF
dn4Rg0t8sZ+71f9ZQdDoWcz+hqr2/yWsfr76/X9Yh1T8XsL3f1dJ0uj/4jL8
JyVO6wv6792W31U5de/Vq1fVyqm/g4QbfCa2OEA6BaQlVj8mxn5faQRoO3zB
Y8ytwLyWXkGRYDFVeAYKtZCobUTkmijs1PVt9gvf1hGt5nYKr6Vj2Yud05Wj
CqfoccRxgXZK32lL6vetuPqvpdtNFLTKlagIVYFHTyaythLax2+CqHTzZiAq
feQ15BFTpnRbsV2ew8Ai16/Mc0ZFGkwWNFvGWypdZ1x/JNP+xuwpEh3WtpTh
yhwI7yhXBRsNPPdaxwRIsGX7nl6Wwpcd2lVY7YCc1l0t2LQpJke+2bKgF2jJ
o3Fr9BrtVaVRlxKQjIQOu6RqH+Zv7G4TNTeYfra3TaxHzD1WfZiyC9wZV5zJ
pi9KfM0kk6A2uEvGs4WPgvBRte1IDIsojRKNIiVUteqnsK6OFj6l5WVcvMip
kNqR07S98u7hDV82tAgTIb7eRy/oWRNr43eHrq4paq3lG9uc1Mmrjamli/rO
1ot2tU0iA0Pgh6ofhEPi7QuicZEaNGdxvue3q5ZbWNmVV2fct+IC95v6uJao
5ej6zMYPZWR7/bbZ8PS13rFzF4bGNvd5FBCRxnazMme1e5rftdknAiawNLRR
1rPMpDOWZ8WJ5uwZdKZnbYkbpE0gxFdTJwSCdUc+Y6CJzK1Gj7DvDIEdf/3l
p8hre8XZ/hN9fWkYBeiHdAlyXjLipkyLOcrekuyO36uQux1y+kZirx6payRa
oHaEccdihVgrMlw1eRE3zGZRGKeE3hi/9/Gh/kUv0QLJkbMChTZhn6Z4fjNn
8A8i3YVf3MOCavLlsdalfFOPKKo3srUpBXB1ztMlwmc0gw6OHKnVa3qio1qr
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

-->

</rfc>

