<?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-01" 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="September" day="08"/>

    
    <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 110?>

<t>The AI Agent Identity Certificate (AIC) defines a data model in
which the cryptographic identity of an AI agent is bound to a
responsible principal, together with a structured capability
container, delegation mode, authorization constraints, and
principal-signed delegation evidence.  The normative definition of
this model is specified by the AIC specification, where it is encoded in ASN.1 and
carried in X.509 certificates, enabling authorization decisions at
the transport layer, including fully offline operation.</t>

<t>Many HTTP, web, and OAuth 2.0 (RFC 6749) deployments cannot present
X.509 certificates at the transport layer.  This document therefore
defines AIC-JWT as a JWT-based application-layer representation of
the AIC data model defined by the AIC specification.  AIC-JWT is a companion
representation, not a replacement for the X.509 form and not a new
authorization model.</t>

<t>AIC-JWT uses the standard JWT (RFC 7519) and JWS (RFC 7515) mechanisms
as its carrier and cryptographic envelope.  Its authorization
semantics are inherited from the AIC model rather than defined by
JWT or OAuth.  In particular, the outer AIC-JWT is issuer-signed and
carries the principal-signed DA JWT as the value of the top-level
<spanx style="verb">da</spanx> claim, preserving the two-layer signature model
of AIC.</t>

<t>The normative content of this document is limited to:</t>

<t><list style="symbols">
  <t>a mapping from the X.509 AIC extension fields to JWT claims that
preserves the AIC data model and its two-layer signature model;</t>
  <t>representation and key-binding rules for the principal-signed
DelegationAuthorization;</t>
  <t>validation rules for AIC-JWT, including claim consistency,
audience, and key-binding checks; and</t>
  <t>a thin OAuth 2.0 consumption profile defining presentation of the
DA at a token endpoint as an RFC 7523 JWT bearer authorization
grant and the projection of the AIC <spanx style="verb">authorized</spanx> and
<spanx style="verb">representative</spanx> delegation modes into OAuth roles.</t>
</list></t>

<t>Authorization semantics, policy evaluation, obligations, and
cross-vocabulary equivalence of capabilities are outside the scope
of this document; they are determined by the AIC capability schemes
and deployment policies referenced by the AIC specification.  IANA registrations and
security considerations for the AIC-JWT representation are included.</t>



    </abstract>



  </front>

  <middle>


<?line 156?>

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

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

<t>The AIC X.509 extension defined in <xref target="AIC"></xref> binds an AI agent&#39;s
cryptographic identity to a responsible principal and carries the
information needed to determine whether a requested operation is
authorized, including the delegated authority, capabilities,
authorization constraints, validity, and accountability information.
Its design goal is that the authorization decision can be made offline
from the certificate and its credential bundle alone, including at the
TLS layer.</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 needs an application-layer
carrier.  This document defines that carrier as a JSON Web Token (JWT)
<xref target="RFC7519"></xref> secured by JSON Web Signature (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 of the AIC X.509 extension, not a
replacement and not a new authorization model.  The X.509 AIC
extension remains the transport-layer representation used during TLS
handshakes in managed, regulated, and air-gapped environments.
AIC-JWT carries the same AIC 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 / <xref target="RFC7515"></xref></c>
      <c>Principal signature</c>
      <c>DelegationAuthorization</c>
      <c>Inner DA JWT (<spanx style="verb">typ=aic+da+jwt</spanx>)</c>
      <c>Issuer signature coverage</c>
      <c>CA signature over the TBSCertificate</c>
      <c>JWS signature over the protected header and payload</c>
      <c>Agent key binding</c>
      <c>Subject public key (SPKI)</c>
      <c><spanx style="verb">cnf</spanx> claim (<xref target="RFC7800"></xref>)</c>
      <c>Revocation / status</c>
      <c>CRL / OCSP / short lifetime</c>
      <c>Token Status List / short lifetime</c>
      <c>Trust establishment</c>
      <c>Certificate chain</c>
      <c>Trusted JWKS, <spanx style="verb">x5c</spanx>, or credential bundle</c>
      <c>Transport</c>
      <c>TLS handshake (mTLS)</c>
      <c>HTTP Authorization header</c>
</texttable>

<t>The two profiles share the same semantic elements, including the
agent identity, principal identity, the Capability container
(<spanx style="verb">schemeId</spanx>/<spanx style="verb">capabilityId</spanx>/<spanx style="verb">parameters</spanx>), delegation mode,
authorization constraints, the DelegationAuthorization structure, the
permission intersection model, capability glob matching, and the
credential-bundle verification semantics.</t>

<t><xref target="AIC"></xref> is the authoritative specification for AIC semantics.  This
document does not redefine those semantics.  Where this document and
<xref target="AIC"></xref> could otherwise be read as disagreeing about the AIC model,
<xref target="AIC"></xref> governs the semantics, while this document governs the JWT
representation, JWT-specific validation, and OAuth-facing projection.</t>

<t>AIC-JWT is a credential representation, not a policy engine.  It
carries the AIC delegation and constraint semantics for the consumer
to evaluate; how a relying party combines those semantics with its
own local execution policy is a deployment decision outside this
document.</t>

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

<t>AIC-JWT is a JWT <xref target="RFC7519"></xref> profile and does not require OAuth-specific
processing, an RFC 9068 access-token profile, or token-exchange
semantics.  An AIC-aware validator applies the additional validation
rules defined by this document to the AIC-JWT claims.</t>

<t>This document defines the JWT carrier mapping of the AIC model
specified in <xref target="AIC"></xref>, together with the OAuth-facing consumption
constraints needed to present that carrier at existing OAuth 2.0
endpoints.  The AIC data model -- including delegation modes, capability
container semantics, permission intersection, and principal/agent role
definitions -- is defined by the AIC specification <xref target="AIC"></xref> and is not
restated or extended here.</t>

<t>Normative content includes token structure, claim definitions, the
mapping of the AIC data model to JWT claims (Section 5.4), the
validation pipeline, credential bundle requirements, the OAuth
consumption profile, and IANA registrations.  Design principles,
deployment architectures, and performance characteristics are
informative.</t>

<t>Out of scope:</t>

<t><list style="symbols">
  <t>authorization semantics and policy evaluation -- this document does
not define or modify how capabilities, grants, or authorization
constraints are evaluated; those semantics are defined by <xref target="AIC"></xref> and
deployment policy;</t>
  <t>obligations, PDP behavior, or any mechanism that changes the scopes
or the authority of an issued token after issuance;</t>
  <t>semantic equivalence between capabilities expressed in different
vocabularies or across service domains;</t>
  <t>new OAuth 2.0 flows or protocols: AIC-JWT is consumed through the
existing <xref target="RFC7523"></xref> JWT bearer grant mechanism.  Integration with
<xref target="RFC8693"></xref>, DPoP <xref target="RFC9449"></xref>, Token Status Lists <xref target="TSL"></xref>, or <xref target="RFC9068"></xref>
access tokens is deployment-specific and outside this specification.</t>
</list></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
the configured AIC issuer.</t>
  <t hangText="DA JWT:">
  The inner JWT (<spanx style="verb">typ=aic+da+jwt</spanx>) signed by the principal, carrying
the principal-signed delegation authorization content defined by
<xref target="AIC"></xref>.</t>
  <t hangText="PA JWT:">
  An optional companion JWT (<spanx style="verb">typ=aic+pa+jwt</spanx>) carrying the
application-layer representation of the PrincipalAuthorization
extension defined by <xref target="AIC"></xref>.  When present, it is part of the
credential bundle and is not itself the outer AIC-JWT.</t>
  <t hangText="Issuer:">
  The entity that signs the outer AIC-JWT.  In PKI deployments, the
issuer is a CA or other configured PKI issuer; in OAuth deployments,
it is an authorization server (AS).</t>
  <t hangText="Audit actor vs. OAuth actor:">
  The audit actor recorded per Section 8.1 is the principal in
<spanx style="verb">representative</spanx> mode (the agent is the executor).  This is distinct
from the RFC 8693 <spanx style="verb">act</spanx> claim (Section 5.1.1), which names the
executing agent on tokens whose <spanx style="verb">sub</spanx> is the resource owner.  The
terms &quot;audit actor&quot; and OAuth <spanx style="verb">act</spanx> are not semantically equivalent.</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 and JWT grant
tokens.  AIC-JWT differs in architecture: identity is anchored to a
PKI/AS trust root, and the principal&#39;s consent is carried as a nested
principal-signed DA JWT covered by the issuer signature, rather than
as a standalone grant produced by a delegated-agent flow.  Principal
public key resolution may use JWKS in OAuth deployments or a
credential bundle in PKI deployments; the trust model is defined by
the validation rules of this specification.</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>The WIMSE working group separates workload identifiers
(draft-ietf-wimse-identifier) from workload credentials (X.509 WIC
and JWT WIT forms; draft-ietf-wimse-workload-creds).  These documents
identify workloads and do not carry delegation or authorization data.
AIC-JWT is the JWT mapping of the AIC model defined in <xref target="AIC"></xref>; it
composes with WIMSE/SPIFFE workload identities at the credential
layer, and it does not add authorization semantics of its own.  In
this composition, WIMSE/SPIFFE identifies the workload; AIC expresses
what that agent is authorized to do and by whom.</t>

<t>Other delegation-oriented application-layer credential formats,
including <xref target="ATN"></xref>, <xref target="PEDIGREE"></xref>, and <xref target="HDP"></xref>, explore related mechanisms for
representing delegation and provenance.  AIC-JWT instead defines the
JWT representation of the AIC model specified in <xref target="AIC"></xref>, including its
structured capability container, nested principal authorization, and
authorization constraints.</t>

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

<t>This specification is guided by five orthogonal principles, carried
over from the AIC specification <xref target="AIC"></xref>:</t>

<t><list style="numbers" type="1">
  <t><spanx style="strong">Two-layer signature nesting.</spanx>  The principal signs the DA JWT,
which carries the delegated authorization defined by <xref target="AIC"></xref>.  The
issuer then signs the outer AIC-JWT, covering the complete payload
including the DA JWT.  The principal&#39;s delegation authorization
therefore cannot be modified by the issuer without invalidating the
principal signature, and a principal key alone cannot mint a valid
outer AIC-JWT.  Where the AIC profile binds the delegated
authorization to the Agent key within the DA, that binding is
covered by the principal signature as well; otherwise the outer
token&#39;s <spanx style="verb">cnf</spanx> claim binds the presenting Agent key at consumption
time.</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.
Each occurrence has the semantic role defined by <xref target="AIC"></xref>; reuse of the
container does not imply semantic equivalence.  Gateways route
evaluation by <spanx style="verb">schemeId</spanx> to scheme-specific processing, allowing
capability semantics to evolve through their respective registries
without changing the AIC-JWT container.</t>
  <t><spanx style="strong">Application-layer, JWT-native verification.</spanx>  AIC-JWT uses
standard JWT and JOSE mechanisms for cryptographic verification.
Key discovery, credential status, and sender-constraining mechanisms
such as JWKS, Token Status Lists <xref target="TSL"></xref>, and DPoP <xref target="RFC9449"></xref> MAY be
used according to deployment requirements; they are deployment-
specific and are not intrinsic to the AIC-JWT representation.
Fully self-contained offline verification is a deployment property
of the X.509 AIC profile and its credential bundle.</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> (the Agent acts in its
own name) from <spanx style="verb">representative</spanx> (the Agent acts in the principal&#39;s
name), with the corresponding runtime and audit semantics defined
by <xref target="AIC"></xref>.  AIC-JWT carries this distinction without redefining it.</t>
  <t><spanx style="strong">Protocol interoperability.</spanx>  AIC-JWT uses standard JWT and JOSE
mechanisms and defines a thin OAuth 2.0 consumption profile.  Standard
claims such as <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>, and <spanx style="verb">jti</spanx>, together
with <spanx style="verb">cnf</spanx> <xref target="RFC7800"></xref>, are used where required by the AIC-JWT
representation.  The OAuth profile uses the existing <xref target="RFC7523"></xref> JWT
bearer grant mechanism.  Integration with DPoP <xref target="RFC9449"></xref>, Rich
Authorization Requests <xref target="RFC9396"></xref>, token exchange <xref target="RFC8693"></xref>, Token
Status Lists <xref target="TSL"></xref>, and RFC 9068 access tokens is deployment-specific
and outside the core AIC-JWT specification.</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>.  In <spanx style="verb">representative</spanx> mode, the Principal is
projected as the OAuth resource owner and is the subject (<spanx style="verb">sub</spanx>) of
the DA and, where applicable, of the issued token; a deployment whose
accountable operator differs from the resource owner MUST represent
that operator separately and MUST NOT place it in the grant subject
(Section 10.2).</t>
  <t><spanx style="strong">Agent</spanx>: the AI agent presenting the token.  The Agent key is bound
by <spanx style="verb">cnf</spanx> at presentation time.  In <spanx style="verb">representative</spanx> mode, the Agent
is projected as the OAuth actor and MAY also be the OAuth client
presenting the credential; in <spanx style="verb">authorized</spanx> mode, the Agent MAY
occupy <spanx style="verb">sub</spanx> as the authorized accessor, consistent with the
authorization-grant semantics of RFC 7523 Section 3, item 2A.</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.  The
Principal is not the issuer of the outer AIC-JWT; the Principal
signs only the DA JWT.</t>
  <t><spanx style="strong">Verifier/Gateway</spanx>: the policy enforcement point that validates
the AIC-JWT and its credential bundle and makes the access decision
according to <xref target="AIC"></xref> and deployment policy.</t>
</list></t>

<t>The issuer&#39;s verification key is obtained from configured or otherwise
trusted JWKS/<spanx style="verb">x5c</spanx> material and MAY be cached.  The principal&#39;s
verification key is resolved from trusted JWKS material or, in PKI
deployments, from the credential bundle presented with the token.  Key
resolution does not by itself establish trust; the trust relationship
for the resolved key MUST be established by the deployment before the
DA is accepted.</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 projection</ttcol>
      <c>Principal</c>
      <c>Resource Owner / <spanx style="verb">sub</spanx> in <spanx style="verb">representative</spanx> mode</c>
      <c>Agent</c>
      <c><spanx style="verb">sub</spanx> in <spanx style="verb">authorized</spanx> mode; <spanx style="verb">act</spanx> in <spanx style="verb">representative</spanx> mode; MAY also be the OAuth client</c>
      <c>Issuer</c>
      <c>Authorization Server in AS mode</c>
      <c>Verifier/Gateway</c>
      <c>Resource Server / policy enforcement point</c>
</texttable>

<t>In <spanx style="verb">representative</spanx> mode, the Principal is projected as the resource
owner and the Agent as the OAuth actor; the Agent MAY also be the
OAuth client presenting the credential.  In <spanx style="verb">authorized</spanx> mode, the
Agent is the authorized accessor and MAY occupy <spanx style="verb">sub</spanx>, consistent with
the RFC 7523 authorization-grant semantics (Section 3, item 2A).  RFC
7523 distinguishes this authorization-grant use from client
authentication, for which <spanx style="verb">sub</spanx> identifies the OAuth client.</t>

<t>AIC-JWT is a self-contained credential: the authorization claims and the
principal-signed DA travel inside the token.  Self-containment of the
credential does not imply offline self-contained verification
(Section 9.3).  This document does not define an RFC 9068 access-token
profile and does not modify RFC 8693.
Deployments MAY present AIC-JWT within existing OAuth flows (for
example, the DA as an RFC 7523 authorization grant) where their
deployment profile permits; conformance of such presentations to RFC
9068 or RFC 8693 is outside this specification.</t>

<t>The OAuth <spanx style="verb">act</spanx> claim identifies the executing Agent in the
<spanx style="verb">representative</spanx> projection; it is distinct from the audit actor
defined in Section 8.1, which identifies the Principal represented by
the Agent in <spanx style="verb">representative</spanx> mode.</t>

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

<t>AIC-JWT does not require mutual TLS (mTLS).  Sender binding MAY be
enforced at the application layer using the <spanx style="verb">cnf</spanx> claim (Section
5.1.1) and, where applicable, DPoP <xref target="RFC9449"></xref>.  Where a deployment uses
mTLS, the verifier MAY additionally check that the mTLS client
certificate public key corresponds to the key identified by <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 JWT in which the inner Delegation
Authorization (DA) JWT is carried as a claim value in an outer JWS.
The nested JWT model is defined by <xref target="RFC7519"></xref>, and the signatures use
the JWS mechanisms defined by <xref target="RFC7515"></xref>.</t>

<t><list style="numbers" type="1">
  <t>The principal creates the DA JWT (Section 5.2) 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
compact-serialized DA JWT string.</t>
  <t>The issuer signs the outer payload, producing the AIC-JWT.</t>
</list></t>

<t>The outer JWS therefore provides integrity protection over the complete
DA JWT string as carried in the <spanx style="verb">da</spanx> claim.  Any modification of the
inner JWT -- including its JOSE header, payload, or signature -- changes
the outer payload and causes outer signature verification to fail.</t>

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

<t>The <spanx style="verb">da</spanx> claim value MUST be processed as the exact compact-serialized
DA JWT string received in the outer payload.  A verifier MUST NOT
reconstruct or reserialize the DA JWT before performing inner JWS
signature verification.</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 permitted by 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 MAY contain <spanx style="verb">x5c</spanx> or <spanx style="verb">x5t</spanx> when the issuer&#39;s signing
key is represented by an X.509 certificate.  An <spanx style="verb">x5c</spanx> value MAY provide
the X.509 certificate chain needed for certificate-based key
validation; an <spanx style="verb">x5t</spanx> value identifies an X.509 certificate by its
thumbprint.  The presence of <spanx style="verb">x5c</spanx> or <spanx style="verb">x5t</spanx> MUST NOT by itself
establish trust; verifiers MUST validate the issuer key against their
configured trust policy.</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 permitted by 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 AIC-JWT or access
token.  Verifiers operating in an AIC-JWT context MUST validate the
<spanx style="verb">typ</spanx> value and apply the DA-specific validation rules defined by this
specification.  The distinct <spanx style="verb">typ</spanx> value provides explicit JWT typing
and helps prevent cross-type token confusion.</t>

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

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

<t><list style="symbols">
  <t><spanx style="verb">alg</spanx>: a JOSE algorithm permitted by 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 identifier of the PA signing key.</t>
</list></t>

<t>In pure-JSON and OAuth deployments, the PA JWT is signed by the issuer
that attests the principal identity; in the AS mode of Section 10.2
this is the same issuer that signs the outer AIC-JWT.  In PKI
deployments the PrincipalAuthorization is carried in the principal&#39;s
X.509 certificate rather than as a PA JWT, and the PA JWT form is not
used.  Verifiers MUST validate the PA signing key and its trust
relationship before accepting the PA (Section 5.3).</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 P-256 with SHA-256</c>
      <c><spanx style="verb">ES384</spanx></c>
      <c>MAY</c>
      <c>ECDSA P-384 with SHA-384</c>
      <c><spanx style="verb">ES512</spanx></c>
      <c>MAY</c>
      <c>ECDSA P-521 with SHA-512</c>
      <c><spanx style="verb">RS256</spanx></c>
      <c>MUST</c>
      <c>RSA PKCS#1 v1.5 with SHA-256</c>
      <c><spanx style="verb">RS384</spanx></c>
      <c>MAY</c>
      <c>RSA PKCS#1 v1.5 with SHA-384</c>
      <c><spanx style="verb">RS512</spanx></c>
      <c>MAY</c>
      <c>RSA PKCS#1 v1.5 with SHA-512</c>
      <c><spanx style="verb">PS256</spanx></c>
      <c>MAY</c>
      <c>RSA-PSS with SHA-256</c>
      <c><spanx style="verb">PS384</spanx></c>
      <c>MAY</c>
      <c>RSA-PSS with SHA-384</c>
      <c><spanx style="verb">PS512</spanx></c>
      <c>MAY</c>
      <c>RSA-PSS with SHA-512</c>
      <c><spanx style="verb">EdDSA</spanx> (Ed25519)</c>
      <c>MAY</c>
      <c>Ed25519</c>
</texttable>

<t>The allowlist is based on the algorithm set of the SPIFFE JWT-SVID
specification (<xref target="RFC7518"></xref> Sections 3.3-3.5), with EdDSA added so that
tokens can be verified by both JWT-SVID and AIC-JWT validators and by
Ed25519-based deployments.  Interoperable deployments SHOULD use ES256
or RS256.</t>

<t>Implementations MUST reject all other algorithms, including symmetric
MAC algorithms such as <spanx style="verb">HS256</spanx>.  Implementations MUST follow the JWT
Best Current Practices of <xref target="RFC8725"></xref>: the <spanx style="verb">alg</spanx> value MUST be validated
against the allowlist before signature verification, and the selected
verification key MUST be compatible with the declared algorithm and key
type.</t>

<t>The <spanx style="verb">kid</spanx> value is used only to select a candidate verification key
from a trusted and appropriately scoped key set.  A <spanx style="verb">kid</spanx> value MUST
NOT by itself establish trust.</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 per <xref target="RFC7519"></xref>.  Where the
token is issued by an OAuth authorization server, the identifier
SHOULD be a URL unique to that issuer per <xref target="RFC9207"></xref>.</t>
  <t><spanx style="verb">sub</spanx> (REQUIRED): mode-dependent.  In <spanx style="verb">authorized</spanx> mode it is the
<spanx style="verb">agentId</spanx>; the agent is the authorized accessor (RFC 7523 Section 3,
item 2A).  In <spanx style="verb">representative</spanx> mode it is the resource owner /
principal identifier (<spanx style="verb">realm:id</spanx>), matching the DA <spanx style="verb">sub</spanx>, and the
agent appears in the <spanx style="verb">act</spanx> member below.  The agent is always bound
to the token by <spanx style="verb">cnf</spanx>.  SPIFFE JWT-SVID projections (Section 16)
replace <spanx style="verb">sub</spanx> with the SPIFFE ID for that projection only.
In OAuth deployments the AS MAY require <spanx style="verb">sub</spanx> to be the subject
identifier it registers for the resource owner; the <spanx style="verb">realm:id</spanx> form
is this profile&#39;s canonical default and MUST be resolvable to that
account.</t>
  <t><spanx style="verb">act</spanx> (OPTIONAL): present in <spanx style="verb">representative</spanx> mode only, an object
with a <spanx style="verb">sub</spanx> member equal to the <spanx style="verb">agentId</spanx> (RFC 8693 actor).  MUST
be absent in <spanx style="verb">authorized</spanx> mode.</t>
  <t><spanx style="verb">aud</spanx> (REQUIRED): a string or array of strings identifying the
intended resource servers or gateways.  Verification follows
<xref target="RFC7519"></xref> audience semantics and the deployment&#39;s audience policy.
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).  Where a DA JWT is present, the
outer <spanx style="verb">exp</spanx> MUST NOT exceed the DA <spanx style="verb">exp</spanx> (<spanx style="verb">ts + requested_lifetime</spanx>),
so that an issued token never outlives the principal-signed grant;
where the <spanx style="verb">da</spanx> claim is absent (Section 10.3), the lifetime is
bounded by issuer policy instead.</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.  This profile uses a one-DA-per-issued-
token model: when a DA JWT is present, <spanx style="verb">jti</spanx> MUST equal the DA
<spanx style="verb">nonce</spanx> (carried in the DA as <spanx style="verb">jti</spanx>), the nonce is consumed at first
issuance, and it MUST NOT be reused for a second outer token.</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).  In this revision the
principal-signed DA binds the delegated authorization to the Agent
identity (<spanx style="verb">agent_id</spanx>); a DA-level binding of the Agent key
(requiring the key identified by <spanx style="verb">cnf</spanx> to match a DA agent-key
binding) is reserved for a future DA claim-set revision aligned with
the X.509 AIC DA v2.</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, present when
the token is issued in OAuth AS mode.</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 11).</t>

</section>
</section>
<section anchor="da-jwt-payload" title="DA JWT Payload">

<t>The DA JWT payload carries the principal-signed delegation
authorization content defined by <xref target="AIC"></xref>; it is the JWT counterpart of
the X.509 DelegationAuthTBS signing structure, not a byte-level
encoding of it.  In addition to the AIC members below, every DA JWT
MUST carry the RFC 7523 claims <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>, <spanx style="verb">aud</spanx>, <spanx style="verb">exp</spanx> and <spanx style="verb">jti</spanx>:</t>

<t><spanx style="verb">
{
  "ver": 2,
  "iss": "corp.com:zhangsan",
  "sub": "corp.com:zhangsan",
  "aud": "https://as.example.com",
  "exp": 1755503600,
  "iat": 1755500000,
  "jti": "&lt;same value as nonce&gt;",
  "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): 2.  <spanx style="verb">ver=2</spanx> is the DA claim set defined by this
revision (-01); <spanx style="verb">ver=1</spanx> is the -00 claim set and MUST be rejected by
-01 implementations (fail closed rather than silently downgraded).
<spanx style="verb">da.ver</spanx> is the DA claim-set version and is distinct from <spanx style="verb">aic.ver</spanx>
(the AIC-JWT profile version).</t>
  <t><spanx style="verb">iss</spanx> (REQUIRED): the principal identifier <spanx style="verb">realm:id</spanx>; MUST equal
the realm and id of the <spanx style="verb">principal</spanx> binding (RFC 7523 issuer).</t>
  <t><spanx style="verb">sub</spanx> (REQUIRED): mode-dependent grant subject.  In <spanx style="verb">authorized</spanx>
mode MUST equal <spanx style="verb">agent_id</spanx>; in <spanx style="verb">representative</spanx> mode MUST equal the
resource owner / principal <spanx style="verb">realm:id</spanx> (RFC 7523 Section 3, item 2A
allows the resource owner or an authorized delegate).</t>
  <t><spanx style="verb">aud</spanx> (REQUIRED): MUST identify the intended authorization server
(token endpoint) that will redeem the grant.</t>
  <t><spanx style="verb">exp</spanx> (REQUIRED): MUST equal <spanx style="verb">ts + requested_lifetime</spanx> (a single,
canonical expiry expression).</t>
  <t><spanx style="verb">iat</spanx> (OPTIONAL): if present MUST equal <spanx style="verb">ts</spanx>.</t>
  <t><spanx style="verb">jti</spanx> (REQUIRED): MUST equal <spanx style="verb">nonce</spanx> (RFC 7519 replay identifier).</t>
  <t><spanx style="verb">agent_id</spanx> (REQUIRED): the agent identifier.  In <spanx style="verb">authorized</spanx> mode
it MUST equal the outer <spanx style="verb">sub</spanx>; in <spanx style="verb">representative</spanx> mode it MUST
equal the outer <spanx style="verb">act.sub</spanx> and the OAuth <spanx style="verb">client_id</spanx>.</t>
  <t><spanx style="verb">principal</spanx> (REQUIRED): MUST equal the outer <spanx style="verb">aic.principal</spanx>.  The
key used to verify the DA JWT signature MUST correspond to the
principal key identified by <spanx style="verb">principal.key_hash</spanx> and
<spanx style="verb">principal.hash_alg</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): the unpadded base64url encoding of exactly 32
octets 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" title="PA JWT Payload">

<t>The optional PA JWT carries the JSON representation of the
PrincipalAuthorization extension defined by <xref target="AIC"></xref>.  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>In pure-JSON and OAuth deployments, the PA JWT MUST be signed by the
issuer that attests the principal identity; in the AS mode of Section
10.2 this is the same issuer that signs the outer AIC-JWT, and the PA
JOSE header <spanx style="verb">kid</spanx> (Section 4.4) identifies that signing key.  In PKI
deployments the PrincipalAuthorization is carried in the principal&#39;s
X.509 certificate, and the PA JWT form is not used:</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>
      <c>-- (no ASN.1 counterpart)</c>
      <c>DA <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>, <spanx style="verb">aud</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">iat</spanx>, <spanx style="verb">jti</spanx> (RFC 7523 claims)</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.  The scheme is the namespace that defines the semantics
of the capability, including identifier matching and parameter
subset rules.  The <spanx style="verb">scheme</spanx> value MUST be matched exactly; wildcards
MUST NOT be used in the <spanx style="verb">scheme</spanx> member, and a capability with
<spanx style="verb">scheme="*"</spanx> MUST NOT be used (a bare <spanx style="verb">*</spanx> is not a cross-scheme
capability).  Unknown schemes MUST be rejected unless the verifier
has an explicit scheme-specific implementation or plugin for that
scheme (fail-closed).</t>
  <t><spanx style="verb">id</spanx> (REQUIRED): the capability identifier within the scheme, 1 to
256 characters.  The syntax and matching semantics of <spanx style="verb">id</spanx> are
defined by the capability scheme; the HTTP-style examples in this
section use the identifier matching rules of 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>.
Although the container is the same, the authorization role of each
context is defined by the AIC semantic model; reuse does not imply
semantic equivalence.</t>

<t>Capability matching and parameter-subset evaluation define the
effective AIC authorization input; they are not the final execution
decision of a resource server or gateway.  Deployment-local execution
policy is outside the AIC-JWT credential.</t>

</section>
<section anchor="identifier-matching" title="Identifier Matching">

<t>For schemes that use the HTTP-style capability syntax, the matchable
identifier is the full identifier <spanx style="verb">scheme + ":" + id</spanx> (for example,
<spanx style="verb">http:GET:/api/v1/users</spanx>).  The <spanx style="verb">scheme</spanx> member is the exact first
component of the full identifier and MUST NOT be wildcarded; the glob
operators below apply to the <spanx style="verb">id</spanx> portion after the scheme prefix.</t>

<texttable>
      <ttcol align='left'>Pattern</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Example</ttcol>
      <c><spanx style="verb">http:GET:/api/v1/users</spanx></c>
      <c>exact</c>
      <c><spanx style="verb">http:GET:/api/v1/users</spanx></c>
      <c><spanx style="verb">http:GET:/api/v1/*</spanx></c>
      <c>single path segment (no <spanx style="verb">/</spanx>)</c>
      <c><spanx style="verb">http:GET:/api/v1/users</spanx></c>
      <c><spanx style="verb">http:GET:/api/v1/**</spanx></c>
      <c>one or more path segments</c>
      <c><spanx style="verb">http:GET:/api/v1/users/admin</spanx></c>
      <c><spanx style="verb">http:{GET,POST}:/api/*</spanx></c>
      <c>alternation within a segment</c>
      <c><spanx style="verb">http:GET:/api/users</spanx></c>
      <c><spanx style="verb">http:[A-Z]*:/api/*</spanx></c>
      <c>character class and embedded wildcard</c>
      <c><spanx style="verb">http:GET:/api/users</spanx></c>
      <c><spanx style="verb">http:*:/api/v1/*</spanx></c>
      <c>wildcard method position</c>
      <c><spanx style="verb">http:GET:/api/v1/users</spanx></c>
</texttable>

<t>A scheme-level wildcard (<spanx style="verb">scheme:*</spanx>) MUST NOT be used; <spanx style="verb">scheme</spanx> is
always exact.  A bare <spanx style="verb">*</spanx> without a scheme prefix MUST NOT be
interpreted as a cross-scheme capability.</t>

<t>The full identifier is matched as a two-level token stream: the
pattern and target are first split on <spanx style="verb">:</spanx> into the scheme and id
components, and each id component 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>).</t>

<t>Precedence is limited to specificity: literal segments are more
specific than <spanx style="verb">*</spanx>, and <spanx style="verb">*</spanx> is more specific than <spanx style="verb">**</spanx>.  Alternation
and character classes are per-segment matching operators and do not
by themselves define an authorization precedence.  If more than one
capability pattern matches, the scheme defines whether and how the
matching entries combine, and the result MUST be deterministic.  If no
capability grant matches the requested capability, the capability MUST
be denied.</t>

<t>The exact syntax, escaping rules, and matching algorithm for a given
capability scheme are defined by that scheme; the HTTP-style rules in
this section MUST NOT be assumed for an unknown or unrelated scheme.
This algorithm is verified by the reference implementations (Go and
TypeScript/WebCrypto) against the examples in this section.</t>

</section>
<section anchor="capability-subset-and-parameter-semantics" title="Capability Subset and Parameter Semantics">

<t>Authorization between a principal grant and an agent capability is a
subset relation:</t>

<figure><artwork><![CDATA[
C_agent <= P_grant
]]></artwork></figure>

<t>meaning the agent capability is within the authority granted by the
principal grant.  The definition of this relation is scheme-specific:
a capability scheme MUST define how identifiers and <spanx style="verb">params</spanx> are
compared and what constitutes a valid subset.</t>

<t>For example, an HTTP-style scheme MAY treat
<spanx style="verb">P_grant.params.max_rows = 1000</spanx> and <spanx style="verb">C_agent.params.max_rows = 100</spanx>
as a valid subset (<spanx style="verb">100 &lt;= 1000</spanx>), and <spanx style="verb">max_rows = 5000</spanx> as invalid.</t>

<t>If <spanx style="verb">C_agent.params</spanx> is not a valid subset of <spanx style="verb">P_grants.params</spanx> under
the scheme-defined relation, the credential MUST be rejected; a
verifier MUST NOT silently filter or rewrite the signed agent
capability.  Where the subset relation holds, the effective parameter
value is the agent value (which is at least as restrictive as the
grant), evaluated according to scheme semantics.</t>

<t>This specification does not define a universal ordering or
intersection operation over arbitrary JSON values; scheme-specific
implementations MUST define subset semantics for every parameter type
they support.</t>

<t>The effective AIC authorization is obtained by evaluating agent
capabilities against principal grants and the applicable AIC
authorization constraints (Section 7).  The final execution decision
MAY additionally be restricted by deployment-local gateway or
resource-server policy, which is outside the AIC-JWT credential.</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.  Within that scheme, <spanx style="verb">id</spanx> names the constraint type and
<spanx style="verb">params</spanx> carries constraint-specific parameters.  This revision
defines the following constraint types as the initial set of the
<spanx style="verb">varwof/constraint-v1</spanx> scheme; new types are added within this scheme
namespace, and incompatible semantics require a new scheme version
(e.g., <spanx style="verb">varwof/constraint-v2</spanx>) rather than a change to <spanx style="verb">id</spanx> alone:</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 MUST be rejected: a verifier that cannot interpret a
constraint cannot establish that the constraint is satisfied.
Forward-compatible extension is achieved through explicit scheme
versioning and type registration, not by ignoring unknown security
constraints.</t>

<t>Constraint semantics that depend on evaluation scope or time MUST be
unambiguous.  For <spanx style="verb">max-concurrent</spanx>, the default scope is the number of
concurrent executions of the agent identified by this credential at
the evaluating verifier; a deployment MAY define a different scope
(per principal, per DA, or deployment-wide) and MUST document it.  For
<spanx style="verb">time-window</spanx>, times are expressed in UTC at minute precision; when
<spanx style="verb">start &gt; end</spanx> the window crosses midnight, and <spanx style="verb">start == end</spanx> denotes
a full 24-hour window.</t>

<t><spanx style="verb">aic.constraints</spanx> are credential-bound authorization constraints
carried with the token; they are not deployment-local execution
policy.  PA <spanx style="verb">constraints</spanx> are principal-level authorization
boundaries.  The two 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.  The authorization layers are therefore:</t>

<t><spanx style="verb">
P_aic = P_grants (AND) C_agent
Permit_AIC(request) = CapabilityMatch(request, P_aic)
                      (AND) ConstraintsSatisfied(request, aic.constraints)
Permit(request) = Permit_AIC(request)
                  (AND) GatewayPolicy(request, T_policy)
</spanx></t>

<t>where <spanx style="verb">T_policy</spanx> is the deployment-local gateway or resource-server
policy.</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 effective capability set is established at issuance and
cryptographically bound to the credential; unless a deployment
explicitly requires dynamic grant evaluation, the verifier does not
re-fetch or re-evaluate the principal&#39;s grants for each operation.
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">act.sub</spanx> (the
agentId) 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 the
principal&#39;s current grants <spanx style="verb">P_grants(t)</spanx>.  Wide scope x short
lifetime, with runtime <spanx style="verb">P_grants(t)</spanx> intersection at each operation.</t>

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

<t>The effective AIC authority is the intersection of principal grants
and agent capabilities, further restricted by the token&#39;s AIC
constraints:</t>

<t><spanx style="verb">
P_aic = P_grants (AND) C_agent
Permit_AIC(request) = CapabilityMatch(request, P_aic)
                      (AND) ConstraintsSatisfied(request, aic.constraints)
</spanx></t>

<t>In <spanx style="verb">authorized</spanx> mode the intersection is established at issuance
(<spanx style="verb">P_grants(t0)</spanx>) and locked into the token.  In <spanx style="verb">representative</spanx> mode
the intersection is computed at runtime against the principal&#39;s
current grants <spanx style="verb">P_grants(t)</spanx> 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 AIC authorization layers:</t>

<t><spanx style="verb">
Permit(request) = Permit_AIC(request) (AND) GatewayPolicy(request, T_policy)
</spanx></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>) MUST be
supported and is the default.  Depth-1 chains (Principal -&gt; Agent -&gt;
sub-Agent, <spanx style="verb">chain_depth=1</spanx>) MAY be supported.  Multi-level delegation
requires an explicit delegation authority at each delegating level:
an agent may delegate only if the DA that authorized it carries an
explicit right to delegate (for example, a may-delegate capability or
a delegation-policy allowance with an explicit depth bound); an agent
without that right MUST NOT sign a DA for a sub-agent.</t>

<t>Each hop in a supported chain produces an independently signed DA JWT.
The signer of a hop is the delegating agent; the original principal
remains the root authorizing party and MUST be identified separately
from the hop signer (delegator vs. delegate vs. root principal).  The
delegator&#39;s own DA MUST record the delegation right and the current
<spanx style="verb">chain_depth</spanx>; capabilities are recursively narrowed along the chain.
Verification of a hop MUST establish all of the following: the hop
signer holds an explicit delegation authority; the delegated
capabilities are a subset of the delegator&#39;s effective capabilities;
<spanx style="verb">chain_depth</spanx> increases by exactly one per hop; and <spanx style="verb">chain_depth</spanx> does
not exceed <spanx style="verb">max_depth</spanx>.  Cycles are prevented by strictly monotonic
<spanx style="verb">chain_depth</spanx>.  Deployments SHOULD use <spanx style="verb">max_depth = 1</spanx>; larger values
MAY be supported only with equivalent chain-size, capability-
narrowing, and resource limits.  A sub-agent at the configured
<spanx style="verb">max_depth</spanx> MUST NOT delegate further.  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.  The default binding is SHA-256
over the DER-encoded SPKI; additional hash algorithms MAY be
specified by the AIC registry.</t>
  <t>JWK thumbprint: <spanx style="verb">key_hash = jkt</spanx> per RFC 7638, <spanx style="verb">hash_alg = "jkt"</spanx>.
The value <spanx style="verb">jkt</spanx> denotes the RFC 7638 JWK Thumbprint binding method
(computed with SHA-256 over the canonical JWK members); it is not
itself a hash algorithm name.</t>
</list></t>

<t>Mismatch MUST cause rejection (fail-closed).  A successful binding
check does not by itself establish trust in the Principal; the
resolved key MUST also satisfy the verifier&#39;s configured trust
policy.  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="cached-verification-and-disconnected-deployments" title="Cached Verification and Disconnected Deployments">

<t>AIC-JWT is designed primarily for application-layer verification with
online or cached trust and status information; it does not claim
offline self-contained verification (that property belongs to the
X.509 AIC profile and its credential bundle).  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.  When the originating credential is X.509-based, a
trusted server-side component MAY perform the X.509-to-JWK conversion
before key material reaches the browser.</t>

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

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

<t>In PKI mode the DA is presented to a CA rather than redeemed at an
authorization server: <spanx style="verb">aud</spanx> (Section 5.2) identifies the configured
AIC issuance service that is authorized to accept the DA, and the CA
validates it when configured.</t>

<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> and <spanx style="verb">exp</spanx>
not exceeding the DA <spanx style="verb">exp</spanx> (Section 5.1.1).</t>
</list></t>

<t>Where a DA-level Agent key binding is present (a future DA claim-set
revision aligned with the X.509 AIC DA v2), the CA MUST verify that
the key identified by <spanx style="verb">cnf</spanx> matches that binding before signing; in
this revision the presented Agent key is bound by <spanx style="verb">cnf</spanx> at
consumption time.</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 an applicable OAuth
authorization or delegation flow (for example, an authorization-code
flow combined with a deployment-specific actor/delegation
mechanism, or an OBO-style flow).</t>
  <t>The Agent presents the principal-signed DA JWT with the token
request as an <xref target="RFC7523"></xref> authorization grant
(<spanx style="verb">grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer</spanx>, the DA
JWT as the <spanx style="verb">assertion</spanx> parameter).  A <spanx style="verb">scope</spanx> parameter MAY
accompany the grant but MUST NOT extend the capabilities carried in
the DA JWT.  Client authentication at the token endpoint follows
standard OAuth 2.0 practice and is outside this specification.</t>
  <t>The AS validates the DA JWT under both the JWT bearer assertion
requirements of RFC 7523 (signature, <spanx style="verb">iss</spanx>, <spanx style="verb">aud</spanx>, and expiry) and
the AIC-JWT DA rules of Section 5.2: <spanx style="verb">exp</spanx> MUST equal
<spanx style="verb">ts + requested_lifetime</spanx> and MUST NOT have passed (subject to
configured clock skew); the DA identifier (<spanx style="verb">jti</spanx>/<spanx style="verb">nonce</spanx>) MUST be
unique within the configured replay-detection window; and the
per-mode <spanx style="verb">sub</spanx> rules of Section 5.2 apply.  It then
issues the outer AIC-JWT signed with the AS key, with <spanx style="verb">exp</spanx> bounded
per Section 5.1.1 and role placement per Section 3.2.  An AS MAY
require the DA <spanx style="verb">sub</spanx> to equal the subject identifier it registers
for the resource owner, verifying the mapping from the principal
binding before issuance.</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.  Where a
DA-level Agent key binding is present (a future DA claim-set revision
aligned with the X.509 AIC DA v2), the AS MUST verify that the key
identified by <spanx style="verb">cnf</spanx> matches that binding before signing; in this
revision the presented Agent key is bound by <spanx style="verb">cnf</spanx> at consumption
time.</t>

<t>If the DA JWT is invalid or cannot be validated, the AS MUST return
the <spanx style="verb">invalid_grant</spanx> error as required by RFC 7523 Section 3.1.</t>

<t>Where the accountable operator of the agent differs from the resource
owner (for example an enterprise-operated agent acting on an end
user&#39;s data), the operator MUST be represented by a separate binding
outside the grant subject.  This profile records that binding as
future work and does not conflate the two parties.</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>

<t>The lightweight profile does not provide the cryptographic principal
authorization attestation of the full profile; its trust depends on
the issuer&#39;s authenticated consent-recording process.  A token
without a <spanx style="verb">da</spanx> claim is valid only under this profile and MUST NOT be
accepted under full-profile validation, which requires the <spanx style="verb">da</spanx> claim
(Section 5.1.3).</t>

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

<t>This section is informative.  Deployments that already use <xref target="RFC8693"></xref>
MAY carry an AIC-JWT as an actor or subject token.  Role mapping
follows RFC 8693; AIC claims are carried in the token unchanged.  This
specification does not alter RFC 8693 semantics and does not define an
RFC 8693 profile for AIC-JWT.</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 X.509 AIC profile with mTLS is
used as the primary carrier; an AIC-JWT MAY still be generated as an
application-layer representation when an application protocol requires
it (Section 10.6).</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
interoperable representations of a public key binding for the same
underlying key; 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 AIC DelegationAuthorization semantic fields
defined by <xref target="AIC"></xref>; the DA JWT additionally carries the RFC 7523
claims <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>, <spanx style="verb">aud</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">iat</spanx>, and <spanx style="verb">jti</spanx>, which have no
ASN.1 counterpart in the X.509 profile.  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 the same
authorization semantics can be enforced at the transport layer
(mTLS) and at the application layer (Bearer).</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">Header checks</spanx>: validate <spanx style="verb">typ == "aic+jwt"</spanx>, <spanx style="verb">alg</spanx> in the
deployment allowlist, and reject <spanx style="verb">none</spanx> and symmetric algorithms
(RFC 8725).  The verifier MUST NOT select a cryptographic
verification method based on an algorithm value outside the
allowlist.</t>
  <t><spanx style="strong">JWS verification</spanx>: resolve the issuer&#39;s verification key from
<spanx style="verb">kid</spanx> (JWKS or <spanx style="verb">x5c</spanx>) and verify the outer JWS signature per RFC
7515 using the confirmed algorithm.  When <spanx style="verb">x5c</spanx> is present, the
certificate chain MUST be validated against the verifier&#39;s
configured trust policy and the resulting public key MUST
correspond to the expected AIC issuer; a certificate carried in
<spanx style="verb">x5c</spanx> does not by itself establish trust.</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</spanx> and
<spanx style="verb">requested_lifetime &lt;= 86400</spanx>.  The outer AIC-JWT MAY have a
shorter effective lifetime than the DA.</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; validate the RFC 7523
claims per Section 5.2 (<spanx style="verb">iss</spanx> equal to the principal identifier,
the per-mode <spanx style="verb">sub</spanx>, <spanx style="verb">aud</spanx> consistent with the issuer that redeemed
the grant (the outer token&#39;s <spanx style="verb">iss</spanx>), canonical <spanx style="verb">exp = ts +
requested_lifetime</spanx>, and <spanx style="verb">jti</spanx> equal to <spanx style="verb">nonce</spanx>).  For multi-level
delegation (Section 8.3), this step applies recursively to each DA
JWT in the chain, each verified against its delegator&#39;s key
material.  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>: mode-dependent.  In <spanx style="verb">authorized</spanx> mode, DA
<spanx style="verb">agent_id</spanx> MUST equal the outer <spanx style="verb">sub</spanx>; in <spanx style="verb">representative</spanx> mode,
DA <spanx style="verb">sub</spanx> MUST equal the outer <spanx style="verb">sub</spanx> (resource owner / principal)
and DA <spanx style="verb">agent_id</spanx> MUST equal the outer <spanx style="verb">act.sub</spanx>.  In both modes,
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">Delegation depth check</spanx>: verify <spanx style="verb">chain_depth &lt;= max_depth</spanx>
and, for multi-level chains (Section 8.3), that depth increases by
exactly one per hop and that each hop&#39;s delegated capabilities are
a subset of the delegator&#39;s effective capabilities:
<spanx style="verb">C_n &lt;= C_(n-1) &lt;= ... &lt;= P_grants</spanx>.  No hop may expand authority.</t>
  <t><spanx style="strong">Constraint evaluation</spanx>: the effective constraint set is the
conjunction of all applicable <spanx style="verb">aic.constraints</spanx> and, in
<spanx style="verb">representative</spanx> mode, PA constraints; a request MUST satisfy
every applicable constraint.  Constraint evaluation precedes
capability evaluation for fast rejection.</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>

<t>Verification MUST NOT expand any authorization property.  In
particular: effective capabilities are a subset of the principal
grants (and of each delegator&#39;s capabilities in a chain); effective
expiry does not exceed the DA <spanx style="verb">exp</spanx> or the deployment&#39;s maximum
lifetime; <spanx style="verb">chain_depth</spanx> does not exceed <spanx style="verb">max_depth</spanx>; and every
applicable constraint is satisfied.</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": "corp.com:zhangsan",
  "act": { "sub": "agent:db-analyst-01" },
  "aud": ["https://gw.example.com"],
  "iat": 1755500000,
  "exp": 1755503500,
  "jti": "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA",
  "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": 2,
  "iss": "corp.com:zhangsan",
  "sub": "corp.com:zhangsan",
  "aud": "https://ca.example.com/aic",
  "exp": 1755503500,
  "iat": 1755499900,
  "jti": "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA",
  "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": "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA"
}
</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 not inherently sender-constrained: in a deployment that
does not enforce proof of possession, a party in possession of the
token can use it as a bearer credential until expiry.  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> (or an
equivalent proof-of-possession mechanism) 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 <xref target="RFC7519"></xref> and the deployment&#39;s
audience policy.  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.  A
compromised issuer could re-issue an outer token with a different
<spanx style="verb">cnf</spanx> key; DA-level Agent key binding (a future DA claim-set
revision) closes this gap, and deployments that require
principal-to-key binding MUST constrain issuance policy accordingly
until that binding is available.</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>Sensitive data MUST NOT 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>members of the DA JWT payload</c>
      <c>AIC delegation fields plus the RFC 7523 claims <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>, <spanx style="verb">aud</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">iat</spanx>, <spanx style="verb">jti</spanx></c>
      <c>members of the PA JWT payload</c>
      <c>PrincipalAuthorization fields</c>
</texttable>

<t>Members of the DA and PA JWT payloads are namespaced member names
carried inside those JWTs; they are not registered as standalone
top-level JWT claims.</t>

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

<t>This document does not request registration of an OAuth token type
URN.</t>

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

<t>This document does not request any OAuth Authorization Server
Metadata entries.</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> (authorized) = agentId; <spanx style="verb">sub</spanx> (representative) = resource owner + <spanx style="verb">act</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>SPIFFE JWT-SVID projection is defined for <spanx style="verb">authorized</spanx> mode only:
a <spanx style="verb">representative</spanx>-mode token carries the resource owner in <spanx style="verb">sub</spanx>
and MUST NOT be projected to a JWT-SVID (whose subject is the agent
workload) without first issuing an authorized-mode projection;</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> is the issuer identifier per <xref target="RFC7519"></xref> (in OAuth
AS deployments, the OAuth 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 suites pass: the
TypeScript unit suite (node --test ts/aicjwt.test.ts), the demo
scenario suite (npm test), and tsc --noEmit for the TypeScript
sources; the Go suites also pass under go test -race.</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>

<t>Release state (2026-09-06): the RFC 7523 claims/role model defined by
this revision (DA ver=2) is implemented in the types release v0.5.2
(https://github.com/varwof/types/tree/v0.5.2) and the aic-jwt
repository
(https://github.com/varwof/aic-jwt/).
Earlier revisions of this draft pinned the types v0.3.1 release.</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-01 (2026-09-05; revised 2026-09-08):</t>

<t><list style="symbols">
  <t>The DA JWT carries the RFC 7523 claims <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>, <spanx style="verb">aud</spanx>,
<spanx style="verb">exp</spanx> and <spanx style="verb">jti</spanx> (jti = nonce; exp = ts + requested_lifetime),
making the Section 10.2 jwt-bearer presentation interoperable
(resolves review by I. Schrock, OAuth WG, 2026-09-04).</t>
  <t>Role placement is mode-dependent: representative mode places the
resource owner / principal in <spanx style="verb">sub</spanx> and the agent in <spanx style="verb">act</spanx> (RFC
8693 actor / OAuth client); authorized mode places the agent in
<spanx style="verb">sub</spanx> as the authorized accessor (RFC 7523 Section 3, item 2A).
The X.509 convention that the certificate subject is the agent is
retained in authorized mode only and stated as such (resolves
review by J. Lombardo, OAuth WG, 2026-09-04).</t>
  <t>A deployment whose accountable operator differs from the resource
owner MUST represent the operator separately; recorded as future
work.</t>
  <t>DA <spanx style="verb">ver</spanx> bumped to 2 for the -01 claim set; <spanx style="verb">ver=1</spanx> is the -00
shape and is rejected, making the schema break explicit.</t>
  <t>Positioning tightened (2026-09-08): AIC-JWT is the JWT carrier of
the AIC semantic model; the document does not define an RFC 9068
access-token profile, does not modify RFC 8693, and does not
redefine AIC semantics.  The DA JWT is carried as the value of the
top-level <spanx style="verb">da</spanx> claim (Section 5.1.3).</t>
  <t>OAuth scope trimmed (2026-09-08): RFC 7523 authorization-grant
presentation is the only normative OAuth consumption profile;
RFC 8693, DPoP, Token Status Lists, RFC 9068 and related
mechanisms are deployment-specific; client-assertion presentation
was removed; OAuth token type URN and Authorization Server
Metadata registrations are no longer requested; the token-exchange
section is informative; error handling at the token endpoint
follows RFC 7523 Section 3.1 (<spanx style="verb">invalid_grant</spanx>).</t>
  <t>PA signing decided (2026-09-08): in pure-JSON/OAuth deployments
the PA JWT is signed by the issuer that attests the principal
identity; in PKI deployments the PrincipalAuthorization is carried
in the principal&#39;s X.509 certificate.</t>
  <t>Validation and constraints tightened (2026-09-08): header checks
precede JWS verification; unknown constraint types MUST be
rejected; capability subset semantics are scheme-defined;
multi-level delegation requires an explicit delegation authority;
the DA nonce is the unpadded base64url encoding of exactly 32
octets; examples corrected accordingly.</t>
  <t>Wording alignment (2026-09-08): clarified that AIC-JWT is not
inherently sender-constrained and requires an enforced
proof-of-possession mechanism for sender binding (Section 13.2);
constraint types in Section 7 are described as the initial defined
set rather than examples; &quot;self-contained credential&quot; is qualified
to distinguish token-carried authorization claims from offline
self-contained verification (Sections 3.2 and 9.3).</t>
  <t>Reference implementations (Go and TypeScript/WebCrypto) updated
with regression tests for the claims and role model above.</t>
</list></t>

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

<t><list style="symbols">
  <t>Initial individual submission.  Established AIC-JWT as the JWT
application-layer representation of the AIC X.509 model: an
issuer-signed outer token carrying a principal-signed DA JWT,
capability and constraint containers, RFC 7523 authorization-grant
presentation, DA nonce replay controls, deployment architectures,
and projections to SPIFFE JWT-SVID and RFC 9068 views (including
the SPIFFE-aligned algorithm allowlist and <spanx style="verb">typ</spanx> projection rules).</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="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" month="May"/>
  </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:
H4sIAAAAAAAAA9V9W3fbRrbme/0KLPVDSDdJ3X0RO1kjS0qiji9qS+lMnywv
EyQhCTFJsAFSsrqd/z77WrULAGV3zjkPk5nTpkigUKjatS/fvvX7fbfKV7Ps
KDk+T45vssUqOZ/C/+arh+QkK1f5dT5JV1nSOT4/6SZ/vXz7JvklGydXxcds
kVyUxXU+y1w6HpfZHQ5x0v/rL1duWkwW6RzGnJbp9ap/n+X9NJ/0f7tf9Xd2
HY53U5QPR0n2aemq9XieV1VeLFYPS7glX0yzZbbAObhqVWbpPP4uX5ZHyapc
V6u9nZ0XO3twUbqYfkhnxSKjHzI3Kab54uYoSatJnruP2cN9UU6PXJL0ay/A
X8GE8V99f/5jvbotyvxf6QomRt+cZrPsJvz5Fq9I9gY7PMbbyzMHT/l4Uxbr
5VHyJlvhX8kv8D8wleQH/Nq5lEalmcD/JfBe1VHy1wFMKKe/edH+mv+WZ/67
orxJFzKRo+R8Mc3v8uk6ndGP2TzNZ0fJ8mP+f+7S8r64HkyKOf2yLvOj5Ha1
WlZH29vmN7coyjkMdpfhNN59f7K3u/tCPh48PXguH58+O9Bvnx3uHoaP4du9
ff34dF9ve/Z8Z0c+Pt99dqAfn77Qa58/29PBXuw81dte7O0804/7L57qxwM/
hxcHz3bCHOi2q8tXR/SmQr5MkZerdLWukld5taIfw4rjf335V1b+apC8KuC2
0n/NG1D/vnbbxSB5mVarPF3U7mv8ULvxBH7H1V/Ub6z9MIUDcpTs7ew97e88
5XdMy5tsFTYUrkhXZTqBOQ7ybHU9ACrZhlO3zQcOv+oX+O79ihakP4MF2Yah
4IRGq/Y1h/7/Dg53XiR3+8nZp1W2qPgEfGFpDVFvImz7ls//yFsqW8ll6v0J
TH3buXxxXaPxw73nnnxeHOzhx9Pj44toJeR8Z1NZkIgDIKdbFZNilnTwxu6X
F+BykPy0nqd10oq+tiuw/0dWABjnbZnKTqc47f5NmS5WFW7125dvoxfc8iwr
bORR8nbRf5ndprPr/tvr5OcqK2svDkvpiaTa+vJ7Hw+SU2Dn6SJ9SD+mtbdv
+dGvweEfpAJ5+Zzfv+oXi/6YX6i47q/hhYjsr97EZH/1Rrb5CiUJ8OubAs7t
6mtp+7KYF/+qv138vd3cwz/yYhWN1U9XC9laEnr9RZgqvtnF2en5D+/OzqLX
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
pjW2v3p2eIiVjnd2pJHk0n+5fyhfgo6JDzz+2/npy+Off3h5f/PXk5vq9enf
Di7OXp5dnn3629+/v53844d3xfjHlzvZjw/HPOPJ4ppnjK5QrDD5X5O3J2/f
/debfzz0T39Z/vOf+zu//dfDj4v/e/Px2fRN9bdiZ7L79/383cHdP/ybwNr4
3pqm/We9Aajjujdb1EzPLqI00PTNwaI1pe/VUMZfs/3xzuTgYO/F8+vJ7mT3
4EV6Pb4+mDx/8eLp9fjF3sHeszQ72M0Onh68GL/YP5ikBy8OX7zYHT97frg3
fn54GEZVtweOWt2mmIu4Rb/9LtOvKYR4XSz4tPWnPYi4q/KEf9sWaIhxIuKG
5Tz5PYE1lw9Hl2evzk6u8NvHup8lv9OY7/WBcd/Ttue1FYMNz7aVUKNnRxVR
39cfGzgAXLpjGp/qd7tO+51OU3zOXwRdIS3Vm0B7g73v/GHEdj4GiPmPz/s0
bRz5EOCntEQs4LHzz4S71zO8YMMh/wILoHP9RT7SeojDcT948eLFf/Nkq8G1
iQ81O/S6R49n++H83ziamw4m0xW3tw/zncjJjHrPb/kTXCFz2rpETWQ9o8RR
LIfD9gd6HXhFqJI/hgmH57Se6f/pE93oVfwIn2k99P9LR/69LHUdZ4OrsQ09
H8GqSawEYvyn5KqnEtSASymZSyZAPtX4C2ISx95FcUKluqjQyPfk3eEwrGd7
h++PYvST/TDG5aJOCnY/SF6ux90paPvrPDLWe+PWCz8EeoOkeyNFximgzYng
1OKIGnTokDYu7eo2u+aY6HcEOUWpz1wW+ZbK5mLxJkSByr7fayymTCqgcTVR
iEZQ1NhVKKgUVtOjgrYVQWipVGfCuhn+a60kyLgfehxRsc85g0TzEwwSzinB
rHHGgXNcaQ3vvnp1qdVjaVQBS9BZy4HEPmQ6Tn9ztDfsr23klUbucHwKwW9I
FC8ODl68p85HWOwr+F5pEfrw/83begdmF58sVYhkmivdGsdooA/7vs1vbjlL
Y12m0v1HDcgQzozxCrcwu4xKnUf4OmEoaMT018t6Ugq/wbOd9za8nhsmaKo1
15vAej1+ShInIwul04ggVxM7xDH+cIuT0C4LLlFQhyDYvD2dEFy9j4YoUyo1
8Ip6DHC6g8LKwWWxzXBoA98GSo1qXWr7yChnXCiHIXKGpjhYnnoVKrmyHtGT
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
/UBcbYXxFkGZxb7cc1bkFWz1KV85vjSBHr2gXzmK1Jhjal/PR6mwDFi204Jk
FWtwBwVSnkTKW4bBmQIcmkYISOtYZFwIBdQPIoWg54Qn1ojJb0Ewh22Ollfd
KPDvEo0UjrdDt5Nl+aFjGTWgR/txSGa17h/dkVPgE9qT+Gw8+osHAe3FdsRE
FkkD4wRzLkh4/Oa4zZ3yGmtGkx0ARB7aGTr3TsKYhILxKmp6ODIWzLaifD2j
j9ODMzhUmPQlxYle7Dx9jrhadO+KbmXTBd/vhOPSH5lGeAjldvH1EnZNL0iZ
4WgGCaxJVzgtg0z9ROm7Te1DW7uF5hPqtCm74BujTnUC3IaWu3hi4YHPAV/x
iMSGfD8cEO+TIsfKcIV0NHeQHh5VJKPsQAw4i9P9/oNkP8bfW559UX/2hlLk
MofPzr1uTJ7atkfjsNg0a8dP5W9cSGeRbCPUIDAjudbR0ITWpZWU4sJGsW5V
LAWWCYRhS8eJYw3p9+d3b6TUg+8c6U+wxsnZxp5SY5XHES8QNoiGcb5cnA5k
CZ7aLz4QD/HmcZyOY0q3Y0sGsfYY6vOi7u/k/k1+XrDxiwviS7Rc3UqzJg6d
J8USK3gnW0hhn5LLi/Pvvz+DD1xo4e35qU9d3gLzf5rd9eElKjz327u7/WqJ
IFmfqsD1Jdd3MJ+CdaddjFM7DyfzSLQ8MrdvJp8FpjoRF8dWOmidy1Tgtv7l
389PSalXVhJlIgAh5BgGnC4ykAWzBy2foBHIwK0r68Zwemyvk2aFNnY2pr72
imlxqbtXUbHl0LsUe+Zh1SSrZmDF53vKaKBHz+NEaOJDPu1zZUmjCweuZeeS
zu4u/lRflG3PXROsWWoYWfO/zb889pPlhJQf1Dk5RlXn+BJO0iuck3zN5Cvf
9fuY0yeTFKlYBBtBCh/wrVp4Q9xc7EqQmlWUW/BnLYbNLFbaMPqEB2y5JT33
hiEbwcZN4BW1/IQ/U6rBKNya6Mjfwr9E1kfb239ZTb/bpgu2/5JPvyNe6hMY
/FR4U7r+4bolMl/yIzb+pfUETgxbyNGX25SIR/8ya+Z8Zf1HJJFJd6Cm2PrX
hzVPCRbeXxpXVP3syyv+uV5sNfzk721UYvrcyJdoPM5GiTMJ2MKX1LU33IGC
srNgAKUB4APpKBXt7iKKQFjW8TCJzko4X23eA/swgu+32TTkb8O5+bN87ZA7
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

-->

</rfc>

