<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mcguinness-oauth-actor-profile-01" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="OAuth Actor Profile">OAuth Actor Profile for Delegation</title>
    <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-actor-profile-01"/>
    <author fullname="Karl McGuinness">
      <organization>Independent</organization>
      <address>
        <email>public@karlmcguinness.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="09"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>delegation</keyword>
    <keyword>actor</keyword>
    <keyword>token exchange</keyword>
    <keyword>token</keyword>
    <abstract>
      <?line 113?>

<t>This document defines a common representation of delegated actors in OAuth JSON Web Token (JWT) assertion grants, JWT access tokens, and Transaction Tokens.  It profiles the <tt>act</tt> claim defined by OAuth 2.0 Token Exchange, requires issuer-scoped actor identifiers, and uses the <tt>sub_profile</tt> claim to classify actor entity types.  It specifies token processing, delegation-chain propagation, sender-constraint handling, and discovery metadata, so that issuers and resource servers in different trust domains interpret delegated actors consistently.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://mcguinness.github.io/draft-mcguinness-oauth-actor-profile/draft-mcguinness-oauth-actor-profile.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mcguinness-oauth-actor-profile/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mcguinness/draft-mcguinness-oauth-actor-profile"/>.</t>
    </note>
  </front>
  <middle>
    <?line 117?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Delegated requests can pass through several services and trust domains.  Each recipient needs to distinguish the subject whose authorization is exercised, the actor exercising it, and the OAuth client requesting the token: <tt>sub</tt> identifies the authorizing principal, <tt>act.sub</tt> the actor, and <tt>client_id</tt> the client registration.  This profile makes the actor explicit in the token rather than leaving it to be inferred from client registration, without redefining client identity or subject semantics.</t>
      <t>OAuth 2.0 Token Exchange <xref target="RFC8693"/> defines the <tt>act</tt> claim for the current actor and prior actors, but leaves "the specifics of representing a composite token" to implementations (<xref section="1.1" sectionFormat="of" target="RFC8693"/>).  It notes that the <tt>iss</tt> and <tt>sub</tt> claims together "might be necessary" to identify an actor (<xref section="4.1" sectionFormat="of" target="RFC8693"/>), but it does not require an identifier context or classify actors.  Its delegation example derives the <tt>act</tt> claim from the subject of the <tt>actor_token</tt> (<xref section="A.2.5" sectionFormat="comma" target="RFC8693"/>), but it does not specify actor validation and derivation rules for each token type, how <tt>act</tt> propagates across JWT assertion grants, JWT access tokens, and Transaction Tokens, or how the actor relates to a sender-constrained presenter.  Without a common profile, deployments face four interoperability gaps:</t>
      <ul spacing="normal">
        <li>
          <t><strong>No standard entity classification.</strong> The <tt>sub</tt> claim is overloaded across end-users, service accounts, AI agents, and workloads, with no classification that supports deterministic cross-domain policy.</t>
        </li>
        <li>
          <t><strong>Inconsistent actor representation across token types.</strong> Actor context, including actor key material, has no representation that survives transformation among JWT assertion grants, JWT access tokens, and Transaction Tokens.</t>
        </li>
        <li>
          <t><strong>Implicit delegation via client identity.</strong> A client registration alone might not identify the actor, particularly when one registration serves several agents or workloads, when requests pass through intermediaries, or when tokens cross trust domains.</t>
        </li>
        <li>
          <t><strong>No discovery for actor-profile support.</strong> Neither AS metadata <xref target="RFC8414"/> nor Protected Resource Metadata <xref target="RFC9728"/> defines parameters for advertising actor-profile support.</t>
        </li>
      </ul>
      <t>This document profiles <tt>act</tt> to close those gaps.  It defines:</t>
      <ul spacing="normal">
        <li>
          <t>Issuer-scoped actor identifiers and entity classification using <tt>sub_profile</tt>.</t>
        </li>
        <li>
          <t>Rules for validating, extending, and preserving actor information when tokens are exchanged or reissued.</t>
        </li>
        <li>
          <t>Presenter continuation and rebind rules for sender-constrained tokens, including upgrades from bearer tokens.</t>
        </li>
        <li>
          <t>Resource server processing based on the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair, and metadata for advertising profile support.</t>
        </li>
        <li>
          <t>Extension points for companion profiles that provide additional delegation evidence.</t>
        </li>
      </ul>
      <t>This profile applies to human, service, workload, and AI agent delegation.  The requirements of the underlying specifications, including <xref target="RFC8693"/>, <xref target="RFC9068"/>, <xref target="RFC9449"/>, and <xref target="I-D.ietf-oauth-transaction-tokens"/>, continue to apply unless this document states otherwise.  <xref target="profile-scope">Profile Scope</xref> describes the supported token paths and the boundary between representation and authorization policy.</t>
      <section anchor="illustrative-use-case">
        <name>Illustrative Use Case</name>
        <t>Alice authorizes an AI travel agent to book a trip.  The enterprise AS issues a credential with Alice as <tt>sub</tt> and the agent as <tt>act</tt>.  The agent presents that credential to a booking provider's AS for an access token, and the provider then issues a Transaction Token for an internal booking tool.  Alice remains the subject; the tool becomes the outermost actor, and the agent becomes an inner actor.  Each trust domain issues a new token under its own policy, and the outermost actor changes only when a new presenter is established.  <xref target="appendix-cross-domain">The cross-domain example</xref> shows the complete flow.</t>
      </section>
      <section anchor="relationship-to-related-work">
        <name>Relationship to Related Work</name>
        <ul spacing="normal">
          <li>
            <t><strong>OAuth Token Exchange (<xref target="RFC8693"/>)</strong> defines the <tt>act</tt> claim and exchange mechanism profiled here.</t>
          </li>
          <li>
            <t><strong>Identity Chaining (<xref target="I-D.ietf-oauth-identity-chaining"/>)</strong> propagates subject identity across domains and can be combined with this profile's actor representation.</t>
          </li>
          <li>
            <t><strong>Identity Assertion JWT Authorization Grant (ID-JAG, <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>)</strong> defines the issuance and consumption of JWT authorization grants.  It permits <tt>actor_token</tt> inputs but leaves their processing, and whether the issued grant carries the <tt>act</tt> claim, to future profiles or extensions; this document is one such profile, through its Token Exchange and JWT assertion-grant rules.</t>
          </li>
          <li>
            <t><strong>OAuth Entity Profiles (<xref target="I-D.mora-oauth-entity-profiles"/>)</strong> defines the classification claims, metadata, and registry used by this profile.</t>
          </li>
          <li>
            <t><strong>Transaction Tokens (<xref target="I-D.ietf-oauth-transaction-tokens"/>)</strong> defines the token and service model extended here with actor claims and processing rules.</t>
          </li>
          <li>
            <t><strong>WIMSE Workload Identity (<xref target="I-D.ietf-wimse-workload-creds"/>, <xref target="I-D.ietf-wimse-wpt"/>)</strong> defines workload credentials and proofs used in <xref target="appendix-cross-domain">the cross-domain example</xref>.  This profile also supports other presenter-authentication mechanisms.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="conventions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses the OAuth terminology defined in <xref target="RFC6749"/> and <xref target="RFC8693"/>, and the terms Transaction Token and Transaction Token Service (TTS) defined in <xref target="I-D.ietf-oauth-transaction-tokens"/>.  AS and RS denote authorization server and resource server, respectively.</t>
      <t>This document uses the following terms:</t>
      <dl>
        <dt>Actor:</dt>
        <dd>
          <t>The party actively making a request.  When delegation is present, the actor is distinct from the subject; the subject is the principal on whose behalf the actor is acting.</t>
        </dd>
        <dt>Subject:</dt>
        <dd>
          <t>The principal whose authorization is being exercised.  In a delegated token, the subject is the original authorizing party (e.g., an end-user or an upstream service), not the party making the immediate network request.</t>
        </dd>
        <dt>Delegation:</dt>
        <dd>
          <t>The act by which a principal authorizes another party (the actor) to exercise a subset of the principal's rights.</t>
        </dd>
        <dt>Cross-Domain Delegation:</dt>
        <dd>
          <t>Delegation in which the subject and actor are governed by different trust domains or identifier namespaces.  Deployment policy determines whether a token represents cross-domain delegation, based on issuer context, actor identifiers, and applicable trust agreements.  The top-level <tt>iss</tt> claim alone is not always sufficient.</t>
        </dd>
        <dt>Actor Authorization at the Resource Server:</dt>
        <dd>
          <t>An authorization policy evaluation that considers both the subject and the actor, and the relationship between them, as policy inputs.  Under this profile, the relevant actor is ordinarily the outermost actor.</t>
        </dd>
        <dt>Delegation Chain:</dt>
        <dd>
          <t>The sequence of actors representing how authorization has passed from the subject principal (<tt>sub</tt>) to the first actor (innermost <tt>act</tt>) and through any intermediate parties to the immediate actor (outermost <tt>act.sub</tt>).  The chain is conveyed by the nested structure of the <tt>act</tt> claim.</t>
        </dd>
        <dt>Outermost Actor:</dt>
        <dd>
          <t>The <tt>act</tt> object at the top level of the delegation chain (the one not nested inside any other <tt>act</tt> object).  The outermost actor identifies the current presenter of the token.</t>
        </dd>
        <dt>Local Policy:</dt>
        <dd>
          <t>Rules or decisions, not defined by this document, that an AS, RS, or organization applies, such as delegation approval, scope reduction, identifier mapping, and entity-profile acceptance.</t>
        </dd>
        <dt>Identifier Reconciliation:</dt>
        <dd>
          <t>Applying configured mapping rules to determine whether identifiers from different claims or namespaces refer to the same entity.  A recommendation to perform identifier reconciliation means the implementation <bcp14>SHOULD</bcp14> apply those rules.  String similarity or shared naming patterns do not establish equivalence.  If no applicable mapping exists or reconciliation fails, equivalence is not established: the identifiers <bcp14>MUST</bcp14> be treated as distinct, and an implementation <bcp14>MUST</bcp14> reject a request or token whose processing requires them to identify the same entity.</t>
        </dd>
      </dl>
      <t>Examples are illustrative and can omit claims, parameters, or validation steps unrelated to this profile.</t>
      <t>This document uses dot-path notation to refer to nested claim values.  For example, <tt>act.sub</tt> refers to the <tt>sub</tt> member of the <tt>act</tt> object, and <tt>act.act.sub</tt> refers to the <tt>sub</tt> member of the <tt>act</tt> object nested within the outer <tt>act</tt> object (the immediately prior actor in a depth-2 chain).</t>
    </section>
    <section anchor="actor-profile">
      <name>Actor Profile for Delegation</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>When an implementation uses this profile to represent an actor distinct from the subject, it <bcp14>MUST</bcp14> apply the requirements in this section.  The absence of an explicit inbound actor credential <bcp14>MUST NOT</bcp14> by itself be interpreted as making the OAuth client the delegated actor.</t>
      </section>
      <section anchor="profile-invariants">
        <name>Profile Invariants</name>
        <table>
          <thead>
            <tr>
              <th align="left">Claim</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Top-level <tt>sub</tt></td>
              <td align="left">Subject whose authorization is exercised</td>
            </tr>
            <tr>
              <td align="left">Outermost (<tt>act.iss</tt>, <tt>act.sub</tt>)</td>
              <td align="left">Canonical identifier of the immediate actor</td>
            </tr>
            <tr>
              <td align="left">Inner <tt>act</tt> objects</td>
              <td align="left">Prior actors, ordered from most recent to earliest</td>
            </tr>
            <tr>
              <td align="left">
                <tt>client_id</tt>, <tt>azp</tt></td>
              <td align="left">OAuth client identity</td>
            </tr>
            <tr>
              <td align="left">Top-level <tt>cnf</tt></td>
              <td align="left">Current presenter's key or certificate binding</td>
            </tr>
          </tbody>
        </table>
        <t>Inner actors have the trust properties described in <xref target="carry-prior-actor-context">Carry Prior-Actor Context</xref>.</t>
        <t>When (<tt>act.iss</tt>, <tt>act.sub</tt>) identifies the same entity as the token's (<tt>iss</tt>, <tt>sub</tt>), consumers <bcp14>MUST NOT</bcp14> infer a delegation relationship.  Comparing <tt>act.sub</tt> with <tt>sub</tt> alone is insufficient; the identifier contexts are part of the comparison.</t>
      </section>
      <section anchor="profile-scope">
        <name>Profile Scope</name>
        <section anchor="representation-and-policy">
          <name>Representation and Policy</name>
          <t>This profile standardizes actor representation, propagation, validation, and discovery.  Delegation approval, trust frameworks, and identifier mappings remain deployment-specific.  Cross-domain deployments require agreements that cover permitted delegation relationships and identifier namespaces.</t>
          <t><xref target="actor-authorization">Actor Authorization</xref> describes when an RS enforces authorization of the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair; this document does not require it on every request.</t>
        </section>
        <section anchor="token-format-scope">
          <name>Token Format Scope</name>
          <t>Conforming outputs are JWT assertion grants, JWT access tokens, and Transaction Tokens.  <xref target="token-introspection">Token Introspection</xref> defines optional equivalent response members for delegated opaque access tokens; this compatibility path does not make the opaque token itself conformant.</t>
          <t>Opaque access tokens used as Token Exchange inputs are outside the interoperable scope of this document.  An AS <bcp14>MAY</bcp14> translate their introspection results into local inputs under deployment-specific rules.</t>
        </section>
        <section anchor="supported-token-types-and-request-semantics">
          <name>Supported Token Types and Request Semantics</name>
          <table>
            <thead>
              <tr>
                <th align="left">Role</th>
                <th align="left">Supported credentials</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Token Exchange <tt>subject_token</tt></td>
                <td align="left">JWT assertion grant, JWT access token, ID Token, refresh token, Transaction Token</td>
              </tr>
              <tr>
                <td align="left">Token Exchange <tt>actor_token</tt></td>
                <td align="left">Workload identity credential, JWT client assertion, non-delegated JWT access token</td>
              </tr>
              <tr>
                <td align="left">TTS <tt>subject_token</tt></td>
                <td align="left">JWT assertion grant, JWT access token, Transaction Token</td>
              </tr>
              <tr>
                <td align="left">Issued token</td>
                <td align="left">JWT assertion grant, JWT access token, Transaction Token</td>
              </tr>
            </tbody>
          </table>
          <t>Subject to endpoint policy and the underlying grant mechanism, implementations <bcp14>MAY</bcp14> transform supported inputs into outputs for which this document defines issuance rules.  They need not support every combination.  For each supported path, actor information <bcp14>MUST</bcp14> be validated and preserved according to the output rules in <xref target="jwt-assertion-grant-issuance">JWT Assertion Grant Output</xref>, <xref target="jwt-access-token-propagation">JWT Access Token Output</xref>, or <xref target="transaction-token-output-rules">Transaction Token Output Rules</xref>.</t>
          <t>The <tt>may_act</tt> claim is an optional delegation-authorization input, with the restrictions in <xref target="may-act"><tt>may_act</tt></xref>.  It neither establishes actor identity nor propagates to the output token.</t>
          <t><xref target="appendix-service-to-service">The service-to-service example</xref> and <xref target="appendix-cross-domain">the cross-domain example</xref> show same-domain service delegation and cross-domain delegation, respectively.</t>
        </section>
      </section>
      <section anchor="actor-object-structure">
        <name>Actor Object Structure</name>
        <t>An actor object conforming to this profile is a JSON object that is the value of the <tt>act</tt> claim.  In addition to the <tt>sub</tt> claim required by <xref target="RFC8693"/>, a profile-conformant actor object <bcp14>MUST</bcp14> contain an <tt>iss</tt> claim and <bcp14>SHOULD</bcp14> contain a <tt>sub_profile</tt> claim when the issuer can authoritatively classify the actor's entity type.  An <tt>act</tt> object that omits the <tt>iss</tt> claim conforms to <xref target="RFC8693"/> but does not conform to this profile; <xref target="migration-and-adoption">Migration and Adoption</xref> specifies the handling of such objects.</t>
        <artwork><![CDATA[
act-object = {
  "sub"           : StringOrURI,        ; REQUIRED
  "iss"           : StringOrURI,        ; REQUIRED
  ? "sub_profile" : JSON String,        ; RECOMMENDED
  * StringOrURI => any                  ; extension claims
}
]]></artwork>
        <dl>
          <dt><tt>sub</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The subject identifier of the actor, as defined in <xref section="4.1" sectionFormat="of" target="RFC8693"/>.  It is a StringOrURI as defined in <xref target="RFC7519"/>.</t>
          </dd>
          <dt><tt>iss</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>.  The issuer or namespace context for <tt>act.sub</tt>, expressed as a StringOrURI <xref target="RFC7519"/>.  Together, (<tt>act.iss</tt>, <tt>act.sub</tt>) form the canonical actor identifier.  For any actor identifier scheme, <tt>act.iss</tt> <bcp14>MUST</bcp14> identify the context used when assigning or asserting that identifier.
</t>
            <t>Implementations <bcp14>MUST NOT</bcp14> interpret <tt>act.iss</tt> as the current token issuer, credential issuer, or hop-provenance marker.  These entities can coincide but have distinct roles.  HTTPS URLs and workload-identity URNs are examples of possible context identifiers.</t>
            <t>For example, a TTS at <tt>https://tts.travel-provider.example</tt> can issue a Transaction Token whose booking-tool actor has <tt>act.iss</tt> set to <tt>https://as.travel-provider.example</tt> because that AS issued the booking tool's workload credential.  The TTS signs the token; the AS supplies the namespace for the tool's identifier.</t>
          </dd>
          <dt><tt>sub_profile</tt>:</dt>
          <dd>
            <t><bcp14>RECOMMENDED</bcp14>.  A space-delimited list of entity profile values classifying the actor identified by <tt>act.sub</tt>, as defined in <xref section="4.2" sectionFormat="of" target="I-D.mora-oauth-entity-profiles"/>.  Values used within <tt>act</tt> objects <bcp14>MUST</bcp14> be registered with the "Actor Profile" usage location in the OAuth Entity Profiles registry (<xref section="14.1" sectionFormat="of" target="I-D.mora-oauth-entity-profiles"/>) or be privately defined collision-resistant values.
</t>
            <t>If the acting entity fits more than one profile, multiple values <bcp14>MAY</bcp14> be included as a space-delimited string (e.g., <tt>"service ai_agent"</tt>).  <xref target="I-D.mora-oauth-entity-profiles"/> defines interoperability requirements and implementation guidance for multi-value strings.</t>
            <t>When <tt>sub_profile</tt> is absent from an <tt>act</tt> object, implementations <bcp14>MUST NOT</bcp14> assume a specific entity type for the actor; resource servers that enforce entity-type-based access control <bcp14>MUST</bcp14> treat an absent <tt>sub_profile</tt> as an unclassified actor and <bcp14>SHOULD</bcp14> apply the more restrictive policy applicable to unknown entity types.</t>
            <t>The <tt>sub_profile</tt> claim <bcp14>MAY</bcp14> also appear as a top-level JWT claim outside any <tt>act</tt> object to classify the entity type of the token's <tt>sub</tt>; it applies exclusively to <tt>sub</tt> and does not affect <tt>sub_profile</tt> values within <tt>act</tt> objects.  Issuers <bcp14>SHOULD</bcp14> include a top-level <tt>sub_profile</tt> when they can authoritatively classify the subject entity type.</t>
          </dd>
        </dl>
        <t>The top-level <tt>cnf</tt> claim (<xref target="RFC7800"/>) carries the current presenter's binding; see <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>.</t>
        <t>The <tt>client_profile</tt> claim defined in <xref target="I-D.mora-oauth-entity-profiles"/> classifies the OAuth client and <bcp14>MUST NOT</bcp14> appear within an <tt>act</tt> object.  Client classification belongs at the top level of the token.  An AS or RS that encounters a <tt>client_profile</tt> member inside an <tt>act</tt> object <bcp14>MAY</bcp14> reject the token or ignore the offending member; it <bcp14>MUST NOT</bcp14> treat that member as a valid actor classification.</t>
        <t>When an <tt>act</tt> object contains extension members beyond those defined in this document, issuers and consumers <bcp14>MUST</bcp14> ignore unrecognized members unless another specification or local policy defines their meaning.  An issuer that preserves a validated delegation chain copies unrecognized extension members in inherited <tt>act</tt> objects unchanged, as <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref> requires.</t>
      </section>
      <section anchor="delegation-chains">
        <name>Delegation Chains</name>
        <t>Delegation chains <bcp14>MUST</bcp14> use nested <tt>act</tt> objects as specified in <xref section="4.1" sectionFormat="of" target="RFC8693"/>.  The outermost object identifies the immediate actor; the innermost object identifies the first actor authorized by the subject.  The chain records prior actors under the conveying issuer's trust, without independently proving each hop.  This profile defines one linear chain per token; concurrent delegations use separate tokens.</t>
        <t>This document uses the following terms:</t>
        <ul spacing="normal">
          <li>
            <t>A <strong>hop</strong> is a single <tt>act</tt> object in a delegation chain.  The number of hops in a chain equals the chain's delegation depth.</t>
          </li>
          <li>
            <t>A <strong>visible hop</strong> is a hop that appears in the token's <tt>act</tt> chain as received by a recipient, after any filtering by an introspection server.</t>
          </li>
          <li>
            <t>A <strong>single-hop actor object</strong> is an <tt>act</tt> object with no nested <tt>act</tt>; it represents delegation depth 1.</t>
          </li>
          <li>
            <t>An <strong>inbound delegation chain</strong> is the complete <tt>act</tt> structure received in an inbound token, whether depth 1 or greater.</t>
          </li>
          <li>
            <t>A <strong>preserved delegation chain</strong> is an inbound delegation chain that an issuer has validated and copied into a newly issued token without rewriting inherited actor entries.</t>
          </li>
          <li>
            <t>A <strong>new outermost actor</strong> is the actor object created by the current issuer to represent the newly identified outermost actor for the token it is issuing.</t>
          </li>
        </ul>
        <t>The following example shows a delegation chain of depth 2:</t>
        <sourcecode type="json"><![CDATA[
{
  "sub": "https://idp.enterprise.example/users/alice",
  "sub_profile": "user",
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service",
    "act": {
      "sub": "https://agents.enterprise.example/travel-assistant",
      "iss": "https://as.enterprise.example",
      "sub_profile": "ai_agent"
    }
  }
}
]]></sourcecode>
        <t>In this example, Alice (<tt>sub</tt>) authorized the travel assistant (inner <tt>act</tt>), which delegated to the booking tool (outermost <tt>act</tt>).  The booking tool is the current presenter.</t>
        <t>Delegation depth is the number of <tt>act</tt> objects in the chain, counting from the outermost.  Depth is counted on the resulting chain after any new outermost <tt>act</tt> is added, not on the inbound token.</t>
        <t>Depth 1 is the minimum interoperable depth.  Implementations for cross-domain multi-hop use <bcp14>SHOULD</bcp14> support at least depth 4, and should document their maximum.  Same-domain deployments can use a shallower maximum when it is sufficient for their architecture.</t>
        <t>Implementations <bcp14>MUST</bcp14> define and enforce a local maximum delegation depth.  Implementations that receive a token exceeding their configured local maximum <bcp14>MUST</bcp14> reject it as an invalid input under the applicable token-processing rules; AS and TTS errors follow <xref target="actor-profile-error-responses">Error Responses</xref>.  When a request would add an actor beyond that limit, the AS <bcp14>MUST</bcp14> reject the request with the <tt>invalid_request</tt> error code; it <bcp14>MUST NOT</bcp14> silently truncate the chain.</t>
        <t>A token represents delegation when the party exercising the token's authorization at runtime (the actor) is distinct from the token subject (<tt>sub</tt>) and the subject has authorized the actor to do so.  The following conditions establish this:</t>
        <ol spacing="normal" type="1"><li>
            <t>A validated <tt>actor_token</tt> identifying a distinct actor was present in the exchange request that produced this token.</t>
          </li>
          <li>
            <t>An inbound <tt>subject_token</tt> from a trusted upstream issuer already carried an <tt>act</tt> chain, or the state of a refresh token presented as <tt>subject_token</tt> records one, establishing that delegation was present before the current exchange.</t>
          </li>
          <li>
            <t>The issuing AS has an independent delegation basis such as a pre-registered grant, an explicit consent record, a <tt>may_act</tt> claim in a validated upstream token (see <xref target="may-act"><tt>may_act</tt></xref>), or a policy rule establishing that the current client or actor is acting as a distinct party on behalf of <tt>sub</tt> (see <xref target="jwt-access-tokens">JWT Access Tokens</xref> for the outside-Token-Exchange case).  In Token Exchange, such a basis applies only to an actor established as the next paragraph describes.</t>
          </li>
        </ol>
        <t>In Token Exchange, an independent delegation basis can authorize an actor established under this profile's processing rules but cannot by itself establish a new actor.  A new actor is established from a validated <tt>actor_token</tt> or, at an AS other than a TTS, from the authenticated client on the <xref target="may-act"><tt>may_act</tt></xref> path without <tt>actor_token</tt>.  Existing delegation is preserved under presenter continuation (<xref target="token-exchange-presenter-model">Presenter Transition Model</xref>).  A Token Exchange that establishes no new actor and has no inbound <tt>act</tt> chain does not represent delegation.</t>
        <t>When a token represents delegation, the <tt>act</tt> claim <bcp14>MUST</bcp14> be present and <bcp14>MUST</bcp14> conform to <xref target="actor-object-structure">Actor Object Structure</xref>.  When none of these conditions holds, the token does not represent delegation and the <tt>act</tt> claim <bcp14>MUST</bcp14> be omitted.  The AS <bcp14>MUST NOT</bcp14> include the <tt>act</tt> claim solely because <tt>sub</tt> and the OAuth client identifier differ; the distinction between <tt>sub</tt> and <tt>client_id</tt> is expected and does not by itself constitute delegation under this profile.</t>
      </section>
      <section anchor="delegation-chain-algorithm">
        <name>Delegation Chain Validation and Construction</name>
        <t>An AS <bcp14>MUST</bcp14> apply this algorithm on paths that require or claim actor-profile conformance.  The invoking grant, Token Exchange, or TTS rules supply token-specific preconditions and delegation-authorization requirements.  Nonconforming actor objects, including those missing <tt>iss</tt>, <bcp14>MUST NOT</bcp14> enter this algorithm; <xref target="migration-and-adoption">Migration and Adoption</xref> defines their handling.</t>
        <t>Interoperable processing under this profile is defined around <tt>sub</tt> and the outermost <tt>act.sub</tt>.  Inner actors are <strong>prior-actor context</strong>: preserved for audit and downstream use, and not inputs to access-control decisions, including scope determination, because prior actors identified by nested <tt>act</tt> objects are informational only (<xref section="4.1" sectionFormat="of" target="RFC8693"/>).  Structural rules, such as the depth limit and the actor object requirements, still apply to every actor object.</t>
        <section anchor="validation-steps">
          <name>Validation Steps</name>
          <t>The AS applies the validation steps in the following order:</t>
          <ol spacing="normal" type="1"><li>
              <t>Validate the carrier token using <xref target="validate-carrier-token">Validate Carrier Token</xref>.</t>
            </li>
            <li>
              <t>Validate the outermost actor using <xref target="validate-outermost-actor">Validate Outermost Actor</xref>.</t>
            </li>
            <li>
              <t>Treat inner actors as prior-actor context using <xref target="carry-prior-actor-context">Carry Prior-Actor Context</xref>.</t>
            </li>
            <li>
              <t>Enforce the configured maximum chain depth using <xref target="enforce-depth-limit">Enforce Depth Limit</xref>.</t>
            </li>
          </ol>
          <section anchor="validate-carrier-token">
            <name>Validate Carrier Token</name>
            <t>The AS <bcp14>MUST</bcp14> validate the token carrying the inbound delegation chain per the type-specific rules applicable to that token before extracting actor claims.</t>
          </section>
          <section anchor="validate-outermost-actor">
            <name>Validate Outermost Actor</name>
            <t>For the outermost <tt>act</tt> object, the AS <bcp14>MUST</bcp14>:</t>
            <ol spacing="normal" type="1"><li>
                <t>Verify that both <tt>act.sub</tt> and <tt>act.iss</tt> are present.  If either is absent, reject the input under <xref target="actor-profile-error-responses">Error Responses</xref>.</t>
              </li>
              <li>
                <t>Verify that local policy trusts the token issuer to assert (<tt>act.iss</tt>, <tt>act.sub</tt>); otherwise, reject the input under <xref target="actor-profile-error-responses">Error Responses</xref>.  <xref target="act-iss-authority-guidance">Trusting Actor Identifier Pairs</xref> gives examples of this deployment-specific trust decision.</t>
              </li>
              <li>
                <t>Evaluate delegation under local policy:  </t>
                <ul spacing="normal">
                  <li>
                    <t>When <xref target="extend-chain-with-new-actor">extending the chain</xref>, the AS <bcp14>MUST</bcp14> confirm that the new actor is authorized to act for <tt>sub</tt>, for example through a grant, consent record, or policy rule.</t>
                  </li>
                  <li>
                    <t>When <xref target="preserve-inbound-chain">preserving a validated chain</xref> from a trusted issuer, the AS <bcp14>SHOULD</bcp14> evaluate the preserved relationship.  Upstream evaluation suffices for baseline interoperability.</t>
                  </li>
                  <li>
                    <t>If a required relationship is prohibited or cannot be confirmed, reject the input with the <tt>actor_unauthorized</tt> error code.</t>
                  </li>
                </ul>
              </li>
            </ol>
            <t><xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref> adds requirements for JWT assertion grants.</t>
          </section>
          <section anchor="carry-prior-actor-context">
            <name>Carry Prior-Actor Context</name>
            <t>For inner <tt>act</tt> objects, which are prior-actor context, the AS <bcp14>MAY</bcp14> rely on trust in the outer token issuer established by <xref target="validate-carrier-token">Validate Carrier Token</xref> rather than independently validating each hop.  The AS <bcp14>MUST NOT</bcp14> treat preserved prior-actor context as independently authenticated; an inner <tt>act</tt> entry carried in a token is endorsed only by the outer token issuer's signature, not by independent verification at each prior hop.</t>
          </section>
          <section anchor="enforce-depth-limit">
            <name>Enforce Depth Limit</name>
            <t>Compute the depth of the resulting chain, including any new outermost actor added by <xref target="extend-chain-with-new-actor">Extend Chain with New Actor</xref>.  If that depth exceeds the locally configured maximum (<xref target="delegation-chains">Delegation Chains</xref>), reject under <xref target="actor-profile-error-responses">Error Responses</xref>, distinguishing an excessive inbound chain from an extension that would exceed the limit.</t>
          </section>
        </section>
        <section anchor="construction-steps">
          <name>Construction Steps</name>
          <t>The AS selects exactly one construction step in the following order:</t>
          <ol spacing="normal" type="1"><li>
              <t>If a new actor is identified for the issued token, use <xref target="extend-chain-with-new-actor">Extend Chain with New Actor</xref>.</t>
            </li>
            <li>
              <t>Otherwise, if a validated inbound delegation chain is present, use <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref>.</t>
            </li>
            <li>
              <t>Otherwise, use <xref target="omit-act">Omit <tt>act</tt></xref>.</t>
            </li>
          </ol>
          <section anchor="extend-chain-with-new-actor">
            <name>Extend Chain with New Actor</name>
            <t>When a new actor is identified, the AS creates a new outermost <tt>act</tt> object and nests any validated inbound chain beneath it.</t>
            <artwork><![CDATA[
AddOutermostActor(inbound_chain, new_actor):
  outermost.sub = new_actor.sub  // REQUIRED
  outermost.iss = new_actor.iss  // REQUIRED: identifier context
  // RECOMMENDED when authoritatively known:
  outermost.sub_profile = new_actor.sub_profile

  if inbound_chain is present:
    outermost.act = inbound_chain  // preserve the entire chain
    verify depth(outermost) <= local_max_depth

  return outermost
]]></artwork>
            <t>The AS <bcp14>MUST</bcp14> set the new actor's <tt>act.iss</tt> and <bcp14>MUST NOT</bcp14> change any inherited actor field.  It <bcp14>MUST</bcp14> preserve the entire inbound chain; <xref target="enforce-depth-limit">Enforce Depth Limit</xref> rejects a resulting chain that exceeds the local maximum.</t>
            <t>If the new actor has the same (<tt>act.iss</tt>, <tt>act.sub</tt>) pair as the inbound outermost actor, the AS <bcp14>MAY</bcp14> instead apply <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref> to avoid a duplicate entry.</t>
            <t>This profile does not standardize detection of identifier reappearance deeper in the inbound chain (for example, the same actor appearing in both inner and outer positions of a longer chain).  An AS <bcp14>MAY</bcp14> apply local policy to such cases; the chain-construction algorithm itself neither requires nor prohibits cycle detection.</t>
          </section>
          <section anchor="preserve-inbound-chain">
            <name>Preserve Inbound Chain</name>
            <t>When no new actor is identified and an inbound chain is present, the AS copies the validated inbound chain unchanged.</t>
            <artwork><![CDATA[
PreserveChain(inbound_chain):
  return inbound_chain  // copy without modification
]]></artwork>
            <t>The AS <bcp14>MUST</bcp14> copy the validated inbound chain exactly into the issued token.  The AS <bcp14>MUST NOT</bcp14> add, remove, or rewrite any field in any actor object of a preserved delegation chain.</t>
          </section>
          <section anchor="omit-act">
            <name>Omit <tt>act</tt></name>
            <t>When no delegation is present and no actor information should appear in the issued token, the AS omits <tt>act</tt>, as required by <xref target="delegation-chains">Delegation Chains</xref>.  The AS <bcp14>MUST NOT</bcp14> silently drop an inbound <tt>act</tt> claim; if it cannot preserve or extend the chain, it <bcp14>MUST</bcp14> reject the request per <xref target="actor-profile-error-responses">Error Responses</xref>.</t>
          </section>
        </section>
      </section>
      <section anchor="delegated-pop-validation">
        <name>Sender Constraint and Proof-of-Possession Validation</name>
        <t>The rules in this section apply to all supported token types, in addition to their type-specific proof-of-possession (PoP) requirements.  <xref target="token-exchange-presenter-model">Presenter Transition Model</xref> defines continuation and rebind for Token Exchange.  DPoP nonce handling follows <xref section="8" sectionFormat="of" target="RFC9449"/> unchanged.</t>
        <t>Per-actor confirmation members and prior-hop key provenance are outside the scope of this document; see <xref target="companion-profile-extensibility">Companion Profiles and Extension Points</xref>.</t>
        <section anchor="top-level-cnf-governs-the-current-presenter">
          <name>Top-Level <tt>cnf</tt> Governs the Current Presenter</name>
          <t>The top-level <tt>cnf</tt> claim of any token identifies the key or certificate of the current presenter.  When delegation is present, that current presenter is the party identified by the outermost <tt>act</tt> claim: when DPoP (<xref target="RFC9449"/>) is used, the top-level <tt>cnf.jkt</tt> <bcp14>MUST</bcp14> identify that party's key; when mTLS (<xref target="RFC8705"/>) is used, the top-level <tt>cnf.x5t#S256</tt> <bcp14>MUST</bcp14> identify that party's certificate.  The AS or RS <bcp14>MUST</bcp14> validate proof of possession against the top-level <tt>cnf</tt>.</t>
          <t>A confirmation member such as <tt>act.cnf</tt> is permitted as extension data under <xref target="actor-object-structure">Actor Object Structure</xref> and has no proof-of-possession semantics under this profile.  It remains unchanged in an inherited actor object under <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref>.  After further delegation, an inherited confirmation value can therefore differ from the current token's top-level <tt>cnf</tt> claim; this profile imposes no equality check between them.</t>
        </section>
        <section anchor="token-exchange-continuation">
          <name>Token Exchange Continuation</name>
          <t>Presenter continuation requires either a PoP-capable <tt>subject_token</tt> with a top-level <tt>cnf</tt> claim or a bearer <tt>subject_token</tt> presented by an authenticated requester that corresponds, under Identifier Reconciliation (<xref target="conventions">Conventions and Definitions</xref>), to the token's outermost (<tt>act.iss</tt>, <tt>act.sub</tt>) pair, or to its <tt>sub</tt> when the token carries no <tt>act</tt> claim.  For a PoP-capable <tt>subject_token</tt>, the requester <bcp14>MUST</bcp14> prove possession of its binding using the mechanism applicable to the token type and deployment.  A bearer continuation yields a bearer output.</t>
        </section>
        <section anchor="token-exchange-rebind">
          <name>Token Exchange Rebind</name>
          <t>Presenter rebind requires a validated <tt>actor_token</tt> whose top-level <tt>sub</tt> identifies the new presenter, as specified in <xref target="actor-tokens">Actor Tokens</xref>, except on the <xref target="may-act"><tt>may_act</tt></xref> path without an <tt>actor_token</tt>, where the authenticated client is the new presenter.</t>
          <ul spacing="normal">
            <li>
              <t>The issuer validates the credential per <xref section="2.1" sectionFormat="of" target="RFC8693"/> and <bcp14>MUST</bcp14> validate any proof required by its profile or deployment, whether or not the output token is sender-constrained.</t>
            </li>
            <li>
              <t>When the output token is sender-constrained, the issuer <bcp14>MUST</bcp14> validate proof of possession for the new presenter.  A bearer output does not waive validation of the credential or of any proof its profile requires.  A sender-constrained <tt>subject_token</tt> does not, by itself, require proof for its prior presenter during rebind.</t>
            </li>
          </ul>
          <t>Other actors that become presenters therefore need a direct credential: a workload identity credential, a JWT client assertion, or a non-delegated JWT access token.</t>
        </section>
        <section anchor="bearer-to-pop-upgrade">
          <name>Bearer-to-PoP Upgrade</name>
          <t>When the inbound <tt>subject_token</tt> is a bearer credential or an identity-only credential and the request supplies a validated <tt>actor_token</tt> establishing a new presenter, the issuer <bcp14>MAY</bcp14> issue a sender-constrained output token bound to that new presenter.  The absence of a top-level <tt>cnf</tt> claim in the <tt>subject_token</tt> imposes no continuity obligation in this case.</t>
        </section>
      </section>
    </section>
    <section anchor="jwt-assertion-grants">
      <name>JWT Assertion Grants</name>
      <section anchor="jwt-assertion-grants-structure">
        <name>Structure</name>
        <t>These requirements apply to JWT authorization grants under <xref target="RFC7521"/> and <xref target="RFC7523"/>, including ID-JAG <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>.  The grant profile defines issuance and exchange; this document defines actor representation and delegation processing.</t>
        <t>A JWT authorization grant <bcp14>MAY</bcp14> carry an <tt>act</tt> claim conforming to <xref target="actor-object-structure">Actor Object Structure</xref>.  Actor claims in JWT client authentication assertions are outside the scope of this document.  The <tt>act</tt> claim represents explicit delegation, even when the issuer derives the actor from authenticated client context, as on the <xref target="may-act"><tt>may_act</tt></xref> path.</t>
        <t>The following claims are defined for a JWT assertion grant that carries actor-profile delegation.  Claims not listed here follow the requirements of <xref target="RFC7521"/> and <xref target="RFC7523"/>.</t>
        <dl>
          <dt><tt>iss</tt> (<bcp14>REQUIRED</bcp14>):</dt>
          <dd>
            <t>Identifies the assertion issuer.  <bcp14>MUST</bcp14> be authorized by local policy to assert the relationship between <tt>sub</tt> and <tt>act.sub</tt>.</t>
          </dd>
          <dt><tt>sub</tt> (<bcp14>REQUIRED</bcp14>):</dt>
          <dd>
            <t>Identifies the principal on whose behalf the grant is made.</t>
          </dd>
          <dt><tt>jti</tt> (<bcp14>REQUIRED</bcp14>):</dt>
          <dd>
            <t>Identifies the assertion for replay prevention (<xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref>).</t>
          </dd>
          <dt><tt>sub_profile</tt> (<bcp14>RECOMMENDED</bcp14>):</dt>
          <dd>
            <t>Classifies the entity type of <tt>sub</tt>.  <bcp14>MUST</bcp14> conform to <xref section="4.2" sectionFormat="of" target="I-D.mora-oauth-entity-profiles"/>.</t>
          </dd>
          <dt><tt>act</tt> (<bcp14>REQUIRED</bcp14> when delegation is asserted):</dt>
          <dd>
            <t>The actor object identifying the entity exercising the subject's delegated rights.  <bcp14>MUST</bcp14> conform to the actor object structure defined in <xref target="actor-profile">Actor Profile for Delegation</xref>.</t>
          </dd>
          <dt><tt>cnf</tt> (<bcp14>REQUIRED</bcp14> when sender-constrained; otherwise <bcp14>OPTIONAL</bcp14>):</dt>
          <dd>
            <t>When the JWT assertion grant is sender-constrained, the assertion <bcp14>MUST</bcp14> carry a top-level <tt>cnf</tt> claim identifying the binding: <tt>cnf.jkt</tt> per <xref target="RFC9449"/> when DPoP is used, or <tt>cnf.x5t#S256</tt> per <xref target="RFC8705"/> when mTLS is used.  When the assertion is not sender-constrained, a top-level <tt>cnf</tt> claim is <bcp14>OPTIONAL</bcp14> unless another profile or local policy requires it.</t>
          </dd>
        </dl>
        <t>Before sending JWT assertion grants carrying actor-profile claims, a client needs to confirm that the AS supports the actor-determination model through deployment documentation, prior agreement, or discovery; for ID-JAG, that includes support for the actor-delegation extension model defined by this document.</t>
        <t>The following example shows an AS-issued assertion grant, which is the recommended pattern.  The Enterprise IdP AS performed Token Exchange, authenticated the agent, which presented its client assertion as <tt>actor_token</tt>, confirmed the delegation relationship under local policy, and signed the assertion.  Here, <tt>act.iss</tt> equals the assertion's <tt>iss</tt> because the enterprise AS's issuer identifier is also the actor identifier context for the agent:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.enterprise.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "aud": "https://as.travel-provider.example",
  "jti": "a1b2c3d4-...",
  "exp": 1711820400,
  "iat": 1711816800,
  "sub_profile": "user",
  "cnf": { "jkt": "NzbLsXh8uDCcd7MNwrnNZpX0ak8ACQ" },
  "act": {
    "sub": "https://agents.enterprise.example/travel-assistant",
    "iss": "https://as.enterprise.example",
    "sub_profile": "ai_agent"
  }
}
]]></sourcecode>
        <t>The top-level <tt>sub_profile</tt> classifies the assertion's <tt>sub</tt>; the <tt>sub_profile</tt> within <tt>act</tt> classifies the actor.  The top-level <tt>cnf.jkt</tt> binds the assertion to the agent's DPoP key.</t>
        <t>In this example, the receiving AS trusts the enterprise AS both to issue the grant and to assert the actor identifier pair.</t>
        <t>This document defines two issuer patterns:</t>
        <ul spacing="normal">
          <li>
            <t>an AS-issued delegated assertion, where the assertion's <tt>iss</tt> is a trusted AS and <tt>act.sub</tt> identifies the actor (recommended);</t>
          </li>
          <li>
            <t>an assertion carrying a pre-existing nested <tt>act</tt> chain, where the current JWT <tt>iss</tt> is a trusted AS carrying forward prior actor assertions.</t>
          </li>
        </ul>
        <t>For actors registered in the issuing AS's own namespace, <tt>act.iss</tt> (<xref target="actor-object-structure">Actor Object Structure</xref>) is often the AS's own issuer URI.</t>
        <t>A deployment <bcp14>MAY</bcp14> additionally accept a self-issued actor assertion when explicitly enabled by another specification or local policy, but that behavior is outside the interoperable scope of this document.  Implementations <bcp14>MUST</bcp14> reject self-issued assertion grants by default; see <xref target="security-self-issued-grants">Self-Issued Authorization Grants</xref> for the security controls any such deployment needs to establish independently.</t>
      </section>
      <section anchor="jwt-assertion-grants-processing">
        <name>Authorization Grant Processing</name>
        <t>When an AS receives a JWT assertion grant containing an <tt>act</tt> claim:</t>
        <ol spacing="normal" type="1"><li>
            <t>The AS <bcp14>MUST</bcp14> validate the assertion per <xref target="RFC7523"/>, including its signature and its <tt>iss</tt>, <tt>sub</tt>, <tt>aud</tt>, <tt>exp</tt>, and <tt>jti</tt> claims.  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Grants without an enforced grant-level sender constraint</strong>: The AS <bcp14>MUST</bcp14> reject with <tt>invalid_grant</tt> an assertion whose validated (<tt>iss</tt>, <tt>jti</tt>) pair it has already accepted, for as long as the assertion remains acceptable, including any allowed clock skew.  Such a grant is therefore single-use under this profile, including an ID-JAG that <xref section="4.4.3" sectionFormat="of" target="I-D.ietf-oauth-identity-assertion-authz-grant"/> would let a client re-submit.  A proof used only for client authentication or to bind the issued token is not a grant-level sender constraint, and neither is a top-level <tt>cnf</tt> that presenter rebind supersedes (<xref target="jwt-assertion-grant-as-subject-token">JWT Assertion Grant as subject_token</xref>).</t>
              </li>
              <li>
                <t><strong>Sender-constrained grants</strong>: When the AS validates the request's proof of possession against the assertion's top-level <tt>cnf</tt> claim as specified in step 6, the AS <bcp14>SHOULD</bcp14> additionally apply replay prevention to the validated (<tt>iss</tt>, <tt>jti</tt>) pair as defense in depth.  Any permitted reuse requires validation of that binding on each redemption and remains subject to the single-use requirements in <xref target="security-self-issued-grants">Self-Issued Authorization Grants</xref> or the applicable grant profile.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The AS <bcp14>MUST</bcp14> verify that the assertion's <tt>iss</tt> is trusted under local policy to assert delegation on behalf of the actor identified by <tt>act.sub</tt>.</t>
          </li>
          <li>
            <t>The AS <bcp14>MUST</bcp14> verify that the assertion's <tt>iss</tt> is trusted under local policy to assert the (<tt>act.iss</tt>, <tt>act.sub</tt>) actor identifier pair.  </t>
            <ul spacing="normal">
              <li>
                <t>If <tt>act.iss</tt> is absent: when policy or metadata requires profile conformance, reject with <tt>invalid_grant</tt>; otherwise, apply <xref target="migration-and-adoption">Migration and Adoption</xref>.</t>
              </li>
              <li>
                <t>If the assertion's <tt>iss</tt> is not trusted to assert the actor identifier pair: reject with <tt>invalid_grant</tt>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The AS <bcp14>MUST</bcp14> evaluate whether the identified actor is authorized to exercise delegation on behalf of <tt>sub</tt>.  The required strength of that evaluation depends on how the outermost actor was introduced:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>New actor</strong>: When the request supplies an <tt>actor_token</tt> or self-issued assertion that introduces a new <tt>act.sub</tt> not carried by the inbound chain, the AS <bcp14>MUST</bcp14> confirm the delegation relationship under local policy (for example, a pre-registered grant, an explicit consent record, or a policy rule).</t>
              </li>
              <li>
                <t><strong>Preserved chain</strong>: When the request preserves an existing chain from a validated, trusted upstream issuer, the issuer trust established in step 2 provides the baseline assurance; the AS <bcp14>SHOULD</bcp14> additionally evaluate under local policy but is not required to do so for baseline interoperability.</t>
              </li>
            </ul>
            <t>
In either case:  </t>
            <ul spacing="normal">
              <li>
                <t>If the delegation relationship is prohibited by AS policy or cannot be confirmed: reject with <tt>actor_unauthorized</tt>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>If the inbound assertion's <tt>act</tt> object contains a nested <tt>act</tt> object (indicating that the asserted actor is itself a delegatee), the AS <bcp14>MUST</bcp14> handle the inner chain as follows:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Propagation decision</strong>: The AS <bcp14>SHOULD</bcp14> propagate the inner chain by preserving its nested structure, provided the resulting chain depth does not exceed the limit in <xref target="delegation-chains">Delegation Chains</xref>.  If the AS does not accept pre-chained assertions, it <bcp14>MUST</bcp14> reject the request.</t>
              </li>
              <li>
                <t><strong>Prior-actor context</strong>: For inner <tt>act</tt> objects, <xref target="carry-prior-actor-context">Carry Prior-Actor Context</xref> applies.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The AS <bcp14>MUST</bcp14> verify proof of possession according to the token-endpoint mechanism in use and the top-level <tt>cnf</tt> semantics in <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>.  </t>
            <ul spacing="normal">
              <li>
                <t><strong>DPoP</strong>: When the inbound assertion grant is DPoP-bound, it <bcp14>MUST</bcp14> carry a top-level <tt>cnf.jkt</tt>; reject with <tt>invalid_grant</tt> if absent.  The AS <bcp14>MUST</bcp14>:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>Verify that the DPoP proof is valid per <xref target="RFC9449"/> with <tt>htm="POST"</tt> and <tt>htu</tt> equal to the AS token endpoint URI.</t>
                  </li>
                  <li>
                    <t>Verify that the JWK SHA-256 thumbprint of the public key in the DPoP proof matches the assertion's <tt>cnf.jkt</tt> (<xref section="6.1" sectionFormat="of" target="RFC9449"/>), as in the proof checks of <xref section="4.3" sectionFormat="of" target="RFC9449"/>.</t>
                  </li>
                  <li>
                    <t>Use the assertion's <tt>cnf.jkt</tt> as set by the upstream issuer; <bcp14>MUST NOT</bcp14> substitute a locally registered key.</t>
                  </li>
                  <li>
                    <t>Reject with <tt>invalid_grant</tt> if the required proof is absent, as specified for ID-JAG in <xref section="9.8.1.2.2" sectionFormat="of" target="I-D.ietf-oauth-identity-assertion-authz-grant"/>.  If a valid proof's key does not match the assertion's <tt>cnf.jkt</tt>, reject with <tt>invalid_grant</tt>.</t>
                  </li>
                  <li>
                    <t>Reject with <tt>invalid_dpop_proof</tt> if a supplied proof is invalid, subject to the nonce challenge rules of <xref section="8" sectionFormat="of" target="RFC9449"/>.</t>
                  </li>
                </ul>
                <ul empty="true">
                  <li>
                    <t>Note: The <tt>ath</tt> claim is not applicable at the token endpoint and <bcp14>MUST NOT</bcp14> be required.  See also <xref target="I-D.parecki-oauth-jwt-dpop-grant"/> for related work on DPoP-bound JWT grants.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><strong>mTLS</strong>: When the inbound assertion grant is mTLS-bound, it <bcp14>MUST</bcp14> carry a top-level <tt>cnf.x5t#S256</tt>; reject with <tt>invalid_grant</tt> if absent.  The AS <bcp14>MUST</bcp14>:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>Validate the client certificate presented at the token endpoint against <tt>cnf.x5t#S256</tt>.</t>
                  </li>
                  <li>
                    <t>Use the <tt>cnf.x5t#S256</tt> value set by the upstream issuer; <bcp14>MUST NOT</bcp14> substitute a locally registered certificate.</t>
                  </li>
                  <li>
                    <t>Reject with <tt>invalid_grant</tt> if the presented certificate does not match <tt>cnf.x5t#S256</tt>.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>When this JWT assertion grant is later used as a <tt>subject_token</tt> in Token Exchange, presenter continuation and presenter rebind are determined by <xref target="token-exchange-presenter-model">Presenter Transition Model</xref> and <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>, not by the contents of nested <tt>act</tt> objects.  In presenter rebind, the AS does not perform this step's match against the grant's top-level <tt>cnf</tt> claim (<xref target="jwt-assertion-grant-as-subject-token">JWT Assertion Grant as subject_token</xref>).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>If the assertion or authenticated request context identifies an OAuth client separately from <tt>act.sub</tt>:  </t>
            <ul spacing="normal">
              <li>
                <t>The AS <bcp14>MAY</bcp14> use that client identity as an additional authorization input.</t>
              </li>
              <li>
                <t>The AS <bcp14>SHOULD NOT</bcp14> infer that the client is authorized to act on behalf of the subject solely because the client initiated the request.</t>
              </li>
              <li>
                <t>When local policy maps the client identity to an actor identifier expected to match <tt>act.sub</tt>, the AS <bcp14>SHOULD</bcp14> perform identifier reconciliation before issuing a token.  If reconciliation cannot be established, the AS treats the identifiers as distinct and rejects the request when issuance requires them to identify the same entity, as defined for Identifier Reconciliation in <xref target="conventions">Conventions and Definitions</xref>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>If the AS accepts the assertion, it <bcp14>MUST</bcp14> propagate the actor information into the issued token according to the rules for the output token type.  For JWT access tokens, see <xref target="jwt-access-token-propagation">JWT Access Token Output</xref>.  For Transaction Tokens, see <xref target="transaction-token-output-rules">Transaction Token Output Rules</xref>.  When the output is another JWT assertion grant profile, the resulting assertion <bcp14>MUST</bcp14> preserve the validated actor information subject to local policy and the chain-depth limit in <xref target="delegation-chains">Delegation Chains</xref>.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="jwt-access-tokens">
      <name>JWT Access Tokens</name>
      <section anchor="jwt-access-tokens-structure">
        <name>Structure</name>
        <t>A delegated JWT access token is a JWT access token per <xref target="RFC9068"/> that carries an <tt>act</tt> claim conforming to the actor profile defined in <xref target="actor-profile">Actor Profile for Delegation</xref>.  Claims not listed here follow <xref target="RFC9068"/> and any other applicable token profile.</t>
        <t>The following claims are defined for a JWT access token that carries actor-profile delegation:</t>
        <dl>
          <dt><tt>iss</tt> (<bcp14>REQUIRED</bcp14>):</dt>
          <dd>
            <t>Identifies the access token issuer.</t>
          </dd>
          <dt><tt>sub</tt> (<bcp14>REQUIRED</bcp14>):</dt>
          <dd>
            <t>Identifies the principal on whose behalf the access token is issued.</t>
          </dd>
          <dt><tt>sub_profile</tt> (<bcp14>RECOMMENDED</bcp14>):</dt>
          <dd>
            <t>Classifies the entity type of <tt>sub</tt>.  <bcp14>MUST</bcp14> conform to <xref section="4.2" sectionFormat="of" target="I-D.mora-oauth-entity-profiles"/>.</t>
          </dd>
          <dt><tt>act</tt> (<bcp14>REQUIRED</bcp14> when the token represents delegation per <xref target="delegation-chains">Delegation Chains</xref>):</dt>
          <dd>
            <t>The actor object identifying the entity exercising the subject's delegated rights.  <bcp14>MUST</bcp14> conform to the actor object structure defined in <xref target="actor-profile">Actor Profile for Delegation</xref>.</t>
          </dd>
          <dt><tt>cnf</tt> (<bcp14>REQUIRED</bcp14> when sender-constrained; otherwise <bcp14>OPTIONAL</bcp14>):</dt>
          <dd>
            <t>Binds the access token to the current presenter when a sender-constraining mechanism such as DPoP or mTLS is used.</t>
          </dd>
          <dt><tt>client_id</tt> (<bcp14>REQUIRED</bcp14>):</dt>
          <dd>
            <t>Identifies the OAuth client that requested the token, per <xref target="RFC9068"/>.  It does not substitute for <tt>act</tt>; see <xref target="client-identity-delegation">Client Identity and Delegation</xref>.</t>
          </dd>
          <dt><tt>azp</tt> (<bcp14>OPTIONAL</bcp14>):</dt>
          <dd>
            <t>An additional client identifier used by some deployments.  It does not substitute for <tt>act</tt>; see <xref target="client-identity-delegation">Client Identity and Delegation</xref>.</t>
          </dd>
        </dl>
        <t>If an issuer uses <tt>azp</tt> and <tt>act.sub</tt> to identify the same party, <xref target="client-identity-delegation">Client Identity and Delegation</xref> defines their reconciliation, along with the other common rules; <xref target="migration-implicit-explicit">Migrating from Implicit to Explicit Delegation</xref> describes rollout.</t>
        <t>The following is an example of a JWT access token with actor-profile claims:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "client_id": "travel-assistant-client-id",
  "azp": "https://agents.enterprise.example/travel-assistant",
  "aud": "https://api.travel-provider.example",
  "jti": "xyz987",
  "exp": 1711820400,
  "iat": 1711816800,
  "scope": "travel:book",
  "sub_profile": "user",
  "cnf": {
    "jkt": "NzbLsXh8uDCcd7MNwrnNZpX0ak8ACQ"
  },
  "act": {
    "sub": "https://agents.enterprise.example/travel-assistant",
    "iss": "https://as.enterprise.example",
    "sub_profile": "ai_agent"
  }
}
]]></sourcecode>
        <t>The top-level <tt>cnf.jkt</tt> binds this token to the actor's DPoP key.  The client and actor identifiers illustrate different namespaces; any equivalence depends on trusted local mappings.</t>
      </section>
      <section anchor="delegated-token-issuance">
        <name>Delegated Token Issuance</name>
        <t>When an AS issues, outside Token Exchange, a JWT access token whose delegation rests on an independent delegation basis (<xref target="delegation-chains">Delegation Chains</xref>), it <bcp14>MUST</bcp14> establish that basis for the (<tt>sub</tt>, actor) relationship before including <tt>act</tt>.  Examples include a pre-registered delegation grant, an explicit consent record, or a policy rule covering the acting party or a class of acting parties.</t>
        <t>A client registration <bcp14>MAY</bcp14> supply that basis only if it uniquely identifies one acting entity and the AS can derive the actor identifier from the registration alone.  A registration shared by several actors does not satisfy this condition.</t>
        <t>For the authorization code grant, the AS <bcp14>MAY</bcp14> include the <tt>act</tt> claim when an independent delegation basis, such as authorization state, registration, consent, or local policy, establishes that the OAuth client is acting as a distinct actor for the resource owner.  The actor identity <bcp14>MUST</bcp14> derive from that delegation basis.  Without such a basis, the AS <bcp14>MUST NOT</bcp14> include <tt>act</tt>.</t>
        <t>An AS that issues a refresh token together with a token carrying <tt>act</tt> <bcp14>MUST</bcp14> record that chain for the grant.  For the <tt>refresh_token</tt> grant (<xref section="6" sectionFormat="of" target="RFC6749"/>), the AS <bcp14>MUST</bcp14> carry the <tt>act</tt> chain recorded for the grant into the refreshed token unchanged or reject the request; it <bcp14>MUST NOT</bcp14> issue a refreshed token without that chain.</t>
        <t>This document defines no actor-selection or actor-proof parameter for the authorization code grant; actor determination there is deployment-specific.</t>
      </section>
    </section>
    <section anchor="token-exchange-processing">
      <name>Token Exchange Processing</name>
      <t>This section defines input processing for Token Exchange <xref target="RFC8693"/> and the issuance of JWT assertion grants and JWT access tokens.  <xref target="transaction-token-service">Transaction Token Service Processing</xref> defines Transaction Token issuance.  <xref target="actor-profile-error-responses">Error Responses</xref> applies to all paths in this section.</t>
      <t>This profile defines three JWT-based <tt>actor_token</tt> credential types.  JWT access tokens use <tt>actor_token_type=urn:ietf:params:oauth:token-type:access_token</tt> (<xref target="jwt-access-token-as-actor-token">JWT Access Token as actor_token</xref>).  Client assertions per <xref target="RFC7523"/> (<xref target="jwt-client-assertion-as-actor-token">JWT Client Assertion</xref>) and workload identity credentials (<xref target="workload-identity-as-actor-token">Workload Credential Processing</xref>) both use <tt>actor_token_type=urn:ietf:params:oauth:token-type:jwt</tt>.</t>
      <t>For JWT <tt>actor_token</tt> inputs, the AS identifies the credential profile as follows:</t>
      <ul spacing="normal">
        <li>
          <t>A JWT also presented as <tt>client_assertion</tt> with a <tt>client_assertion_type</tt> of <tt>urn:ietf:params:oauth:client-assertion-type:jwt-bearer</tt> is a client assertion when its <tt>sub</tt> equals the authenticating client's <tt>client_id</tt>.</t>
        </li>
        <li>
          <t>A JWT <tt>actor_token</tt> not presented as <tt>client_assertion</tt> is a client assertion when its <tt>iss</tt> and <tt>sub</tt> both equal the authenticated client's <tt>client_id</tt> (<xref section="5.2" sectionFormat="of" target="RFC7521"/>).</t>
        </li>
        <li>
          <t>If <tt>sub</tt> differs from <tt>client_id</tt>, the AS <bcp14>MUST NOT</bcp14> classify the JWT as a client assertion solely because it appears in <tt>client_assertion</tt>.  It <bcp14>MUST</bcp14> apply workload identity credential processing if that profile matches, or reject with <tt>invalid_request</tt>.</t>
        </li>
        <li>
          <t>If exactly one supported actor-credential profile cannot be identified, the AS <bcp14>MUST</bcp14> reject with <tt>invalid_request</tt>.</t>
        </li>
        <li>
          <t>If <tt>client_assertion</tt> and <tt>actor_token</tt> are different JWTs, the AS <bcp14>MUST</bcp14> process each independently.  These disambiguation rules apply only to <tt>actor_token</tt>.</t>
        </li>
      </ul>
      <section anchor="token-exchange-presenter-model">
        <name>Presenter Transition Model</name>
        <t>For PoP migration, this profile distinguishes two classes of <tt>subject_token</tt> input according to whether they carry presenter-continuity information; <xref target="token-exchange-input-processing">Input Processing</xref> classifies each input type.</t>
        <t>Identity-only inputs (ID Tokens and refresh tokens) establish <tt>sub</tt> and <bcp14>MAY</bcp14> establish supporting subject state such as <tt>sub_profile</tt> or an authorization ceiling.  They do not establish presenter continuity.  An ID Token establishes no inbound <tt>act</tt> state; a refresh token establishes it only from an <tt>act</tt> chain recorded in its state (<xref target="refresh-tokens">Refresh Token</xref>).  Neither input by itself justifies adding a new actor.</t>
        <t>Token-state inputs (JWT assertion grants, JWT access tokens, and Transaction Tokens) establish <tt>sub</tt> and <bcp14>MAY</bcp14> establish <tt>sub_profile</tt>, inbound <tt>act</tt> chain state, and current-presenter binding through top-level <tt>cnf</tt>.  They are the only <tt>subject_token</tt> inputs from which this document defines presenter continuation.</t>
        <t>A Token Exchange is delegated when it establishes a new actor or carries an inbound <tt>act</tt> chain, including one recorded in the state of a refresh token presented as <tt>subject_token</tt> (<xref target="delegation-chains">Delegation Chains</xref>).  A delegated Token Exchange operates in exactly one of two presenter-transition modes:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Presenter continuation</strong>: neither a validated <tt>actor_token</tt> nor the <xref target="may-act"><tt>may_act</tt></xref> path without <tt>actor_token</tt> establishes a new presenter.  The issued token retains the presenter of a token-state <tt>subject_token</tt>: the holder of its top-level <tt>cnf</tt> binding or, for a bearer <tt>subject_token</tt>, its authenticated outermost actor or subject, as <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref> requires.</t>
          </li>
          <li>
            <t><strong>Presenter rebind</strong>: a validated <tt>actor_token</tt>, or the authenticated client on the <xref target="may-act"><tt>may_act</tt></xref> path without <tt>actor_token</tt>, establishes a new presenter for the issued token.  When the output token is sender-constrained, its top-level <tt>cnf</tt> is bound to that new presenter.</t>
          </li>
        </ul>
        <t>A delegated request that satisfies neither mode <bcp14>MUST</bcp14> be rejected with <tt>invalid_request</tt>.  A request that supplies an <tt>actor_token</tt>, or whose <tt>subject_token</tt> carries <tt>act</tt>, is processed as delegated; if that processing fails, the AS rejects the request and <bcp14>MUST NOT</bcp14> instead issue a token without <tt>act</tt>.</t>
        <t>The AS processes a request that is not delegated under <xref target="RFC8693"/> and local policy, and a token issued for it omits <tt>act</tt>.  Local policy can reject such a request with <tt>actor_unauthorized</tt>, for example when the client or resource requires explicit delegation.</t>
        <t>When a request that is not delegated presents a <tt>subject_token</tt> carrying a top-level <tt>cnf</tt> claim, the requester <bcp14>MUST</bcp14> prove possession of that binding, as in <xref target="token-exchange-continuation">Token Exchange Continuation</xref>.</t>
        <t>Outside the <xref target="may-act"><tt>may_act</tt></xref> path without <tt>actor_token</tt>, presenter rebind requires a <strong>direct presenter credential</strong>: an <tt>actor_token</tt> whose top-level <tt>sub</tt> names the new presenter.  Other means of establishing a presenter are outside this profile.</t>
        <t>Identity-only inputs cannot support continuation, and bearer inputs support only bearer continuation.  To preserve a delegation chain while changing presenters, deployments <bcp14>SHOULD</bcp14> present the delegated credential as <tt>subject_token</tt> and a separate direct credential as <tt>actor_token</tt>.</t>
        <t>JWT assertion grants are not suitable for use as <tt>actor_token</tt>, because their <tt>sub</tt> identifies the subject of delegation rather than the acting party.  Requests that need to establish an agent, workload, or client as the actor <bcp14>SHOULD</bcp14> use one of the actor credential types defined in this section instead.</t>
      </section>
      <section anchor="token-exchange-input-processing">
        <name>Input Processing</name>
        <t>When a Token Exchange request (<xref target="RFC8693"/>) presents a <tt>subject_token</tt> or <tt>actor_token</tt> of a type defined in this section, the AS <bcp14>MUST</bcp14> apply the following steps, using the input type's row in the tables below and the rules in its subsection.  Steps 1 through 4 apply to each input; steps 5 and 6 apply to the issued token.</t>
        <ol spacing="normal" type="1"><li>
            <t>The AS <bcp14>MUST</bcp14> validate the input per the specification in its table row.  If validation fails, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt> (<xref section="2.2.2" sectionFormat="of" target="RFC8693"/>), unless the input's subsection or <xref target="actor-profile-error-responses">Error Responses</xref> specifies another error.</t>
          </li>
          <li>
            <t>Where the table row gives an issuer-trust check, the AS <bcp14>MUST</bcp14> verify that the input's issuer is trusted under local policy as that row states.  If not, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.</t>
          </li>
          <li>
            <t>The AS <bcp14>MUST</bcp14> apply <xref target="token-exchange-presenter-model">Presenter Transition Model</xref>: for a delegated request, the continuation or rebind rules in <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>, including any type-specific proof rule in the input's subsection.  A token-state <tt>subject_token</tt> without a top-level presenter binding can still be used for presenter rebind.</t>
          </li>
          <li>
            <t>The AS establishes inbound state as follows:  </t>
            <ul spacing="normal">
              <li>
                <t>From a validated JWT access token or Transaction Token <tt>subject_token</tt>, the AS <bcp14>MUST</bcp14> extract <tt>sub</tt>, <tt>sub_profile</tt> (if present), and <tt>act</tt> (if present) as the inbound delegation state for <xref target="jwt-access-token-propagation">JWT Access Token Output</xref>.  A validated JWT assertion grant establishes the same inbound state.</t>
              </li>
              <li>
                <t>An identity-only <tt>subject_token</tt> supplies no presenter continuity.  A refresh token whose state records an <tt>act</tt> chain supplies that chain as inbound delegation state (<xref target="refresh-tokens">Refresh Token</xref>); an ID Token supplies none.  The AS establishes a new actor from a validated <tt>actor_token</tt> or from the authenticated client on the <xref target="may-act"><tt>may_act</tt></xref> path without <tt>actor_token</tt>; with neither a new actor nor inbound delegation state, the request is not delegated, and any token issued for it <bcp14>MUST</bcp14> omit <tt>act</tt>.</t>
              </li>
              <li>
                <t>For an <tt>actor_token</tt>, the AS <bcp14>MUST</bcp14> derive the outermost actor and handle any inbound chain as specified in <xref target="actor-tokens">Actor Tokens</xref>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The AS can reduce scope under local policy.  The effective scope of the issued token <bcp14>MUST NOT</bcp14> exceed the scope ceiling, if any, in the <tt>subject_token</tt>'s table row.</t>
          </li>
          <li>
            <t>The AS <bcp14>MUST</bcp14> then apply the propagation rules in <xref target="jwt-access-token-propagation">JWT Access Token Output</xref> to determine the remaining claims in the issued token.</t>
          </li>
        </ol>
        <t>For <tt>subject_token</tt> inputs:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Input</th>
              <th align="left">Validated per</th>
              <th align="left">Issuer trust check</th>
              <th align="left">Scope ceiling</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">JWT assertion grant</td>
              <td align="left">
                <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref></td>
              <td align="left">In validation</td>
              <td align="left">See subsection</td>
            </tr>
            <tr>
              <td align="left">JWT access token</td>
              <td align="left">
                <xref target="RFC9068"/>, <tt>aud</tt> relaxed</td>
              <td align="left">Trusted for its delegation chain</td>
              <td align="left">Its effective scope</td>
            </tr>
            <tr>
              <td align="left">Transaction Token</td>
              <td align="left">
                <xref target="txn-token-as-subject-token">Transaction Token specification</xref></td>
              <td align="left">Trusted issuer</td>
              <td align="left">See subsection</td>
            </tr>
            <tr>
              <td align="left">ID Token</td>
              <td align="left">
                <xref target="OpenID.Core"/>, local policy</td>
              <td align="left">No separate check</td>
              <td align="left">None</td>
            </tr>
            <tr>
              <td align="left">Refresh token</td>
              <td align="left">Token store or trusted back-channel</td>
              <td align="left">No separate check</td>
              <td align="left">Its authorized scope</td>
            </tr>
          </tbody>
        </table>
        <t>For <tt>actor_token</tt> inputs, each of which establishes the outermost actor:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Input</th>
              <th align="left">Validated per</th>
              <th align="left">Issuer trust check</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">JWT client assertion</td>
              <td align="left">
                <xref target="RFC7523"/></td>
              <td align="left">See subsection</td>
            </tr>
            <tr>
              <td align="left">Workload identity credential</td>
              <td align="left">Its type specification</td>
              <td align="left">Trusted for the workload's identity</td>
            </tr>
            <tr>
              <td align="left">JWT access token</td>
              <td align="left">
                <xref target="RFC9068"/>, <tt>aud</tt> relaxed</td>
              <td align="left">Trusted for the acting party's identity</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="subject-tokens">
        <name>Subject Tokens</name>
        <t>SAML assertions are outside the scope of this document.</t>
        <section anchor="token-state-subject-tokens">
          <name>Token-State Subject Tokens</name>
          <section anchor="jwt-assertion-grant-as-subject-token">
            <name>JWT Assertion Grant</name>
            <t>A JWT assertion grant presented as <tt>subject_token</tt> establishes <tt>sub</tt> and, when present, <tt>sub_profile</tt>, inbound <tt>act</tt> chain state, and top-level <tt>cnf</tt>, and is processed under <xref target="token-exchange-input-processing">Input Processing</xref> with the following rules.  Validation applies the inbound validation rules of <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref> to the grant; assertion-grant output construction from that section does not apply.  On this Token Exchange path, a failure that section rejects with the <tt>invalid_grant</tt> error code is rejected with the <tt>invalid_request</tt> error code instead (<xref section="2.2.2" sectionFormat="of" target="RFC8693"/>).</t>
            <t>In presenter continuation, step 6 of <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref> applies.  In presenter rebind, the new presenter's binding supersedes the grant's: the AS does not perform step 6's match of the request's proof against the grant's top-level <tt>cnf</tt>, and it treats the grant as having no enforced grant-level sender constraint, so the (<tt>iss</tt>, <tt>jti</tt>) single-use rule in step 1 of <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref> applies.  The AS still validates any proof that the new presenter's credential profile or the deployment requires, as the rebind rules specify.</t>
            <t>The grant's scope ceiling is its <tt>scope</tt> claim when present (such as the ID-JAG <tt>scope</tt> claim of <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>), otherwise the scope the AS would authorize if the grant were redeemed directly under <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref>.</t>
          </section>
          <section anchor="jwt-access-token-as-subject-token">
            <name>JWT Access Token</name>
            <t>A JWT access token presented as <tt>subject_token</tt> (<tt>subject_token_type=urn:ietf:params:oauth:token-type:access_token</tt>) establishes <tt>sub</tt> and, when present, <tt>sub_profile</tt>, inbound <tt>act</tt> chain state, and top-level <tt>cnf</tt>, and is processed under <xref target="token-exchange-input-processing">Input Processing</xref> with the following rules.  Validation follows <xref section="4" sectionFormat="of" target="RFC9068"/> for its <tt>typ</tt> header, signature, <tt>iss</tt>, and <tt>exp</tt>, and <xref target="RFC7519"/> for <tt>nbf</tt> when present; the token carries the <tt>sub</tt> and <tt>jti</tt> claims that <xref section="2.2" sectionFormat="of" target="RFC9068"/> requires.  Because a JWT access token used as <tt>subject_token</tt> was issued for a resource server, its <tt>aud</tt> does not ordinarily include the Token Exchange AS's token endpoint; the AS <bcp14>MUST NOT</bcp14> reject the inbound token solely because its <tt>aud</tt> does not include the AS's token endpoint URI.</t>
          </section>
          <section anchor="txn-token-as-subject-token">
            <name>Transaction Token</name>
            <t>A Transaction Token presented as <tt>subject_token</tt> (<tt>subject_token_type=urn:ietf:params:oauth:token-type:txn_token</tt>) establishes <tt>sub</tt> and, when present, <tt>sub_profile</tt>, inbound <tt>act</tt> chain state, and a top-level presenter binding.  The AS or TTS receiving it <bcp14>MUST</bcp14> apply steps 1 through 4 of <xref target="token-exchange-input-processing">Input Processing</xref> with the following rules; steps 5 and 6 apply when the output is a JWT access token or a JWT assertion grant, and for a Transaction Token output, <xref target="transaction-token-output-rules">Transaction Token Output Rules</xref> apply instead.</t>
            <t>Validation per <xref target="I-D.ietf-oauth-transaction-tokens"/> covers the signature, <tt>aud</tt>, <tt>exp</tt>, and issuer identity:</t>
            <ul spacing="normal">
              <li>
                <t>When the Transaction Token carries <tt>act</tt>, a top-level <tt>iss</tt> claim <bcp14>MUST</bcp14> be present, and the AS <bcp14>MUST</bcp14> validate it as the token issuer.  If <tt>iss</tt> is missing, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.</t>
              </li>
              <li>
                <t>When the Transaction Token carries neither <tt>act</tt> nor <tt>iss</tt>, the AS <bcp14>MUST</bcp14> determine the issuer through the Transaction Token trust-domain rules and local configuration.</t>
              </li>
              <li>
                <t>If validation fails or the issuer cannot be established, the AS <bcp14>MUST</bcp14> reject with <tt>invalid_request</tt>.</t>
              </li>
            </ul>
            <t>In step 3, the AS uses the presenter-proof mechanism defined by the deployment profile; <xref target="I-D.ietf-oauth-transaction-tokens"/> defines none.</t>
            <t>The <tt>req_wl</tt> claim identifies the workload that requested the Transaction Token from the TTS.  For a JWT access token output, the AS <bcp14>MAY</bcp14> use <tt>req_wl</tt> for audit or local policy decisions but <bcp14>MUST NOT</bcp14> carry it forward into the issued JWT access token.  The scope ceiling is the authority the Transaction Token represents; when the AS cannot determine that authority in the output's scope vocabulary, it <bcp14>MUST</bcp14> reject the request with <tt>invalid_scope</tt>, as <xref section="13.14" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/> requires of a TTS.  Other Transaction Token field semantics remain defined by <xref target="I-D.ietf-oauth-transaction-tokens"/>, <xref target="RFC8693"/>, and local policy.</t>
          </section>
        </section>
        <section anchor="identity-only-subject-tokens">
          <name>Identity-Only Subject Tokens</name>
          <section anchor="id-tokens">
            <name>OpenID Connect ID Token</name>
            <section anchor="id-token-overview">
              <name>Overview</name>
              <t>An OpenID Connect ID Token <xref target="OpenID.Core"/> presented as <tt>subject_token</tt> (<tt>subject_token_type=urn:ietf:params:oauth:token-type:id_token</tt>) establishes subject identity only.  It identifies an authenticated user in <tt>sub</tt> and the relying party in <tt>aud</tt> (and possibly <tt>azp</tt>); the acting party comes from <tt>actor_token</tt>, and <tt>aud</tt> and <tt>azp</tt> remain client identifiers.</t>
            </section>
            <section anchor="id-token-as-subject-token">
              <name>Processing</name>
              <t>The AS <bcp14>MUST</bcp14> verify that the ID Token's <tt>aud</tt> contains a value that identifies the authenticated client under Identifier Reconciliation (<xref target="conventions">Conventions and Definitions</xref>), as <xref section="4.3.3" sectionFormat="of" target="I-D.ietf-oauth-identity-assertion-authz-grant"/> requires for an ID-JAG.  It <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt> when the client is not authenticated or no <tt>aud</tt> value identifies it.  These checks on <tt>aud</tt> and <tt>azp</tt> remain OpenID Connect and client-identity checks; they do not by themselves establish the delegated actor under this profile.</t>
              <t>The AS <bcp14>MUST</bcp14> use the validated ID Token's <tt>sub</tt> as the subject identity for the issued token, subject to the same-subject preservation rule in <xref target="jwt-access-token-propagation">JWT Access Token Output</xref>.  The AS <bcp14>SHOULD</bcp14> set <tt>sub_profile</tt> to <tt>user</tt> in the issued token if it can authoritatively classify the ID Token's <tt>sub</tt> as a human user identity and no conflicting subject classification is available under local policy.</t>
              <t>Because an ID Token carries no OAuth scope ceiling, scope determination comes from the <tt>actor_token</tt> (if any), <xref target="RFC8693"/>, and local policy.</t>
            </section>
          </section>
          <section anchor="refresh-tokens">
            <name>Refresh Token</name>
            <section anchor="refresh-token-overview">
              <name>Overview</name>
              <t>A refresh token presented as <tt>subject_token</tt> (<tt>subject_token_type=urn:ietf:params:oauth:token-type:refresh_token</tt>) establishes <tt>sub</tt>, an authorized scope, and any <tt>act</tt> chain recorded for its grant, which the AS obtains from trusted server state rather than by extracting actor claims from the token.  A refresh token <bcp14>MAY</bcp14> be used as <tt>subject_token</tt> when the AS can validate its state directly or through a trusted back-channel to its issuer.  It <bcp14>MUST NOT</bcp14> be treated as a portable cross-domain delegation artifact or used as <tt>actor_token</tt>.  Client binding, cross-client presentation, and cross-AS acceptance policies remain deployment-specific.</t>
            </section>
            <section anchor="refresh-token-as-subject-token">
              <name>Processing</name>
              <t>The AS validates the refresh token through its token store or a trusted back-channel to its issuer; signature validation alone is insufficient, and an expired, revoked, or otherwise invalid token fails validation.  For a token issued by another AS, the AS <bcp14>MUST NOT</bcp14> accept it unless that back-channel provides the subject, client binding, authorized scope, revocation state, and any <tt>act</tt> chain recorded for the grant.</t>
              <t>The AS <bcp14>MUST</bcp14> verify that the requesting client or authenticated presenter is authorized to use the refresh token under the refresh token's client-binding, sender-constraint, rotation, and cross-client presentation policy.  If the requester is not authorized to use the refresh token, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.</t>
              <t>The AS <bcp14>MUST</bcp14> extract the subject identity and authorized scope associated with the refresh token from its token store or other trusted refresh-token state.  The <tt>sub</tt> of the user associated with the refresh token becomes <tt>sub</tt> in the issued token.</t>
              <t>Whether an AS issues refresh tokens for delegated JWT assertion grant requests, how it revokes them, and whether their later use requires re-presenting upstream delegation artifacts remain deployment-specific.  On Token Exchange, a refresh token <tt>subject_token</tt> establishes no new actor.  When the refresh token's state records an <tt>act</tt> chain, the AS <bcp14>MUST</bcp14> treat that chain as inbound <tt>act</tt> state: the request is delegated, an identity-only input cannot use presenter continuation, so the request requires presenter rebind (<xref target="token-exchange-presenter-model">Presenter Transition Model</xref>), and the AS <bcp14>MUST NOT</bcp14> issue a token without that chain.</t>
            </section>
          </section>
        </section>
      </section>
      <section anchor="actor-tokens">
        <name>Actor Tokens</name>
        <t>The following rules apply to every <tt>actor_token</tt> type in this section:</t>
        <ol spacing="normal" type="1"><li>
            <t>The credential <bcp14>MUST</bcp14> identify the acting party in its top-level <tt>sub</tt>.  If it carries <tt>act</tt>, the AS <bcp14>MUST</bcp14> reject with <tt>invalid_request</tt>.</t>
          </li>
          <li>
            <t>After validating the credential, the AS <bcp14>MUST</bcp14> use its <tt>sub</tt> as the new outermost <tt>act.sub</tt> and set <tt>act.iss</tt> to that identifier's namespace context: for a JWT client assertion, the issuer identifier of the AS at which the client is registered; for a workload identity credential, its <tt>iss</tt>, or its trust domain when <tt>iss</tt> is absent; for a JWT access token, its <tt>iss</tt>.</t>
          </li>
          <li>
            <t>If the <tt>subject_token</tt> carries a chain, the new actor takes precedence over its outermost actor.  Different identities are permitted for presenter rebind.  Local policy <bcp14>MAY</bcp14> require equivalence on paths that only confirm an existing actor; when such a restriction applies and no trusted mapping establishes equivalence, the AS <bcp14>MUST</bcp14> reject with <tt>invalid_request</tt>.</t>
          </li>
        </ol>
        <t><xref target="delegation-chain-algorithm">Delegation Chain Validation and Construction</xref> governs nesting of the <tt>subject_token</tt> chain.</t>
        <t>Deployments supporting sub-delegation <bcp14>SHOULD</bcp14> provision each potential presenter with a direct credential naming itself in <tt>sub</tt>.</t>
        <section anchor="jwt-client-assertion-as-actor-token">
          <name>JWT Client Assertion</name>
          <section anchor="overview-1">
            <name>Overview</name>
            <t>A JWT client assertion per <xref target="RFC7523"/> presented as <tt>actor_token</tt> establishes an OAuth client's own identity as the acting party.  Per <xref section="5.2" sectionFormat="of" target="RFC7521"/> and <xref section="3" sectionFormat="of" target="RFC7523"/>, the assertion has <tt>iss = sub = client_id</tt> and is signed with the client's private key.  Two usage patterns arise:</t>
            <ul spacing="normal">
              <li>
                <t>A single client assertion is presented as both <tt>client_assertion</tt> and <tt>actor_token</tt>, making the authenticated client explicit in the issued token's <tt>act</tt> chain.</t>
              </li>
              <li>
                <t>The client authenticates by another method (for example, <tt>client_secret</tt> or mTLS) and presents a separate client assertion naming itself as <tt>actor_token</tt>.</t>
              </li>
            </ul>
            <t>To establish a principal distinct from the OAuth <tt>client_id</tt> as the actor, the request <bcp14>MUST</bcp14> use a different actor credential type, such as a workload identity credential (<xref target="workload-identity-as-actor-token">Workload Credential Processing</xref>), whose <tt>sub</tt> names that distinct principal.</t>
          </section>
          <section anchor="processing">
            <name>Processing</name>
            <t>If validation of the client assertion per <xref target="RFC7523"/> fails and the <tt>actor_token</tt> is also used as <tt>client_assertion</tt> for client authentication in the same request, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_client</tt>; if that validation fails otherwise, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.</t>
            <t>The AS <bcp14>MUST</bcp14> verify that the client assertion's <tt>iss</tt> is a client registered with the AS, that <tt>sub</tt> equals that client's <tt>client_id</tt>, and that local policy permits that client's assertion to be used as an actor credential.  If not, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.</t>
            <t>When the <tt>actor_token</tt> is the same JWT presented as <tt>client_assertion</tt> for client authentication in the same request, the AS <bcp14>MAY</bcp14> derive the actor identity from the already-authenticated client context rather than re-validating the <tt>actor_token</tt> separately, provided the result is an identical <tt>act.sub</tt> value.  Actor-profile-specific policy failures after successful client authentication follow <xref target="actor-profile-error-responses">Error Responses</xref>, including <tt>actor_unauthorized</tt> for actor-authorization denials.</t>
          </section>
        </section>
        <section anchor="workload-identity">
          <name>Workload Identity Credential</name>
          <section anchor="workload-identity-overview">
            <name>Overview</name>
            <t>A workload identity credential is a JWT whose <tt>sub</tt> identifies a software workload, such as a service or agent; presented as <tt>actor_token</tt>, it establishes that workload as the acting party.  WIMSE credentials are defined in <xref target="I-D.ietf-wimse-workload-creds"/>.</t>
            <t>The recommended pattern for agentic Token Exchange is:</t>
            <ul spacing="normal">
              <li>
                <t><tt>subject_token</tt>: a JWT access token or JWT assertion grant carrying the user's <tt>sub</tt> and the delegation chain (<tt>act</tt>)</t>
              </li>
              <li>
                <t><tt>actor_token</tt>: a workload identity credential whose <tt>sub</tt> is the agent or service identity</t>
              </li>
              <li>
                <t>Output: a JWT access token with the user as <tt>sub</tt> and the workload as the outermost <tt>act.sub</tt></t>
              </li>
            </ul>
          </section>
          <section anchor="workload-identity-as-actor-token">
            <name>Processing</name>
            <t>For WIMSE workload identity credentials (<xref target="I-D.ietf-wimse-workload-creds"/>), validation follows the rules defined in that specification.  The issuer is identified by <tt>iss</tt> or, for a WIMSE credential without <tt>iss</tt> (<xref section="5.1" sectionFormat="of" target="I-D.ietf-wimse-workload-creds"/>), by the trust anchors configured for the trust domain of its <tt>sub</tt> (<xref section="3" sectionFormat="of" target="I-D.ietf-wimse-workload-creds"/>).</t>
            <t>The AS <bcp14>MUST</bcp14> validate any proof the workload-credential profile requires, such as a WIMSE Workload Proof Token (WPT, <xref target="I-D.ietf-wimse-wpt"/>) per its specification, whether or not the output token is sender-constrained.  When the request uses this credential to establish a sender-constrained output token in presenter-rebind mode, the AS <bcp14>MUST</bcp14> also validate proof for the new presenter binding: the WPT, or a DPoP proof (<xref target="RFC9449"/>) over the token endpoint URI whose key is the confirmation key in the credential's <tt>cnf</tt> claim (<tt>cnf.jwk</tt> for a WIMSE credential).  If a required proof is absent or invalid, the AS <bcp14>MUST</bcp14> reject under <xref target="actor-profile-error-responses">Error Responses</xref>, using the proof mechanism's error when specified and <tt>invalid_request</tt> otherwise.</t>
          </section>
        </section>
        <section anchor="jwt-access-token-as-actor-token">
          <name>JWT Access Token</name>
          <section anchor="overview-2">
            <name>Overview</name>
            <t>A non-delegated JWT access token presented as <tt>actor_token</tt> establishes a service or workload as the acting party; its top-level <tt>sub</tt> identifies the acting party and satisfies the direct-presenter-credential requirement in <xref target="token-exchange-presenter-model">Presenter Transition Model</xref>.</t>
          </section>
          <section anchor="processing-1">
            <name>Processing</name>
            <t>Validation per <xref target="RFC9068"/> applies the <tt>aud</tt> relaxation in <xref target="jwt-access-token-as-subject-token">JWT Access Token as subject_token</xref>.  A JWT access token without top-level <tt>cnf</tt> is accepted as <tt>actor_token</tt> only when its <tt>sub</tt> corresponds to the authenticated client under Identifier Reconciliation (<xref target="conventions">Conventions and Definitions</xref>); otherwise, the AS <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.  When the credential carries top-level <tt>cnf</tt>, the AS <bcp14>MUST</bcp14> validate proof for that binding per <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>, whether or not the output token is sender-constrained.</t>
          </section>
        </section>
      </section>
      <section anchor="may-act">
        <name><tt>may_act</tt></name>
        <t>The <tt>may_act</tt> claim (<xref section="4.4" sectionFormat="of" target="RFC8693"/>) pre-authorizes a specific party to act on behalf of the subject in a subsequent Token Exchange.  This document defines limited use of <tt>may_act</tt> as a delegation-authorization input when actor identity is established by other means: when present in a validated <tt>subject_token</tt>, it <bcp14>MAY</bcp14> satisfy the delegation-authorization check in step 3 of <xref target="validate-outermost-actor">Validate Outermost Actor</xref> without a separately pre-registered grant.  The <tt>may_act</tt> claim is never itself the source of actor identity, and it <bcp14>MUST NOT</bcp14> be propagated into any output token.</t>
        <t>Two preconditions apply regardless of how the Token Exchange request is structured:</t>
        <ol spacing="normal" type="1"><li>
            <t>The <tt>subject_token</tt> issuer is trusted under local policy to assert <tt>may_act</tt> on behalf of the subject.</t>
          </li>
          <li>
            <t>The canonical <tt>may_act</tt> identifier matches the derived actor identity under Identifier Reconciliation (<xref target="conventions">Conventions and Definitions</xref>).</t>
          </li>
        </ol>
        <t>The canonical <tt>may_act</tt> identifier is (<tt>may_act.iss</tt>, <tt>may_act.sub</tt>) when <tt>may_act</tt> carries <tt>iss</tt>, and (<tt>subject_token.iss</tt>, <tt>may_act.sub</tt>) otherwise.  The AS <bcp14>MUST</bcp14> apply configured mapping rules and <bcp14>MUST NOT</bcp14> infer equivalence from naming similarity alone.</t>
        <t>If <tt>may_act.iss</tt> is present but is not a valid StringOrURI, the AS <bcp14>MUST NOT</bcp14> use that <tt>may_act</tt> claim to authorize delegation and <bcp14>MUST NOT</bcp14> fall back to <tt>subject_token.iss</tt>.</t>
        <t>Actor identity is established as follows:</t>
        <ul spacing="normal">
          <li>
            <t><strong>With <tt>actor_token</tt></strong>: the AS derives (<tt>act.iss</tt>, <tt>act.sub</tt>) under the credential's type-specific rules and reconciles that pair with the canonical <tt>may_act</tt> identifier.  The <tt>may_act</tt> claim <bcp14>MUST NOT</bcp14> override the derived actor.</t>
          </li>
          <li>
            <t><strong>Without <tt>actor_token</tt></strong>: the requesting client <bcp14>MUST</bcp14> be a confidential client that has authenticated in the request; public clients <bcp14>MUST NOT</bcp14> use this path.  The AS reconciles the authenticated client with the canonical <tt>may_act</tt> identifier and sets <tt>act.sub</tt> to the client's canonical identifier.  The AS <bcp14>MUST</bcp14> set <tt>act.iss</tt> to the issuer or namespace context that locally registered the client, typically the AS's own issuer URI.  The authenticated client is then the new presenter in presenter-rebind mode (<xref target="token-exchange-presenter-model">Presenter Transition Model</xref>), and a sender-constrained output is bound to the key or certificate the client demonstrates in the request.</t>
          </li>
        </ul>
        <t>When an <tt>actor_token</tt> establishes the actor and <tt>may_act</tt> is absent or the conditions above are not met, the AS <bcp14>MUST</bcp14> satisfy the delegation-authorization check through another recognized basis (a pre-registered grant, a consent record, or an applicable policy rule).  Without an <tt>actor_token</tt>, such a basis establishes no actor (<xref target="delegation-chains">Delegation Chains</xref>).  The AS <bcp14>MUST NOT</bcp14> treat the presence of <tt>may_act</tt> alone as authorization for any actor other than the one whose canonical identity matches it.</t>
      </section>
      <section anchor="output-token-rules">
        <name>Output Token Rules</name>
        <section anchor="jwt-assertion-grant-issuance">
          <name>JWT Assertion Grant Output</name>
          <t>When <tt>requested_token_type</tt> requests a JWT assertion grant, the output <bcp14>MUST</bcp14> satisfy <xref target="jwt-assertion-grants-structure">JWT Assertion Grant Structure</xref>.  Supported type identifiers include <tt>urn:ietf:params:oauth:token-type:jwt</tt> and compatible profiles of that type, such as <tt>urn:ietf:params:oauth:token-type:id-jag</tt> <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>.</t>
          <t>The AS <bcp14>MUST</bcp14>:</t>
          <ul spacing="normal">
            <li>
              <t>Construct the chain per <xref target="jwt-access-token-propagation">JWT Access Token Output</xref>.</t>
            </li>
            <li>
              <t>Set <tt>aud</tt> from the request or deployment configuration: for an ID-JAG, to the Resource Authorization Server's issuer identifier (<xref section="3.1" sectionFormat="of" target="I-D.ietf-oauth-identity-assertion-authz-grant"/>); otherwise, to a value identifying the downstream authorization server that <xref section="3" sectionFormat="of" target="RFC7523"/> permits, such as its token endpoint URL.</t>
            </li>
            <li>
              <t>Sign the assertion, per <xref section="3" sectionFormat="of" target="RFC7523"/>.</t>
            </li>
          </ul>
          <t>Issuing such a grant is subject to AS configuration and, when the grant carries <tt>act</tt>, to <xref target="validate-outermost-actor">Validate Outermost Actor</xref>.</t>
        </section>
        <section anchor="jwt-access-token-propagation">
          <name>JWT Access Token Output</name>
          <t>When the output is a JWT access token, the issued token <bcp14>MUST</bcp14> satisfy <xref target="jwt-access-tokens-structure">JWT Access Token Structure</xref>.  After the applicable grant, subject-token, actor-token, or TTS input processing, the AS <bcp14>MUST</bcp14> apply the rules below.</t>
          <t>For a sender-constrained output of a delegated Token Exchange request, the AS <bcp14>MUST</bcp14> set the top-level <tt>cnf</tt> claim according to <xref target="token-exchange-presenter-model">Presenter Transition Model</xref>: retain the presenter's binding in continuation mode, or bind to the new presenter in rebind mode.  For any other request, the applicable grant or token specification and its proof mechanism govern that binding, such as <xref section="9.8.1.1" sectionFormat="of" target="I-D.ietf-oauth-identity-assertion-authz-grant"/> for an ID-JAG.</t>
          <t>If a Token Exchange request explicitly seeks a delegated output, for example by supplying an <tt>actor_token</tt> or by presenting a <tt>subject_token</tt> that already carries <tt>act</tt>, and the AS cannot validate the actor information, it <bcp14>MUST</bcp14> reject the request with <tt>invalid_request</tt>.  If the AS can validate the actor information but cannot establish or confirm the required delegation basis, or if local policy prohibits the relationship, it <bcp14>MUST</bcp14> reject the request with <tt>actor_unauthorized</tt>.  The AS <bcp14>MUST NOT</bcp14> issue a non-delegated token in place of the requested delegated output.</t>
          <ol spacing="normal" type="1"><li>
              <t>The AS includes or omits <tt>act</tt> as required by <xref target="delegation-chains">Delegation Chains</xref>, and does not silently drop inbound actor information (<xref target="omit-act">Omit <tt>act</tt></xref>).</t>
            </li>
            <li>
              <t>The AS <bcp14>MUST</bcp14> preserve <tt>sub</tt> to refer to the same underlying subject as the inbound token.  If the AS uses a different subject-identifier namespace, it <bcp14>MAY</bcp14> change the <tt>sub</tt> value only to re-express that same subject in the new namespace under a trusted local mapping.  The AS <bcp14>MUST NOT</bcp14> replace <tt>sub</tt> with an identifier for a different subject.  <xref target="subject-namespace-translation">Subject Namespace Translation</xref> describes subject-namespace translation requirements and relying-party consequences.</t>
            </li>
            <li>
              <t>The AS <bcp14>MUST</bcp14> construct the <tt>act</tt> claim using the construction decision order in <xref target="delegation-chain-algorithm">Delegation Chain Validation and Construction</xref>: extend with a new actor, preserve an existing chain, or omit <tt>act</tt>, in that order.  An actor derived from <tt>actor_token</tt> is asserted by the issuing AS; consumers <bcp14>MUST NOT</bcp14> infer that it was present in the <tt>subject_token</tt> or endorsed by its issuer.</t>
            </li>
            <li>
              <t>The AS <bcp14>MUST</bcp14> reject the request if actor validation fails or the resulting chain exceeds the depth limit, using <xref target="actor-profile-error-responses">Error Responses</xref>.  It <bcp14>MUST NOT</bcp14> issue a partially preserved chain.</t>
            </li>
            <li>
              <t>Top-level <tt>sub_profile</tt> follows <xref target="actor-object-structure">Actor Object Structure</xref>, which recommends it when the AS can authoritatively classify the token's <tt>sub</tt> entity type.  When the AS carries a trusted inbound top-level <tt>sub_profile</tt> into the issued token, it <bcp14>MUST</bcp14> preserve its unrecognized but syntactically valid values.</t>
            </li>
            <li>
              <t>The AS can reduce scope under local policy.  If this reduction, before any actor-based restriction, leaves no effective scope, it <bcp14>MUST</bcp14> reject with <tt>invalid_scope</tt>.  </t>
              <t>
If the AS also restricts scope using the (<tt>sub</tt>, <tt>act.sub</tt>) pair or <tt>act.sub_profile</tt>, it <bcp14>MUST</bcp14> return the final effective <tt>scope</tt> in the token response.  If this restriction leaves no scope, the AS <bcp14>MUST</bcp14> reject:  </t>
              <ul spacing="normal">
                <li>
                  <t>with <tt>actor_unauthorized</tt> when the actor is categorically unauthorized for the remaining scope, for example because its entity type is prohibited;</t>
                </li>
                <li>
                  <t>with <tt>invalid_scope</tt> for other causes, such as an actor scope ceiling that excludes the requested values.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>The AS <bcp14>MAY</bcp14> preserve inbound client identifiers per the output token profile or local policy.  Preserved values <bcp14>MUST</bcp14> retain their client-identity meaning; they do not represent delegation state (<xref target="client-identity-delegation">Client Identity and Delegation</xref>).  If preserving an optional identifier would create ambiguity about the delegated actor relationship, the AS <bcp14>SHOULD</bcp14> omit it.  JWT access tokens still require <tt>client_id</tt> per <xref target="RFC9068"/>.</t>
            </li>
            <li>
              <t>On a Token Exchange request, the AS <bcp14>MUST</bcp14> issue the token for every requested <tt>audience</tt> and <tt>resource</tt> or reject the request with <tt>invalid_target</tt> (<xref section="2.2.2" sectionFormat="of" target="RFC8693"/>), unless the requested token type's specification permits a subset, as <xref section="4.3.3" sectionFormat="of" target="I-D.ietf-oauth-identity-assertion-authz-grant"/> does for an ID-JAG's resources.  On other grants, resource indicators follow <xref section="2.2" sectionFormat="of" target="RFC8707"/>.</t>
            </li>
          </ol>
        </section>
      </section>
    </section>
    <section anchor="transaction-token-service">
      <name>Transaction Token Service Processing</name>
      <section anchor="transaction-tokens">
        <name>Transaction Tokens</name>
        <t>Transaction Tokens <xref target="I-D.ietf-oauth-transaction-tokens"/> are short-lived JWTs that capture the workload identity and request context for a series of related service calls within a single business transaction. A TTS, which is a specialized authorization server, issues them.</t>
        <t>Transaction Token claims are defined in <xref target="I-D.ietf-oauth-transaction-tokens"/>.  This profile modifies or adds the following claims:</t>
        <dl>
          <dt><tt>iss</tt> (<bcp14>OPTIONAL</bcp14> in <xref target="I-D.ietf-oauth-transaction-tokens"/>; <bcp14>REQUIRED</bcp14> by this profile when the token carries <tt>act</tt>):</dt>
          <dd>
            <t>Identifies the Transaction Token issuer.  It <bcp14>MUST</bcp14> be present when the token carries <tt>act</tt>.  It <bcp14>MAY</bcp14> be omitted only when the token carries no <tt>act</tt> and all recipients know the issuer out of band.  In that case, recipients <bcp14>MUST</bcp14> identify the issuer using <xref target="I-D.ietf-oauth-transaction-tokens"/> and local configuration.</t>
          </dd>
          <dt><tt>req_wl</tt>:</dt>
          <dd>
            <t>This claim provides TTS-level workload context and is not a substitute for <tt>act.sub</tt>; see <xref target="actor-claim-in-transaction-tokens">Actor Claim in Transaction Tokens</xref>.</t>
          </dd>
          <dt><tt>act</tt> (<bcp14>REQUIRED</bcp14> when the token represents delegation per <xref target="delegation-chains">Delegation Chains</xref>; omitted otherwise):</dt>
          <dd>
            <t>Represents the current acting party and any prior delegation steps, and conforms to <xref target="actor-object-structure">Actor Object Structure</xref>.  See <xref target="actor-claim-in-transaction-tokens">Actor Claim in Transaction Tokens</xref> for delegation semantics and the relationship between <tt>act.sub</tt> and <tt>req_wl</tt>.</t>
          </dd>
        </dl>
        <section anchor="actor-claim-in-transaction-tokens">
          <name>Actor Claim in Transaction Tokens</name>
          <t>Under this profile, a Transaction Token represents delegation when a condition in <xref target="delegation-chains">Delegation Chains</xref> holds, that is, when an <tt>actor_token</tt> or an inbound <tt>act</tt> chain establishes that the workload acts for <tt>sub</tt>.  When no such condition holds, including when a workload acts under its own grant without any delegation basis, the token omits <tt>act</tt>.  The TTS <bcp14>MUST NOT</bcp14> infer delegation solely because <tt>sub</tt> and <tt>req_wl</tt> differ.</t>
          <t>The <tt>req_wl</tt> claim identifies the workload that requested the token from the TTS.  The <tt>act.sub</tt> claim identifies the immediate acting party in the subject identifier namespace used by this profile.  The outermost <tt>act.sub</tt> is the authoritative actor identifier for authorization decisions under this document; <tt>req_wl</tt> is supporting workload context.</t>
          <t>Claim semantics under this profile:</t>
          <ul spacing="normal">
            <li>
              <t><tt>sub</tt>: identifies the original initiator.  A replacement Transaction Token keeps <tt>sub</tt> unchanged (<xref section="13.15" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>).</t>
            </li>
            <li>
              <t><tt>act.sub</tt> (outermost): identifies the immediate acting party.  When a TTS sets both <tt>req_wl</tt> and the new outermost <tt>act.sub</tt> in a single token issuance (presenter-rebind mode), it <bcp14>MUST</bcp14> ensure that they identify the same entity under local policy.  In presenter-continuation mode, <tt>req_wl</tt> identifies the requesting workload (<xref section="9.2" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>), which step 5 of <xref target="transaction-token-output-rules">Transaction Token Output Rules</xref> requires to correspond to the outermost actor.  A recipient that relies on both to identify the current presenter requires them to identify the same entity and therefore rejects the token when it cannot reconcile them (<xref target="conventions">Conventions and Definitions</xref>).</t>
            </li>
            <li>
              <t>Inner <tt>act</tt> objects: identify prior presenters in the delegation path.  At each level, <tt>act.sub_profile</tt> classifies the entity type of that presenter.</t>
            </li>
          </ul>
          <t>The following example shows a Transaction Token after two hops:</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://tts.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "sub_profile": "user",
  "scope": "inventory:check",
  "req_wl": "https://tools.travel-provider.example/booking-tool",
  "aud": "https://api.travel-provider.example",
  "txn": "550e8400-e29b-41d4-a716-446655440000",
  "exp": 1711816900,
  "iat": 1711816800,
  "tctx": {
    "action": "check-availability"
  },
  "rctx": {
    "req_ip": "203.0.113.42"
  },
  "cnf": {
    "jkt": "0ZcOCORZNYy9ZhHiZN..."
  },
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service",
    "act": {
      "sub": "https://agents.enterprise.example/travel-assistant",
      "iss": "https://as.enterprise.example",
      "sub_profile": "ai_agent"
    }
  }
}
]]></sourcecode>
          <t>The booking tool is the current presenter, identified by <tt>req_wl</tt> and the outermost <tt>act.sub</tt> and bound to the top-level <tt>cnf.jkt</tt>.  The inner actor records the travel assistant's prior participation.</t>
        </section>
      </section>
      <section anchor="presenter-authentication-and-transition">
        <name>Presenter Authentication and Transition</name>
        <t>For a delegated request, the TTS applies the same two presenter-transition modes defined in <xref target="token-exchange-presenter-model">Presenter Transition Model</xref>, but only for token-state <tt>subject_token</tt> inputs; that section also governs a request that is not delegated:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Presenter continuation</strong>: the authenticated requester is the same current presenter as the inbound token.  When the inbound token carries a top-level presenter binding, the TTS validates proof for that binding under the applicable deployment profile, because <xref target="I-D.ietf-oauth-transaction-tokens"/> defines no presenter-proof mechanism; a bearer inbound token yields a bearer Transaction Token, as in <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>.  In this mode, the TTS preserves the inbound <tt>act</tt> chain unchanged and <bcp14>MUST NOT</bcp14> add a new outermost <tt>act</tt>.</t>
          </li>
          <li>
            <t><strong>Presenter rebind</strong>: a validated <tt>actor_token</tt> that is a direct presenter credential establishes the current presenter for the issued Transaction Token.  In this mode, the TTS creates a new outermost <tt>act</tt> for that presenter and nests any inbound <tt>act</tt> chain beneath it.</t>
          </li>
        </ul>
        <t>Through presenter rebind with a validated <tt>actor_token</tt>, the TTS can upgrade a bearer input to a sender-constrained Transaction Token, as in <xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>.</t>
      </section>
      <section anchor="supported-subject-tokens">
        <name>Supported Subject Tokens</name>
        <t>This profile defines TTS processing for whichever of the following inputs a TTS supports: JWT assertion grants, JWT access tokens, and Transaction Tokens.  This document does not define TTS processing of ID Tokens or refresh tokens.</t>
        <t>For each accepted input, the TTS <bcp14>MUST</bcp14> apply the rules listed for it in the referenced sections:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Input</th>
              <th align="left">Rules applied</th>
              <th align="left">Section</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">JWT assertion grant</td>
              <td align="left">Validation and presenter continuity</td>
              <td align="left">
                <xref target="token-exchange-input-processing">Input Processing</xref>; <xref target="jwt-assertion-grant-as-subject-token">JWT Assertion Grant as subject_token</xref></td>
            </tr>
            <tr>
              <td align="left">JWT access token</td>
              <td align="left">Validation and extraction</td>
              <td align="left">
                <xref target="token-exchange-input-processing">Input Processing</xref>; <xref target="jwt-access-token-as-subject-token">JWT Access Token as subject_token</xref></td>
            </tr>
            <tr>
              <td align="left">Transaction Token</td>
              <td align="left">Validation and extraction</td>
              <td align="left">
                <xref target="token-exchange-input-processing">Input Processing</xref>; <xref target="txn-token-as-subject-token">Transaction Token as subject_token</xref></td>
            </tr>
          </tbody>
        </table>
        <t>The resulting state (subject, classification, chain, and binding) is input to <xref target="transaction-token-output-rules">Transaction Token Output Rules</xref> instead of to JWT access token issuance.  For an inbound Transaction Token, the TTS maintains the call chain of requesting workloads as <xref section="13.15" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/> requires, and the issued token's <tt>req_wl</tt> identifies the workload that requested it (<xref section="9.2" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>).  The <tt>scope</tt> claim of a Transaction Token can use a different vocabulary from that of the inbound token (<xref section="9.2" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>), so the literal scope-subset rules of <xref target="token-exchange-input-processing">Input Processing</xref> step 5 do not apply.  The TTS still ensures that the requested scope does not exceed the authority of the <tt>subject_token</tt> (<xref section="13.6" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>) and rejects the request with <tt>invalid_scope</tt> when that authority cannot be determined (<xref section="13.14" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>).  A replacement Transaction Token cannot expand the scope of permitted actions (<xref section="13.15" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>).</t>
      </section>
      <section anchor="transaction-token-output-rules">
        <name>Transaction Token Output Rules</name>
        <t>The TTS applies <xref target="delegation-chain-algorithm">Delegation Chain Validation and Construction</xref> and <xref target="jwt-access-token-propagation">JWT Access Token Output</xref>, except its JWT access token structure requirement and its step 6, with the Transaction Token adaptations below.  Transaction Token scope follows <xref target="supported-subject-tokens">Supported Subject Tokens</xref>.</t>
        <t>When a TTS receives a Token Exchange request to issue or refresh a Transaction Token from an inbound JWT assertion grant, JWT access token, or Transaction Token, it <bcp14>MUST</bcp14> apply the following rules; steps 3 through 6 apply only when the request is delegated (<xref target="token-exchange-presenter-model">Presenter Transition Model</xref>), including when an <tt>actor_token</tt> establishes delegation for an inbound token without <tt>act</tt>:</t>
        <ol spacing="normal" type="1"><li>
            <t>The TTS preserves <tt>sub</tt> from the inbound token, as step 2 of <xref target="jwt-access-token-propagation">JWT Access Token Output</xref> requires.  </t>
            <ul spacing="normal">
              <li>
                <t>For an inbound JWT access token or JWT assertion grant, the TTS can re-express <tt>sub</tt> in a different identifier namespace only when a trusted local mapping establishes that both identifiers refer to the same underlying subject (for example, when crossing trust-domain boundaries in a federation scenario).  For an inbound Transaction Token, the replacement token keeps <tt>sub</tt> unchanged (<xref section="13.15" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>The <tt>req_wl</tt> claim and any Transaction Token claims other than actor-profile claims remain governed by <xref target="I-D.ietf-oauth-transaction-tokens"/> and local policy.  Under this profile, <tt>req_wl</tt> is supporting workload context and <bcp14>MUST NOT</bcp14> be treated as a substitute for the outermost <tt>act.sub</tt>.</t>
          </li>
          <li>
            <t>The TTS applies <xref target="enforce-depth-limit">Enforce Depth Limit</xref> to the <tt>act</tt> chain that results from step 6.</t>
          </li>
          <li>
            <t>The TTS validates the inbound token and establishes issuer trust (<xref target="validate-carrier-token">Validate Carrier Token</xref>) before preserving or extending any <tt>act</tt> chain.  For the outermost <tt>act</tt> object in the inbound chain, the TTS applies <xref target="validate-outermost-actor">Validate Outermost Actor</xref>, treating presenter rebind as extending the chain and presenter continuation as preserving it.  </t>
            <t>
For inner <tt>act</tt> objects in the inbound chain, <xref target="carry-prior-actor-context">Carry Prior-Actor Context</xref> applies.</t>
          </li>
          <li>
            <t>The TTS <bcp14>MUST</bcp14> determine whether the request is presenter continuation or presenter rebind:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Presenter continuation</strong>: The TTS <bcp14>MUST</bcp14> authenticate the requester as the same current presenter as the inbound token.  When the inbound token carries <tt>act</tt>, the authenticated requester <bcp14>MUST</bcp14> correspond to the outermost (<tt>act.iss</tt>, <tt>act.sub</tt>) pair, or the TTS <bcp14>MUST</bcp14> reject the request with the <tt>invalid_request</tt> error code.  If local policy prohibits the preserved actor relationship, the TTS <bcp14>MUST</bcp14> reject the request with <tt>actor_unauthorized</tt>.</t>
              </li>
              <li>
                <t><strong>Presenter rebind</strong>: The TTS <bcp14>MUST</bcp14> validate a direct presenter <tt>actor_token</tt> for the new presenter under <xref target="actor-tokens">Actor Tokens</xref>.  Before creating a new outermost <tt>act</tt> object, the TTS <bcp14>MUST</bcp14> evaluate whether the newly authenticated presenter is authorized under local policy to act on behalf of <tt>sub</tt> for the requested transaction.  If the required actor relationship is prohibited by local policy, absent, or cannot be confirmed from the current inputs and policy, the TTS <bcp14>MUST</bcp14> reject the request with <tt>actor_unauthorized</tt>.</t>
              </li>
            </ul>
            <t>
If the current inputs satisfy neither the presenter-continuation nor the presenter-rebind requirements, the TTS <bcp14>MUST</bcp14> reject the request with the <tt>invalid_request</tt> error code.</t>
          </li>
          <li>
            <t>When the issued Transaction Token carries delegated actor information, it includes the top-level <tt>iss</tt> claim required by <xref target="transaction-tokens">Transaction Tokens</xref>, identifying the TTS as its issuer, and the TTS <bcp14>MUST</bcp14> construct the <tt>act</tt> claim using <xref target="delegation-chain-algorithm">Delegation Chain Validation and Construction</xref>.  In summary:  </t>
            <ul spacing="normal">
              <li>
                <t>in presenter-continuation mode, preserve the inbound chain unchanged (<xref target="preserve-inbound-chain">Preserve Inbound Chain</xref>);</t>
              </li>
              <li>
                <t>in presenter-rebind mode, create a new outermost <tt>act</tt> object for the new presenter and nest any inbound chain beneath it (<xref target="extend-chain-with-new-actor">Extend Chain with New Actor</xref>).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>When the issued Transaction Token includes a top-level presenter-binding claim such as <tt>cnf</tt>, that binding applies to the current presenter.  Requester authentication follows <xref section="11.5" sectionFormat="of" target="I-D.ietf-oauth-transaction-tokens"/>; the applicable deployment profile, not this document, defines the proof mechanism for that binding, because <xref target="I-D.ietf-oauth-transaction-tokens"/> defines none.</t>
          </li>
        </ol>
        <t>This document does not define TTS-specific <tt>may_act</tt> processing.  A deployment <bcp14>MAY</bcp14> use it as an authorization hint under local policy or another specification, but it <bcp14>MUST NOT</bcp14> replace credential validation, presenter authentication, or the rules in this document that govern whether a new outermost <tt>act</tt> is created.</t>
      </section>
    </section>
    <section anchor="resource-server-processing">
      <name>Resource Server Processing</name>
      <section anchor="actor-authorization">
        <name>Actor Authorization</name>
        <t>When a token contains both a <tt>sub</tt> claim and an <tt>act</tt> claim, a resource server has two independent principals available for authorization policy:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Subject principal</strong> (<tt>sub</tt>): the party whose authorization is being exercised.  This principal typically has a relationship with the resource (e.g., an account, a role, or a permission).</t>
          </li>
          <li>
            <t><strong>Actor principal</strong> (<tt>act.sub</tt>): the party making the immediate request.  This principal can differ from the subject in organizational domain and trust level.  Wherever this document pairs <tt>sub</tt> with the outermost <tt>act.sub</tt> for authorization policy, the outermost actor is identified by its (<tt>act.iss</tt>, <tt>act.sub</tt>) pair (<xref target="actor-object-structure">Actor Object Structure</xref>).</t>
          </li>
        </ul>
        <t>For Transaction Tokens, the primary policy pair remains (<tt>sub</tt>, <tt>act.sub</tt>).  The <tt>req_wl</tt> claim provides workload context from the TTS and is not a substitute for <tt>act.sub</tt>.</t>
        <t>Under this profile, actor authorization is conditional.  When an RS accepts a token as satisfying a delegated-access requirement, it <bcp14>MUST NOT</bcp14> ignore the <tt>act</tt> claim and authorize the request solely as if the token were non-delegated.  Whether or not it requires actor authorization, the RS <bcp14>SHOULD</bcp14> evaluate the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair according to local policy for authorization, audit, or trust decisions.  For security-sensitive delegated access, the RS <bcp14>SHOULD</bcp14> enforce authorization of the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair on every request.  Resource servers that receive delegated tokens should define and document their actor authorization policy.  The following steps describe one approach for resource servers that choose to enforce actor authorization policy:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Advertise delegated-token requirements</strong>: An RS that wants to signal that delegated requests are expected to carry actor-profile information <bcp14>SHOULD</bcp14> set <tt>actor_profile_required: true</tt> (<xref target="protected-resource-metadata">Protected Resource Metadata</xref>).  An RS <bcp14>MAY</bcp14> still apply actor authorization without advertising it, but clients cannot rely on that behavior.</t>
          </li>
          <li>
            <t><strong>Evaluate subject authorization</strong>: Determine whether <tt>sub</tt> has been granted the requested scope or permission, using the same mechanisms applied to non-delegated tokens.</t>
          </li>
          <li>
            <t><strong>Evaluate actor authorization</strong>: Determine whether the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair is permitted for the requested operation.  This evaluation <bcp14>MAY</bcp14> be performed against:  </t>
            <ul spacing="normal">
              <li>
                <t>a registered delegation policy for the (subject, actor) pair,</t>
              </li>
              <li>
                <t>the actor's <tt>sub_profile</tt> (e.g., only AI agents from a trusted domain are permitted to act as delegatees),</t>
              </li>
              <li>
                <t>the token's <tt>scope</tt> claim.</t>
              </li>
            </ul>
            <t>
For Transaction Tokens, the RS <bcp14>SHOULD</bcp14> evaluate <tt>req_wl</tt> as supporting context.</t>
          </li>
          <li>
            <t><strong>Evaluate combined policy</strong>: Apply resource-specific actor authorization policies (e.g., requiring both principals to have agreed to terms of service).</t>
          </li>
          <li>
            <t>If the RS requires actor authorization but cannot complete it, it <bcp14>MUST</bcp14> reject the request.</t>
          </li>
        </ol>
        <t>Nested actors are not inputs to actor authorization (<xref section="4.1" sectionFormat="of" target="RFC8693"/>).</t>
      </section>
      <section anchor="jwt-access-token-rs-processing">
        <name>JWT Access Token Processing</name>
        <t>On a request path where delegated-token processing may apply, an RS <bcp14>MUST</bcp14> validate and process JWT access tokens according to its delegated-token policy.  A conforming <tt>act</tt> claim identifies a delegated token; the RS <bcp14>MUST NOT</bcp14> infer delegation from <tt>client_id</tt>, <tt>azp</tt>, or other client-identity claims alone.  <xref target="protected-resource-metadata">Protected Resource Metadata</xref> advertises delegated-token expectations; enforcement remains the responsibility of the RS.</t>
        <t>When the resource server evaluates a JWT access token as a delegated token under local policy, it <bcp14>MUST</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Validate the <tt>typ</tt> header, signature, <tt>iss</tt>, <tt>aud</tt>, and <tt>exp</tt> per <xref target="RFC9068"/> and other temporal claims per <xref target="RFC7519"/>, and reject a token whose visible <tt>act</tt> chain exceeds the configured maximum depth (<xref target="delegation-chains">Delegation Chains</xref>).  If the request path requires actor-profile conformance, including through <tt>actor_profile_required: true</tt>:  </t>
            <ul spacing="normal">
              <li>
                <t>A token evaluated as delegated <bcp14>MUST</bcp14> carry <tt>act</tt>, and every actor object in the visible <tt>act</tt> chain <bcp14>MUST</bcp14> include <tt>iss</tt>.  Otherwise, reject the token with HTTP 401 and <tt>error="invalid_token"</tt>.  This is structural validation, not independent authentication of historical actors.</t>
              </li>
              <li>
                <t>Non-delegated tokens need not carry <tt>act</tt>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>If the token carries a top-level <tt>cnf.jkt</tt>, validate the accompanying DPoP proof per <xref section="7" sectionFormat="of" target="RFC9449"/>.  If the token carries a top-level <tt>cnf.x5t#S256</tt>, validate the client certificate of the mutual-TLS connection against it per <xref section="3" sectionFormat="of" target="RFC8705"/>.  If a DPoP proof is present but the token carries neither <tt>cnf.jkt</tt> nor <tt>cnf.x5t#S256</tt>, the RS <bcp14>MUST</bcp14> treat the token as a bearer token; the RS <bcp14>MUST NOT</bcp14> infer a confirmation binding from the DPoP proof key.</t>
          </li>
          <li>
            <t>Extract <tt>sub</tt> and the outermost <tt>act.sub</tt> as the two principals relevant for authorization policy.</t>
          </li>
          <li>
            <t>If the token carries <tt>client_id</tt>, <tt>azp</tt>, or both, treat them as client-identity inputs only.  The actor identifier is then <tt>act.sub</tt>, not <tt>client_id</tt> or <tt>azp</tt>.  When local policy expects both to identify the same acting party, the RS <bcp14>SHOULD</bcp14> perform identifier reconciliation; if reconciliation cannot be established, the RS treats them as distinct and rejects the request when its authorization decision requires them to identify the same party, as defined for Identifier Reconciliation in <xref target="conventions">Conventions and Definitions</xref>.  See <xref target="client-identity-delegation">Client Identity and Delegation</xref>.</t>
          </li>
          <li>
            <t>Apply actor authorization per <xref target="actor-authorization">Actor Authorization</xref> when required by local policy or when the token is accepted as satisfying a delegated-access requirement for the request path.</t>
          </li>
          <li>
            <t>The RS <bcp14>MAY</bcp14> traverse inner <tt>act</tt> objects for audit.  They are not inputs to access-control decisions (<xref section="4.1" sectionFormat="of" target="RFC8693"/>).</t>
          </li>
          <li>
            <t>If any of the above steps fail, return an appropriate error response.  The HTTP authentication scheme used in the <tt>WWW-Authenticate</tt> challenge follows the token's binding mechanism: <tt>Bearer</tt> per <xref section="3.1" sectionFormat="of" target="RFC6750"/> for bearer or mTLS-bound (<xref target="RFC8705"/>) tokens, or <tt>DPoP</tt> per <xref section="7.1" sectionFormat="of" target="RFC9449"/> for DPoP-bound tokens.  </t>
            <ul spacing="normal">
              <li>
                <t>If signature, <tt>iss</tt>, <tt>aud</tt>, temporal, or depth validation fails: HTTP 401 with <tt>error="invalid_token"</tt>.</t>
              </li>
              <li>
                <t>If identifier reconciliation that the authorization decision requires fails (step 4): HTTP 403 with <tt>error="actor_unauthorized"</tt>.</t>
              </li>
              <li>
                <t>If DPoP proof validation for <tt>cnf.jkt</tt> fails: HTTP 401 per <xref section="7" sectionFormat="of" target="RFC9449"/>.</t>
              </li>
              <li>
                <t>If the client certificate does not match <tt>cnf.x5t#S256</tt>: HTTP 401 with <tt>error="invalid_token"</tt>, per <xref section="3" sectionFormat="of" target="RFC8705"/>.</t>
              </li>
              <li>
                <t>If actor authorization required by local policy fails for a structurally valid token: HTTP 403 with <tt>error="actor_unauthorized"</tt>, registered in <xref target="iana-error-codes">OAuth Error Registry</xref>.  The RS <bcp14>MUST NOT</bcp14> use the <tt>insufficient_scope</tt> error code for this failure, because requesting broader scope does not resolve an actor-policy denial.</t>
              </li>
              <li>
                <t>The RS <bcp14>MUST NOT</bcp14> expose actor-specific rejection details outside the trust domain.</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="txn-token-rs-processing">
        <name>Transaction Token Processing</name>
        <t>Upon receiving a Transaction Token on a request path where delegated-token processing may apply, a resource server <bcp14>MUST</bcp14> validate and process that token according to <xref target="I-D.ietf-oauth-transaction-tokens"/>, any applicable deployment profile, and the actor-profile rules in this document.</t>
        <t>When the resource server evaluates a Transaction Token as a delegated token under local policy, it <bcp14>MUST</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Validate the signature, audience, temporal claims, and issuer under <xref target="I-D.ietf-oauth-transaction-tokens"/> and the deployment profile:  </t>
            <ul spacing="normal">
              <li>
                <t>If the token carries <tt>act</tt>, the top-level <tt>iss</tt> claim <bcp14>MUST</bcp14> be present, and the RS <bcp14>MUST</bcp14> validate it as the token issuer.</t>
              </li>
              <li>
                <t>If the token carries neither <tt>act</tt> nor <tt>iss</tt>, the RS <bcp14>MUST</bcp14> determine the issuer through the Transaction Token trust-domain rules and local configuration.</t>
              </li>
              <li>
                <t>A token whose visible <tt>act</tt> chain exceeds the configured maximum depth (<xref target="delegation-chains">Delegation Chains</xref>) fails validation.</t>
              </li>
              <li>
                <t>If the request path requires actor-profile conformance, including through <tt>actor_profile_required: true</tt>, a token evaluated as delegated <bcp14>MUST</bcp14> carry <tt>act</tt>, and every actor object in the visible <tt>act</tt> chain <bcp14>MUST</bcp14> include <tt>iss</tt>.  If either is missing, reject the request.  This is structural validation, not independent authentication of historical actors.  Non-delegated tokens need not carry <tt>act</tt>.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>When the token carries a top-level presenter-binding claim such as <tt>cnf</tt>, validate the accompanying proof according to the applicable deployment profile, because <xref target="I-D.ietf-oauth-transaction-tokens"/> defines no presenter-proof mechanism.  The top-level presenter binding applies only to the current presenter.</t>
          </li>
          <li>
            <t>Extract <tt>sub</tt> and the outermost <tt>act.sub</tt> as the two principals relevant for authorization policy.  If <tt>req_wl</tt> is present, treat it as supporting workload context only.  The RS <bcp14>MUST NOT</bcp14> treat <tt>req_wl</tt> as a substitute for <tt>act.sub</tt>.  When local policy expects <tt>req_wl</tt> and the outermost <tt>act.sub</tt> to identify the same party, the RS <bcp14>SHOULD</bcp14> perform identifier reconciliation; if reconciliation cannot be established, the RS treats them as distinct and rejects the request when its authorization decision requires them to identify the same party, such as when it relies on both to identify the current presenter (<xref target="actor-claim-in-transaction-tokens">Actor Claim in Transaction Tokens</xref>).</t>
          </li>
          <li>
            <t>Apply actor authorization per <xref target="actor-authorization">Actor Authorization</xref> when required by local policy or when the token is accepted as satisfying a delegated-access requirement for the request path.</t>
          </li>
          <li>
            <t>Optionally traverse inner <tt>act</tt> objects to audit the full delegation chain.  They are not inputs to access-control decisions (<xref section="4.1" sectionFormat="of" target="RFC8693"/>) and have the trust properties in <xref target="carry-prior-actor-context">Carry Prior-Actor Context</xref>.</t>
          </li>
          <li>
            <t>If any of the above steps fail, the RS <bcp14>MUST</bcp14> reject the request through the deployment's Transaction Token handling, because <xref target="I-D.ietf-oauth-transaction-tokens"/> defines no error response.  Validation or presenter-proof failures are token-validation failures; failures of actor authorization required by local policy are authorization failures.  The RS <bcp14>MUST NOT</bcp14> include actor-specific rejection details in error responses exposed outside the trust domain.</t>
          </li>
        </ol>
      </section>
      <section anchor="token-introspection">
        <name>Token Introspection</name>
        <t>When token introspection (<xref target="RFC7662"/>) is used for delegated tokens, an AS <bcp14>MUST</bcp14> expose actor-profile information needed for equivalent RS processing.  For an active delegated token whose authorization context includes actor-profile claims, the introspection response <bcp14>MUST</bcp14> include:</t>
        <ul spacing="normal">
          <li>
            <t><tt>active</tt>: <tt>true</tt>, per <xref section="2.2" sectionFormat="of" target="RFC7662"/>.</t>
          </li>
          <li>
            <t><tt>sub</tt>: <bcp14>REQUIRED</bcp14>.  The subject of the delegated token, as defined in <xref target="RFC7662"/>.</t>
          </li>
          <li>
            <t><tt>act</tt>: <bcp14>REQUIRED</bcp14>.  The actor object conforming to <xref target="actor-object-structure">Actor Object Structure</xref>, including <tt>act.sub</tt>, <tt>act.iss</tt>, and any nested <tt>act</tt> chain, structured identically to the JWT form defined in this document.</t>
          </li>
          <li>
            <t><tt>sub_profile</tt>: <bcp14>REQUIRED</bcp14> when the token's authorization context includes a top-level <tt>sub_profile</tt>; otherwise <bcp14>SHOULD</bcp14> be included when the AS can authoritatively classify the subject entity type.</t>
          </li>
          <li>
            <t><tt>scope</tt>: <bcp14>REQUIRED</bcp14>.  The effective scope of the token.</t>
          </li>
          <li>
            <t><tt>iss</tt>: <bcp14>REQUIRED</bcp14> when the AS has a stable issuer identifier.</t>
          </li>
          <li>
            <t><tt>chain_complete</tt>: <bcp14>OPTIONAL</bcp14>.  When absent, the RS <bcp14>SHOULD</bcp14> treat the chain as complete unless local policy or deployment context indicates otherwise.</t>
          </li>
        </ul>
        <t>The AS <bcp14>MUST</bcp14> return actor claims from the token's authorization context, including the complete nested chain, except for the following privacy-filtering allowance.</t>
        <t>If local privacy policy requires omitting inner actors, the AS <bcp14>MAY</bcp14> filter them but <bcp14>MUST</bcp14> include <tt>"chain_complete": false</tt>.</t>
        <t>When <tt>chain_complete</tt> is <tt>false</tt>, the subject and the outermost actor remain available for authorization, and the RS records the incompleteness in any audit of the chain.</t>
        <t>The RS <bcp14>MUST NOT</bcp14> treat a partial chain as complete delegation history.  Companion profiles with data aligned to <tt>act</tt> define their filtering behavior as required by <xref target="companion-profile-extensibility">Companion Profiles and Extension Points</xref>.</t>
        <t>When an AS supports delegated opaque access tokens through introspection, it <bcp14>MUST</bcp14> return the members listed above for active delegated tokens.  Support for this compatibility path <bcp14>MUST NOT</bcp14> be inferred solely from <tt>actor_profile_required</tt> metadata; see <xref target="profile-scope">Profile Scope</xref>.</t>
        <t>An introspecting RS <bcp14>MUST</bcp14> apply the same delegated-token processing as for equivalent locally validated JWT claims, including actor authorization when required by local policy.</t>
        <t>If policy or token context indicates delegation, a missing <tt>act</tt> member is an inconsistency, and the RS <bcp14>MUST</bcp14> reject the token with HTTP 401 and <tt>error="invalid_token"</tt>; <tt>actor_profile_required</tt> alone does not indicate delegation.  Otherwise, the RS <bcp14>MAY</bcp14> treat an active response without <tt>act</tt> as non-delegated.</t>
        <t>Introspection endpoints for delegated tokens <bcp14>SHOULD</bcp14> be advertised using the <tt>introspection_endpoint</tt> parameter in AS metadata (<xref target="RFC8414"/>).  When revocation is integrated, the introspection response for a revoked delegated token returns <tt>"active": false</tt> per <xref section="2.2" sectionFormat="of" target="RFC7662"/> and <bcp14>MUST NOT</bcp14> include the <tt>act</tt> or <tt>sub_profile</tt> members.</t>
        <t>Resource servers that cache introspection responses for delegated tokens should use short cache lifetimes consistent with revocation requirements.</t>
      </section>
    </section>
    <section anchor="actor-profile-error-responses">
      <name>Error Responses</name>
      <t>When an AS or TTS rejects a request for reasons related to actor-profile processing, it <bcp14>MUST</bcp14> use the error mappings in this section and construct the response per <xref section="5.2" sectionFormat="of" target="RFC6749"/>.</t>
      <t>Input-validation errors depend on the request's grant type.  On Token Exchange requests, including TTS requests, an invalid or policy-unacceptable <tt>subject_token</tt> or <tt>actor_token</tt> uses the <tt>invalid_request</tt> error code (<xref section="2.2.2" sectionFormat="of" target="RFC8693"/>).  On JWT bearer grant requests, an invalid assertion uses the <tt>invalid_grant</tt> error code (<xref section="3.1" sectionFormat="of" target="RFC7523"/>).  This distinction also applies to missing required claims, invalid actor structure, and excessive inbound chain depth.</t>
      <t>Client-authentication and proof-mechanism errors take precedence over these generic input-validation errors.  Failed client authentication uses the <tt>invalid_client</tt> error code per <xref target="RFC6749"/> or <xref target="RFC7523"/>.  A supplied invalid DPoP proof uses the <tt>invalid_dpop_proof</tt> error code; a nonce challenge uses the <tt>use_dpop_nonce</tt> error code, per Sections <xref target="RFC9449" section="5" sectionFormat="bare"/> and <xref target="RFC9449" section="8" sectionFormat="bare"/> of <xref target="RFC9449"/>.  A missing required grant proof is an input-validation failure and uses the grant-type-specific error above.  Actor-authorization denials use the <tt>actor_unauthorized</tt> error code, an extension error permitted by <xref section="2.2.2" sectionFormat="of" target="RFC8693"/>.</t>
      <t>The following error codes apply to both AS and TTS endpoints:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Error</th>
            <th align="left">Condition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>invalid_request</tt></td>
            <td align="left">Malformed request, missing required request parameter, or an actor addition that would exceed the depth limit; on a Token Exchange request, also input-validation failures</td>
          </tr>
          <tr>
            <td align="left">
              <tt>invalid_grant</tt></td>
            <td align="left">On a JWT bearer grant request: input-validation failures, including an invalid assertion, untrusted issuer, or failed grant binding</td>
          </tr>
          <tr>
            <td align="left">
              <tt>invalid_scope</tt></td>
            <td align="left">No effective scope remains for reasons other than categorical actor denial, or a Transaction Token's scope authority cannot be determined</td>
          </tr>
          <tr>
            <td align="left">
              <tt>actor_unauthorized</tt></td>
            <td align="left">Actor policy prohibits the request, rejects the actor type, or cannot confirm the required delegation relationship</td>
          </tr>
        </tbody>
      </table>
      <t>Missing required claims include <tt>act.sub</tt>, <tt>act.iss</tt>, the binding claim of a sender-constrained JWT assertion grant, and the top-level <tt>iss</tt> claim on a delegated Transaction Token.  TTS failures to preserve the subject or to trust inbound actor identifiers use the <tt>invalid_request</tt> error code.</t>
      <t>The <tt>error_description</tt> parameter <bcp14>SHOULD</bcp14> be included and <bcp14>SHOULD</bcp14> describe which aspect of actor-profile processing failed, to the extent permitted by the server's security and privacy policy.</t>
      <t>For a token-endpoint <tt>actor_unauthorized</tt> response, the client <bcp14>SHOULD</bcp14> check <tt>entity_profiles_supported.actor</tt> and any <tt>error_description</tt>.  A different actor credential or grant might resolve the failure; local-policy prohibitions might have no remediation.  After an RS returns this error, the client <bcp14>SHOULD</bcp14> obtain a token through a different actor credential or grant path.</t>
      <t>The following is an example of an <tt>actor_unauthorized</tt> error response:</t>
      <sourcecode type="json"><![CDATA[
{
  "error": "actor_unauthorized",
  "error_description": "Actor type not accepted for this scope"
}
]]></sourcecode>
    </section>
    <section anchor="metadata-and-discovery">
      <name>Metadata and Discovery</name>
      <t>Authorization servers and resource servers advertise support for this profile using the following parameters:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Parameter</th>
            <th align="left">Metadata</th>
            <th align="left">Capability</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>authorization_grant_profiles_supported</tt></td>
            <td align="left">Authorization server</td>
            <td align="left">JWT authorization-grant profiles</td>
          </tr>
          <tr>
            <td align="left">
              <tt>actor_profile_token_exchange</tt></td>
            <td align="left">Authorization server</td>
            <td align="left">Token Exchange input and output types</td>
          </tr>
          <tr>
            <td align="left">
              <tt>entity_profiles_supported.actor</tt></td>
            <td align="left">Authorization server</td>
            <td align="left">Accepted actor entity types</td>
          </tr>
          <tr>
            <td align="left">
              <tt>actor_profile_required</tt></td>
            <td align="left">Protected resource</td>
            <td align="left">Resource requirements for delegated requests</td>
          </tr>
        </tbody>
      </table>
      <t><xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> defines <tt>authorization_grant_profiles_supported</tt>, and <xref target="I-D.mora-oauth-entity-profiles"/> defines <tt>entity_profiles_supported.actor</tt>.  This document defines the remaining two parameters in <xref target="authorization-server-metadata">Authorization Server Metadata</xref> and <xref target="protected-resource-metadata">Protected Resource Metadata</xref>.</t>
      <t>These signals do not guarantee acceptance of a particular request or every combination of advertised capabilities.  Additional constraints are communicated through deployment documentation or agreements.</t>
      <section anchor="authorization-server-metadata">
        <name>Authorization Server Metadata</name>
        <t>This profile uses the following parameters in the AS metadata document (<xref target="RFC8414"/>):</t>
        <dl>
          <dt><tt>authorization_grant_profiles_supported</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON array defined by <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>.  An AS that processes JWT authorization grants carrying actor-profile claims <bcp14>SHOULD</bcp14> include <tt>urn:ietf:params:oauth:grant-profile:actor-profile</tt>.  Including this value advertises the processing rules for all JWT authorization-grant paths defined in this document.  An AS advertising this value <bcp14>MUST</bcp14> also list <tt>urn:ietf:params:oauth:grant-type:jwt-bearer</tt> in <tt>grant_types_supported</tt>.</t>
          </dd>
          <dt><tt>actor_profile_token_exchange</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A JSON object advertising coarse Token Exchange capabilities for requests in which actor-profile processing can apply.  When this parameter is absent, the AS makes no claim about Token Exchange support under this profile.  This document defines the following members:
</t>
            <ul spacing="normal">
              <li>
                <t><tt>subject_token_types_supported</tt>: <bcp14>OPTIONAL</bcp14>.  A JSON array of token-type URI strings indicating the <tt>subject_token_type</tt> values the AS accepts for Token Exchange requests in which actor-profile processing can apply.  Values defined by this document are:      </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:jwt</tt>: JWT assertion grants (<xref target="jwt-assertion-grants">JWT Assertion Grants</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:access_token</tt>: JWT access tokens (<xref target="jwt-access-tokens">JWT Access Tokens</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:id_token</tt>: OpenID Connect ID Tokens (<xref target="id-tokens">OpenID Connect ID Token</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:refresh_token</tt>: refresh tokens (<xref target="refresh-tokens">Refresh Token</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:txn_token</tt>: Transaction Tokens (<xref target="transaction-tokens">Transaction Tokens</xref>)</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>actor_token_types_supported</tt>: <bcp14>OPTIONAL</bcp14>.  A JSON array of token-type URI strings indicating the <tt>actor_token_type</tt> values the AS accepts for Token Exchange requests in which actor-profile processing can apply.  Values defined by this document are:      </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:jwt</tt>: JWT client assertions (<xref target="jwt-client-assertion-as-actor-token">JWT Client Assertion</xref>) and workload identity credentials (<xref target="workload-identity-as-actor-token">Workload Credential Processing</xref>), which <xref target="token-exchange-processing">Token Exchange Processing</xref> distinguishes</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:access_token</tt>: JWT access tokens (<xref target="jwt-access-token-as-actor-token">JWT Access Token as actor_token</xref>)</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>requested_token_types_supported</tt>: <bcp14>OPTIONAL</bcp14>.  A JSON array of token-type URI strings indicating the <tt>requested_token_type</tt> values the AS accepts for Token Exchange requests in which actor-profile processing can apply.  Values defined by this document are:      </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:access_token</tt>: JWT access tokens (<xref target="jwt-access-tokens">JWT Access Tokens</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:jwt</tt>: JWT assertion grants (<xref target="jwt-assertion-grants">JWT Assertion Grants</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:id-jag</tt>: ID-JAGs (<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>), a JWT assertion grant profile (<xref target="jwt-assertion-grant-issuance">JWT Assertion Grant Output</xref>)</t>
                  </li>
                  <li>
                    <t><tt>urn:ietf:params:oauth:token-type:txn_token</tt>: Transaction Tokens (<xref target="transaction-tokens">Transaction Tokens</xref>)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </dd>
        </dl>
        <t>Advertising a token type does not guarantee support for every input/output combination, resource, scope, binding mechanism, or JWT variant.</t>
        <t>The following is an example of an AS metadata fragment:</t>
        <sourcecode type="json"><![CDATA[
{
  "issuer": "https://as.enterprise.example",
  "token_endpoint": "https://as.enterprise.example/token",
  "grant_types_supported": [
    "urn:ietf:params:oauth:grant-type:token-exchange",
    "urn:ietf:params:oauth:grant-type:jwt-bearer"
  ],
  "dpop_signing_alg_values_supported": ["ES256", "RS256"],
  "authorization_grant_profiles_supported": [
    "urn:ietf:params:oauth:grant-profile:actor-profile"
  ],
  "actor_profile_token_exchange": {
    "subject_token_types_supported": [
      "urn:ietf:params:oauth:token-type:id_token",
      "urn:ietf:params:oauth:token-type:jwt",
      "urn:ietf:params:oauth:token-type:access_token",
      "urn:ietf:params:oauth:token-type:txn_token"
    ],
    "actor_token_types_supported": [
      "urn:ietf:params:oauth:token-type:jwt",
      "urn:ietf:params:oauth:token-type:access_token"
    ],
    "requested_token_types_supported": [
      "urn:ietf:params:oauth:token-type:access_token",
      "urn:ietf:params:oauth:token-type:jwt",
      "urn:ietf:params:oauth:token-type:txn_token"
    ]
  },
  "entity_profiles_supported": {
    "client": ["service", "ai_agent"],
    "subject": ["user", "service", "ai_agent"],
    "actor":   ["user", "service", "ai_agent"]
  }
}
]]></sourcecode>
      </section>
      <section anchor="protected-resource-metadata">
        <name>Protected Resource Metadata</name>
        <t>This document defines the following parameter for use in Protected Resource Metadata (<xref target="RFC9728"/>):</t>
        <dl>
          <dt><tt>actor_profile_required</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>.  A boolean indicating that delegated access to the resource requires actor information conforming to this profile.  When the value is <tt>false</tt> or the parameter is absent, the metadata makes no such claim.  Non-delegated requests need not carry the <tt>act</tt> claim.
</t>
            <t>Clients <bcp14>SHOULD</bcp14> treat <tt>true</tt> as requiring a conforming token or an explicitly documented introspection path that provides equivalent claims for opaque tokens.</t>
            <t>An AS that knows, by configuration or from this metadata, that <tt>actor_profile_required</tt> is <tt>true</tt> for the resource <bcp14>MUST</bcp14> reject a request that would produce a nonconforming delegated token for the resource unless a supported introspection path provides equivalent actor information.  An RS enforcing this policy <bcp14>MUST</bcp14> reject a delegated request for which neither form of actor information is available.</t>
            <t>The parameter applies to the resource as a whole.  An RS with path-specific requirements <bcp14>MUST</bcp14> enforce them at the request layer.  It <bcp14>MAY</bcp14> advertise <tt>true</tt> as a conservative resource-wide signal; clients and deployment documentation <bcp14>SHOULD</bcp14> account for path-specific enforcement that metadata cannot fully express.</t>
          </dd>
        </dl>
        <t>Clients discover the actor entity profile values that an authorization server for the resource accepts by consulting the <tt>entity_profiles_supported.actor</tt> array in the AS metadata of one of the authorization servers listed in the resource's <tt>authorization_servers</tt> array (<xref target="RFC9728"/>).  When <tt>authorization_servers</tt> lists multiple entries, the client <bcp14>SHOULD</bcp14> select the AS that issued or will issue the token being presented.</t>
        <t>The following is an example of a Protected Resource Metadata fragment:</t>
        <sourcecode type="json"><![CDATA[
{
  "resource": "https://api.travel-provider.example",
  "authorization_servers": [
    "https://as.travel-provider.example"
  ],
  "actor_profile_required": true
}
]]></sourcecode>
      </section>
      <section anchor="transaction-token-capability-signaling">
        <name>Transaction Token Capability Signaling</name>
        <t>An AS or TTS advertises Transaction Token support for Token Exchange under this profile through <tt>actor_profile_token_exchange.requested_token_types_supported</tt>.  When an AS or TTS that can issue Transaction Tokens as delegated Token Exchange outputs under this profile publishes <tt>actor_profile_token_exchange</tt>, it <bcp14>MUST</bcp14> list <tt>urn:ietf:params:oauth:token-type:txn_token</tt> in <tt>actor_profile_token_exchange.requested_token_types_supported</tt>.  This document does not define a separate Transaction Token discovery parameter.</t>
      </section>
      <section anchor="capability-signaling-usage">
        <name>Capability Signaling Usage</name>
        <t>Clients consult the resource's Protected Resource Metadata (<xref target="RFC9728"/>) and the associated AS metadata (<xref target="RFC8414"/>) for the parameters listed in <xref target="metadata-and-discovery">Metadata and Discovery</xref>.  When this profile is combined with Identity Chaining (<xref target="I-D.ietf-oauth-identity-chaining"/>), clients <bcp14>SHOULD</bcp14> additionally consult <tt>identity_chaining_requested_token_types_supported</tt>; the two parameter sets are independent.</t>
        <t>The metadata defined in this document does not advertise authorization-code actor-selection mechanisms or per-scope or per-path actor type restrictions.  Deployments that need either capability rely on deployment documentation, bilateral agreement, or a companion profile.  When a delegated request carries <tt>act.sub_profile</tt>, its value <bcp14>SHOULD</bcp14> be drawn from <tt>entity_profiles_supported.actor</tt> when that metadata is available.</t>
        <t>As an example of a client preflight failure, if the RS metadata advertises <tt>"actor_profile_required": true</tt> but the target AS metadata advertises <tt>"entity_profiles_supported": { "actor": ["service"] }</tt> and the client's acting entity profile is <tt>ai_agent</tt>, the client ordinarily stops before making the token request because the AS does not advertise support for the actor type that the client needs to represent.</t>
      </section>
    </section>
    <section anchor="companion-profile-extensibility">
      <name>Companion Profiles and Extension Points</name>
      <t>This document defines delegated identity as represented in the current token; companion profiles can define supplementary behavior such as provenance, transparency, or deployment-specific audit material.</t>
      <t>A companion profile that builds on this profile:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MAY</bcp14> define additional top-level JWT claims, OAuth metadata parameters, or introspection response members that apply only to a token that conforms to this profile or to an introspection response for a delegated opaque access token under <xref target="token-introspection">Token Introspection</xref>;</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> preserve the meanings of the token's top-level <tt>sub</tt>, the outermost <tt>act.sub</tt>, the (<tt>act.iss</tt>, <tt>act.sub</tt>) actor identifier pair, the nested <tt>act</tt> chain ordering, and the top-level <tt>cnf</tt> claim for the current presenter;</t>
        </li>
        <li>
          <t><bcp14>MUST NOT</bcp14> reinterpret <tt>act.iss</tt>, nested <tt>act</tt> objects, or the top-level <tt>cnf</tt> claim as independently trusted prior-hop provenance artifacts;</t>
        </li>
        <li>
          <t><bcp14>SHOULD</bcp14> define any supplementary provenance, receipt, or chain-wide state in separate top-level claims or equivalent companion mechanisms rather than by overloading members inside inherited <tt>act</tt> objects;</t>
        </li>
        <li>
          <t>if it defines data that aligns to the visible <tt>act</tt> chain, <bcp14>MUST</bcp14> specify the alignment rules, the behavior when coverage is partial, and the behavior when introspection or privacy filtering suppresses part of the visible chain.</t>
        </li>
      </ul>
      <t>A companion profile can define authorization based on independently verifiable per-hop evidence that it carries in its own top-level claims.  Nested <tt>act</tt> objects remain informational for access control (<xref section="4.1" sectionFormat="of" target="RFC8693"/>).</t>
      <t>An implementation that conforms only to this core profile <bcp14>MUST</bcp14> ignore unrecognized companion-profile claims, metadata parameters, and introspection response members unless another specification or local policy defines their meaning.  A deployment that requires support for a companion profile expresses that requirement through the companion profile's own metadata, through out-of-band agreement, or through another explicit local-policy mechanism.</t>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <section anchor="migration-and-adoption">
        <name>Migration and Adoption</name>
        <section anchor="rfc-8693-backwards-compatibility">
          <name>RFC 8693 Backwards Compatibility</name>
          <t>An <xref target="RFC8693"/> actor object without the <tt>iss</tt> claim does not conform to this profile.  Implementations <bcp14>MUST</bcp14> treat it as nonconforming and <bcp14>MUST NOT</bcp14> infer semantics for absent claims.  When local policy or advertised metadata requires profile conformance for a token or assertion, recipients <bcp14>MUST</bcp14> reject such actor objects.</t>
          <t>When an AS receives such an actor object:</t>
          <ul spacing="normal">
            <li>
              <t>If profile conformance is required by policy or metadata, the AS <bcp14>MUST</bcp14> reject the input under <xref target="actor-profile-error-responses">Error Responses</xref>.</t>
            </li>
            <li>
              <t>Otherwise, the AS <bcp14>MAY</bcp14> apply local rules for non-profile processing.  It <bcp14>MUST NOT</bcp14> add <tt>iss</tt> to an inherited actor, silently drop the inbound <tt>act</tt>, or carry the nonconforming chain into a profile-conforming output.  A request requiring that output <bcp14>MUST</bcp14> be rejected.</t>
            </li>
          </ul>
          <t>A deployment can migrate in three stages:</t>
          <ol spacing="normal" type="1"><li>
              <t>Issuers emit <tt>act.iss</tt> for every actor in newly issued profile tokens, as <xref target="actor-object-structure">Actor Object Structure</xref> requires.  Existing consumers can ignore the additional claim.</t>
            </li>
            <li>
              <t>Consumers <bcp14>SHOULD</bcp14> begin validating the actor identifier context once issuers support it.</t>
            </li>
            <li>
              <t>Once all token issuers and consumers on a path have been updated, resources <bcp14>SHOULD</bcp14> enforce conformance through local policy and <tt>actor_profile_required: true</tt>.  ASes can also require conformance on updated inbound paths.</t>
            </li>
          </ol>
        </section>
        <section anchor="migration-implicit-explicit">
          <name>Migrating from Implicit to Explicit Delegation</name>
          <t>Deployments that infer actors from <tt>client_id</tt>, <tt>azp</tt>, or request context can migrate incrementally:</t>
          <ul spacing="normal">
            <li>
              <t>Clients <bcp14>SHOULD</bcp14> prefer tokens with explicit actor claims when available.</t>
            </li>
            <li>
              <t>Issuers <bcp14>SHOULD</bcp14> emit both legacy client identifiers and actor claims during the transition when feasible.</t>
            </li>
            <li>
              <t>Without <tt>act</tt>, deployments <bcp14>MAY</bcp14> retain legacy client-based policy.</t>
            </li>
            <li>
              <t>When both forms are present, deployments apply <xref target="client-identity-delegation">Client Identity and Delegation</xref> and record mismatches.</t>
            </li>
          </ul>
          <t>The legacy form carries only the <tt>client_id</tt> claim (and optionally the <tt>azp</tt> claim) to identify the acting party.  The following example shows the explicit form, which adds an <tt>act</tt> claim:</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.enterprise.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "client_id": "travel-assistant-client-id",
  "azp": "travel-assistant-client-id",
  "act": {
    "sub": "https://agents.enterprise.example/travel-assistant",
    "iss": "https://as.enterprise.example",
    "sub_profile": "ai_agent"
  },
  "scope": "booking:create"
}
]]></sourcecode>
          <t>In this example, <tt>client_id</tt> and <tt>azp</tt> remain auxiliary client-identity inputs, while <tt>act.sub</tt> carries the explicit actor identity.</t>
          <t>The following example shows a mismatch: the OAuth client identifier and the explicit actor identifier name different parties unless trusted local mapping rules bind them.</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.enterprise.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "client_id": "travel-assistant-client-id",
  "act": {
    "sub": "https://agents.other-provider.example/concierge-bot",
    "iss": "https://as.other-provider.example",
    "sub_profile": "ai_agent"
  },
  "scope": "booking:create"
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="act-iss-authority-guidance">
        <name>Trusting Actor Identifier Pairs</name>
        <t><xref target="validate-outermost-actor">Validate Outermost Actor</xref> requires trust in the token issuer's authority to assert the (<tt>act.iss</tt>, <tt>act.sub</tt>) pair.  Deployment-specific mechanisms for establishing that trust include:</t>
        <ul spacing="normal">
          <li>
            <t>federation metadata or trust-framework configuration that authorizes the token issuer to assert actor identifiers in the <tt>act.iss</tt> context (for example, <xref target="OpenID.Federation"/>);</t>
          </li>
          <li>
            <t>pre-registration entries that explicitly authorize the token issuer to assert a specific (<tt>act.iss</tt>, <tt>act.sub</tt>) pair or identifiers of that form; and</t>
          </li>
          <li>
            <t>bilateral or deployment-local policy rules that authorize the token issuer to carry the specific class of actor identifier used in <tt>act.sub</tt>.</t>
          </li>
        </ul>
        <t>For HTTPS identifiers, one possible local rule is URL namespace containment: an explicitly configured rule that compares scheme, host, port, and path boundaries.  Scheme and host comparisons follow <xref section="3.1" sectionFormat="of" target="RFC3986"/> and <xref section="3.2.2" sectionFormat="of" target="RFC3986"/>; paths are generally case-sensitive.  Subdomain relationships alone are often insufficient to establish trust without explicit configuration.</t>
        <t>For example:</t>
        <ul spacing="normal">
          <li>
            <t>A token issued by <tt>https://as.enterprise.example</tt> with <tt>act.iss = https://as.enterprise.example</tt> and <tt>act.sub = https://as.enterprise.example/agents/travel-assistant</tt> would commonly satisfy a same-host local trust rule.</t>
          </li>
          <li>
            <t>A token issued by <tt>https://as.enterprise.example</tt> with <tt>act.iss = https://as.enterprise.example</tt> and <tt>act.sub = https://idp.enterprise.example/users/alice</tt> would not ordinarily satisfy URL containment alone, because the host differs.</t>
          </li>
        </ul>
      </section>
      <section anchor="delegation-chain-token-lifetime">
        <name>Token Lifetime for Delegation Chains</name>
        <t>Deployments <bcp14>SHOULD</bcp14> use shorter lifetimes for delegated tokens than for non-delegated tokens of equivalent scope.  JWT access tokens and assertion grants in multi-hop chains <bcp14>SHOULD</bcp14> last no longer than needed for the authorized task.  The lifetime of an upstream artifact also limits how long a downstream actor can request tokens without renewing that artifact.</t>
        <t>Deployments with three or more actors <bcp14>SHOULD</bcp14> account for delayed revocation across hops.  Where revocation risk is significant, for example where a user can withdraw consent at any time, deployments <bcp14>SHOULD</bcp14> combine short lifetimes with introspection at sensitive resources rather than relying solely on the <tt>exp</tt> claim.  <xref target="RFC9700"/> provides general guidance.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document defines no trust framework for actor identifier contexts, delegation approval, or subject-identifier translation; the security of those decisions depends on deployment policy and agreements (<xref target="representation-and-policy">Representation and Policy</xref>).</t>
      <section anchor="delegation-chain-integrity">
        <name>Delegation Chain Integrity and Trust</name>
        <t>An attacker who can inject or forge <tt>act</tt> claims can impersonate an arbitrary actor and exercise a subject's permissions without authorization.  RS implementations validate the token signature before extracting actor claims, as the applicable token specification and <xref target="resource-server-processing">Resource Server Processing</xref> require, and <bcp14>MUST</bcp14> verify that the token issuer is trusted to convey the claims it carries.</t>
        <t>Because inner <tt>act</tt> objects are set by upstream ASes and not re-signed at each hop, the integrity of the entire delegation chain depends on the signature of the token that carries it.  Implementations <bcp14>SHOULD</bcp14> use short token lifetimes, and an expired token is rejected per <xref section="4.1.4" sectionFormat="of" target="RFC7519"/> regardless of chain depth.</t>
        <t>Inner actor identities are not inputs to access-control decisions (<xref section="4.1" sectionFormat="of" target="RFC8693"/>): they are endorsed only by the outer token issuer's signature (<xref target="carry-prior-actor-context">Carry Prior-Actor Context</xref>).  <xref target="companion-profile-extensibility">Companion Profiles and Extension Points</xref> describes how independently verifiable per-hop evidence can support authorization.</t>
        <t>ASes performing Token Exchange <bcp14>MUST</bcp14> evaluate cross-domain delegation grants explicitly and <bcp14>SHOULD NOT</bcp14> grant cross-domain actors the same rights as same-domain actors absent an explicit trust decision that makes them equivalent.</t>
      </section>
      <section anchor="security-self-issued-grants">
        <name>Self-Issued Authorization Grants</name>
        <t>In a self-issued assertion grant, the acting entity is itself the grant's <tt>iss</tt> and directly asserts delegation to itself without any upstream AS having authenticated the actor or pre-validated the delegation relationship.  <xref target="jwt-assertion-grants-structure">JWT Assertion Grant Structure</xref> requires rejecting such grants by default; this section gives the controls a deployment needs when another specification or local policy enables them.</t>
        <t>This section does not apply to client assertions used as <tt>actor_token</tt> (<xref target="jwt-client-assertion-as-actor-token">JWT Client Assertion</xref>), for which <tt>iss = sub = client_id</tt> is the conformant pattern.</t>
        <t>Because no upstream AS vouches for the actor's identity or the delegation relationship, the receiving AS <bcp14>MUST NOT</bcp14> treat the self-asserted delegation claim alone as a sufficient authorization basis.  When a deployment enables self-issued authorization grants, the receiving AS <bcp14>MUST</bcp14> at minimum:</t>
        <ul spacing="normal">
          <li>
            <t>Validate the JWT signature using the key identified in the JWT header, obtained from a pre-registered or otherwise independently trusted source for the self-issuing party.</t>
          </li>
          <li>
            <t>Verify the <tt>exp</tt>, <tt>iat</tt>, and <tt>nbf</tt> claims per <xref target="RFC7519"/>.</t>
          </li>
          <li>
            <t>To prevent replay, reject an assertion whose validated (<tt>iss</tt>, <tt>jti</tt>) pair has already been accepted, for as long as the assertion remains acceptable, including any allowed clock skew.</t>
          </li>
          <li>
            <t>Verify proof of possession per the token-endpoint mechanism in use (DPoP per <xref target="RFC9449"/> or mTLS per <xref target="RFC8705"/>), and against the assertion's top-level <tt>cnf</tt> when present and not superseded by presenter rebind, as in step 6 of <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref> and <xref target="jwt-assertion-grant-as-subject-token">JWT Assertion Grant as subject_token</xref>.</t>
          </li>
          <li>
            <t>Apply the actor-profile validation and proof-of-possession requirements in <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref>.</t>
          </li>
          <li>
            <t>Establish the delegation relationship from an independent authorization basis such as a pre-registered grant, explicit consent record, or equivalent deployment-specific artifact.</t>
          </li>
        </ul>
        <t>In the absence of these controls, an attacker can self-assert an arbitrary (<tt>sub</tt>, <tt>act.sub</tt>) pair and bypass actor-profile authorization enforcement.  Deployments <bcp14>MUST</bcp14> confine self-issued authorization grants to a single trust domain and <bcp14>MUST NOT</bcp14> propagate them across organizational boundaries.  Discovery of their acceptance is left to the enabling specification or local policy.</t>
      </section>
      <section anchor="security-assertion-replay">
        <name>Assertion Replay Prevention</name>
        <t>An attacker who replays a delegated assertion can obtain tokens that exercise the subject's authorization and can establish an unauthorized delegation chain.  Step 1 of <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref> defines replay prevention; short assertion lifetimes bound how long replay records are retained.  Presenter rebind supersedes a sender-constrained grant's binding (<xref target="jwt-assertion-grant-as-subject-token">JWT Assertion Grant as subject_token</xref>), so a party that obtains such a grant but not its key can redeem it once, as a Token Exchange <tt>subject_token</tt>, with any actor credential that local policy authorizes to act for <tt>sub</tt>.  Actor authorization policy, mandatory single use of the grant, and short grant lifetimes remain the mitigations for this case.</t>
      </section>
      <section anchor="token-substitution">
        <name>Token Substitution</name>
        <t>An attacker who can present a token with a crafted <tt>sub_profile</tt> or delegation chain can attempt to escalate privileges.  ASes <bcp14>MUST</bcp14> validate inbound <tt>sub_profile</tt> values against the syntax requirements of this document, the applicable registry or deployment-specific allowed set where such checks are part of local policy, and the local policy applicable to the token they are issuing.  They <bcp14>MUST</bcp14> preserve unrecognized but syntactically valid values, as required by <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref> for inherited actor objects and by step 5 of <xref target="jwt-access-token-propagation">JWT Access Token Output</xref> for a carried-forward top-level <tt>sub_profile</tt>, and they <bcp14>MUST</bcp14> reject values that are malformed or disallowed by local policy.</t>
      </section>
      <section anchor="confused-deputy">
        <name>Confused Deputy</name>
        <t>A resource server that evaluates only <tt>sub</tt> when <tt>act</tt> is present is susceptible to a confused deputy attack: a malicious actor exploits a subject's pre-existing permissions without the subject's ongoing consent.  The mitigation is to authorize the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair, as <xref target="actor-authorization">Actor Authorization</xref> describes.</t>
      </section>
      <section anchor="actor-authorization-bypass">
        <name>Actor-Authorization Bypass</name>
        <t>A resource server that requires actor authorization but does not enforce it on every request path where it accepts delegated access, including introspection-based paths (<xref target="token-introspection">Token Introspection</xref>), lets an attacker bypass that policy.  Deployments that signal delegated-token requirements with <tt>actor_profile_required: true</tt> <bcp14>SHOULD</bcp14> ensure that the documented request paths requiring delegated access align with their actual enforcement behavior so that clients do not overinterpret the signal.</t>
      </section>
      <section anchor="client-identity-delegation">
        <name>Client Identity and Delegation</name>
        <t>Client identity (<tt>client_id</tt>, <tt>azp</tt>, or authenticated client context) remains an auxiliary signal under this profile, and the outermost <tt>act.sub</tt>, when present, is the explicit delegated-actor signal.  The following rules apply:</t>
        <ul spacing="normal">
          <li>
            <t>When <tt>act</tt> is present, implementations <bcp14>MUST NOT</bcp14> substitute <tt>client_id</tt>, <tt>azp</tt>, or other client-identity signals for it as the delegated-actor signal.  A trusted local mapping can establish that a client identifier and <tt>act.sub</tt> identify the same entity without changing the meaning of either claim.</t>
          </li>
          <li>
            <t>When a single <tt>client_id</tt> registration serves multiple distinct acting entities (for example, an agent orchestration platform executing requests on behalf of different agent instances), <tt>client_id</tt> alone does not identify the runtime actor.  Each such request <bcp14>SHOULD</bcp14> carry <tt>act.sub</tt> identifying the specific acting principal.</t>
          </li>
          <li>
            <t>During token issuance, <tt>client_id</tt> and <tt>azp</tt> <bcp14>MUST NOT</bcp14> be rewritten to represent delegation state that belongs in <tt>act</tt>; see <xref target="jwt-access-token-propagation">JWT Access Token Output</xref> for propagation rules.</t>
          </li>
          <li>
            <t>When both explicit (<tt>act.sub</tt>) and implicit (<tt>client_id</tt>, <tt>azp</tt>) signals are present and local policy expects them to identify the same party, implementations <bcp14>SHOULD</bcp14> perform identifier reconciliation; if it fails, the identifiers are treated as distinct, and an operation that requires them to identify the same party is rejected, as defined for Identifier Reconciliation in <xref target="conventions">Conventions and Definitions</xref>.</t>
          </li>
          <li>
            <t>When a protected resource or authorization path enforces explicit delegation under this profile, implementations <bcp14>MUST NOT</bcp14> downgrade to non-<tt>act</tt> processing solely because another token-acquisition path or legacy policy input remains available.</t>
          </li>
        </ul>
      </section>
      <section anchor="subprofile-trust">
        <name><tt>sub_profile</tt> Trust</name>
        <t>The token issuer asserts the <tt>sub_profile</tt> claim, so the claim is only as trustworthy as that issuer.  Resource servers <bcp14>MUST NOT</bcp14> trust <tt>sub_profile</tt> values in tokens issued by untrusted parties.  Resource server operators <bcp14>SHOULD</bcp14> configure a list of accepted entity-type profiles per trust domain.</t>
      </section>
      <section anchor="subject-namespace-translation">
        <name>Subject Namespace Translation</name>
        <t>An AS or TTS can translate <tt>sub</tt> when crossing identifier namespaces, but <bcp14>MUST NOT</bcp14> do so unless local policy establishes that both identifiers refer to the same subject.  Trust to perform that mapping is separate from trust to sign tokens and <bcp14>SHOULD</bcp14> be established explicitly.</t>
        <t>A translated <tt>sub</tt> is authoritative only within the trust context of the issuer that performed the translation.  A recipient that relies only on the issued token <bcp14>MAY</bcp14> evaluate the translated <tt>sub</tt> as the subject in that issuer's namespace.  A recipient needing proof of equivalence to an upstream subject <bcp14>MUST</bcp14> obtain additional evidence, such as another specification, an identity-chain mechanism, or an explicit trust agreement.  If required evidence is unavailable, it <bcp14>SHOULD</bcp14> reject the token.</t>
        <t>This profile provides neither portable subject-equivalence proofs nor a general mechanism for correlating subjects across domains.</t>
      </section>
      <section anchor="presenter-binding">
        <name>Presenter Binding</name>
        <t>Without top-level presenter proof of possession, any party can replay a leaked token.  A sender-constrained delegated token binds the current presenter (the outermost actor), and the RS validates the presenter proof against the top-level <tt>cnf</tt> claim (<xref target="delegated-pop-validation">Sender Constraint and Proof-of-Possession Validation</xref>).  Clients should also use the <tt>resource</tt> parameter (<xref target="RFC8707"/>) when requesting delegated tokens, because audience restriction limits where a leaked token can be used.</t>
        <t>This document does not define per-hop actor-key provenance within the delegation chain.  Deployments that need stronger assurance for prior-hop provenance <bcp14>MUST</bcp14> use an additional mechanism outside the scope of this document, such as signed hop receipts, transparency-log-based recording, or another future extension; they <bcp14>MUST NOT</bcp14> overload <tt>act.iss</tt> or redefine nested <tt>act</tt> semantics to carry that provenance.</t>
      </section>
      <section anchor="delegation-depth-limits">
        <name>Delegation Depth Limits</name>
        <t>Unbounded delegation chains increase the attack surface, complicate policy evaluation, and enable denial of service through chain parsing; the local maximum depth that <xref target="delegation-chains">Delegation Chains</xref> requires bounds them.</t>
        <t>Extensions that attach per-hop signed material grow token size in proportion to chain depth.  Deployments that combine the reference chain depth with one or more such per-hop mechanisms <bcp14>SHOULD</bcp14> measure realistic token sizes against their transport limits (HTTP header limits are often 8 KB) and consider using token introspection (<xref target="RFC7662"/>) where inline carriage exceeds those limits.</t>
      </section>
      <section anchor="actor-identity-rotation">
        <name>Actor Identity Rotation</name>
        <t>Deployments <bcp14>SHOULD</bcp14> choose <tt>act.sub</tt> to be a durable, stable identifier independent of ephemeral key material.  In particular, deployments <bcp14>SHOULD NOT</bcp14> use a JWK thumbprint or other key-derived value as <tt>act.sub</tt>; doing so silently changes the actor identity on every key rotation, which can break delegation grants and policy bindings that reference the prior identifier.</t>
        <t>When <tt>act.sub</tt> itself must change (for example, because an agent instance is replaced, a workload is renamed, or an actor identifier namespace migrates), existing delegation grants and issued tokens continue to reference the old identifier.  Deployments <bcp14>MUST</bcp14> explicitly re-establish delegation grants for the new identity; the old grants do not automatically transfer.  Tokens issued under the old identity remain valid until they expire.</t>
      </section>
      <section anchor="delegation-revocation">
        <name>Delegation Revocation</name>
        <t>Token revocation (<xref target="RFC7009"/>) does not by itself revoke a delegation relationship or propagate revocation to downstream tokens.  Without an additional revocation mechanism, those tokens can remain usable until expiration; see <xref target="delegation-chain-token-lifetime">Token Lifetime for Delegation Chains</xref>.</t>
        <t>An AS with authoritative knowledge that a delegation has been revoked <bcp14>SHOULD</bcp14> refuse new tokens for that (subject, actor) pair.  Revocation of a prior hop is enforced through the AS's own issuance records or independently verifiable evidence, not through nested <tt>act</tt> objects.  Implementations <bcp14>MUST NOT</bcp14> skip revocation checks because of chain depth.</t>
        <t>Long-lived refresh behavior can delay revalidation of upstream delegation; refresh-token policy, delegation-state storage, and cross-hop revocation remain deployment-specific.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>Delegation chains can reveal sensitive information about user behavior, enterprise topology, software suppliers, and internal tool composition.  Issuers therefore <bcp14>SHOULD</bcp14> disclose only the actor information needed by the relying party for authorization, audit, or policy enforcement.</t>
      <t>Cross-domain deployments <bcp14>SHOULD</bcp14> prefer stable but non-reassigned identifiers and <bcp14>SHOULD</bcp14> consider pairwise identifiers for human subjects when a globally correlatable identifier is not required by the use case.</t>
      <t>When the same logical entity can appear in different identifier namespaces, such as <tt>azp</tt>, <tt>req_wl</tt>, and <tt>act.sub</tt>, issuers and relying parties <bcp14>SHOULD</bcp14> use explicit issuer scoping and locally trusted mapping rules rather than string equality alone to determine whether those identifiers refer to the same entity.</t>
      <t>Issuers <bcp14>SHOULD</bcp14> minimize disclosure of prior actors through audience and token-design decisions made before issuance.  Once an issuer preserves a delegation chain, <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref> requires copying it intact.  If local privacy requirements would require omitting a chain element, the issuer rejects the request rather than truncating the chain.</t>
      <t>A Transaction Token's <tt>txn</tt> value links service calls in the same transaction and can enable correlation across organizations.  Deployments <bcp14>SHOULD</bcp14> follow the privacy guidance in <xref target="I-D.ietf-oauth-transaction-tokens"/> when propagating it across trust domains.</t>
      <t>The <tt>act.sub_profile</tt> claim reveals the actor's entity type, including whether it is an AI agent.  In some jurisdictions or deployment contexts, this disclosure can be legally significant or can reveal sensitive information about user behavior and tool composition.  Issuers <bcp14>SHOULD</bcp14> consider audience-specific disclosure constraints and <bcp14>SHOULD</bcp14> omit unnecessary entity classifications when constructing new actor objects.  Inherited actors remain subject to the preservation rules in <xref target="preserve-inbound-chain">Preserve Inbound Chain</xref>.</t>
      <t>The <tt>req_wl</tt> claim can reveal internal workload topology.  A TTS <bcp14>SHOULD</bcp14> disclose it only where needed for authorization, audit, or policy enforcement, and <bcp14>SHOULD</bcp14> avoid exposing internal workload identifiers across domains unless the deployment requires it.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="iana-oauth-uri">
        <name>OAuth URI Registration</name>
        <t>This document requests IANA to register the following value in the "OAuth URI" registry:</t>
        <ul spacing="normal">
          <li>
            <t>URN: <tt>urn:ietf:params:oauth:grant-profile:actor-profile</tt></t>
          </li>
          <li>
            <t>Common Name: OAuth Actor Profile for Delegation</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Reference: <xref target="authorization-server-metadata">Authorization Server Metadata</xref> of this document</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-authorization-server-metadata-registry">
        <name>OAuth Authorization Server Metadata Registry</name>
        <t>This document requests IANA to register the following value in the "OAuth Authorization Server Metadata" registry (<xref target="RFC8414"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>actor_profile_token_exchange</tt></t>
          </li>
          <li>
            <t>Metadata Description: JSON object advertising coarse Token Exchange capabilities for requests in which actor-profile processing can apply</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Reference: <xref target="authorization-server-metadata">Authorization Server Metadata</xref> of this document</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-protected-resource-metadata-registry">
        <name>OAuth Protected Resource Metadata Registry</name>
        <t>This document requests IANA to register the following value in the "OAuth Protected Resource Metadata" registry (<xref target="RFC9728"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>actor_profile_required</tt></t>
          </li>
          <li>
            <t>Metadata Description: Boolean indicating whether the RS advertises that delegated requests for this resource are expected to provide actor-profile information conforming to this document's semantics</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Reference: <xref target="protected-resource-metadata">Protected Resource Metadata</xref> of this document</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-error-codes">
        <name>OAuth Error Registry</name>
        <t>This document requests IANA to register the following value in the "OAuth Extensions Error Registry" (<xref section="11.4" sectionFormat="of" target="RFC6749"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Error Name: <tt>actor_unauthorized</tt></t>
          </li>
          <li>
            <t>Error Usage Location: token error response, resource access error response</t>
          </li>
          <li>
            <t>Related Protocol Extension: OAuth Actor Profile for Delegation</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Reference: <xref target="actor-profile-error-responses">Error Responses</xref> of this document</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-token-introspection-response-registry">
        <name>OAuth Token Introspection Response Registry</name>
        <t>This document requests IANA to register the following value in the "OAuth Token Introspection Response" registry (<xref section="3.1" sectionFormat="of" target="RFC7662"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Name: <tt>chain_complete</tt></t>
          </li>
          <li>
            <t>Description: Boolean indicating whether the <tt>act</tt> delegation chain in the introspection response is complete.  When <tt>false</tt>, one or more inner <tt>act</tt> chain entries have been omitted from the response for privacy reasons.  When absent, the chain <bcp14>SHOULD</bcp14> be treated as complete unless local policy or deployment context indicates otherwise.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Reference: <xref target="token-introspection">Token Introspection</xref> of this document</t>
          </li>
        </ul>
      </section>
      <section anchor="jwt-claims-registry">
        <name>JWT Claims Registry</name>
        <t>This document does not request independent entries in the "JSON Web Token Claims" registry for the <tt>act</tt> object sub-claims (<tt>iss</tt>, <tt>sub_profile</tt>, and any extension claims) it defines or profiles.  These claims appear only within the JSON object value of the <tt>act</tt> claim, which <xref target="RFC8693"/> already registers in the "JSON Web Token Claims" registry.</t>
      </section>
      <section anchor="iana-token-types">
        <name>Transaction Token Type URI</name>
        <t>This document makes no independent requests to the "OAuth URI" registry for <tt>urn:ietf:params:oauth:token-type:txn_token</tt>.  That URI is defined and registered by <xref target="I-D.ietf-oauth-transaction-tokens"/>.  Its inclusion as a defined value for <tt>actor_profile_token_exchange.requested_token_types_supported</tt> in <xref target="authorization-server-metadata">Authorization Server Metadata</xref> is contingent on the progression of <xref target="I-D.ietf-oauth-transaction-tokens"/>.</t>
      </section>
      <section anchor="iana-entity-profiles">
        <name>OAuth Entity Profiles Registry</name>
        <t>This document makes no independent requests to the "OAuth Entity Profiles" registry.  It normatively depends on the "Actor Profile" usage location, the <tt>actor</tt> array in <tt>entity_profiles_supported</tt>, and the registration of <tt>user</tt>, <tt>service</tt>, and <tt>ai_agent</tt> with that usage location, all of which are defined and requested by <xref target="I-D.mora-oauth-entity-profiles"/>.  The IANA actions for those entries are contingent on the progression of <xref target="I-D.mora-oauth-entity-profiles"/>.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC6749" target="https://www.rfc-editor.org/info/rfc6749" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml">
          <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="RFC6750" target="https://www.rfc-editor.org/info/rfc6750" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6750.xml">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="RFC7009" target="https://www.rfc-editor.org/info/rfc7009" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7009.xml">
          <front>
            <title>OAuth 2.0 Token Revocation</title>
            <author fullname="T. Lodderstedt" initials="T." role="editor" surname="Lodderstedt"/>
            <author fullname="S. Dronia" initials="S." surname="Dronia"/>
            <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document proposes an additional endpoint for OAuth authorization servers, which allows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed. This allows the authorization server to clean up security credentials. A revocation request will invalidate the actual token and, if applicable, other tokens based on the same authorization grant.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7009"/>
          <seriesInfo name="DOI" value="10.17487/RFC7009"/>
        </reference>
        <reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7519.xml">
          <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="RFC7521" target="https://www.rfc-editor.org/info/rfc7521" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7521.xml">
          <front>
            <title>Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="Y. Goland" initials="Y." surname="Goland"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification provides a framework for the use of assertions with OAuth 2.0 in the form of a new client authentication mechanism and a new authorization grant type. Mechanisms are specified for transporting assertions during interactions with a token endpoint; general processing rules are also specified.</t>
              <t>The intent of this specification is to provide a common framework for OAuth 2.0 to interwork with other identity systems using assertions and to provide alternative client authentication mechanisms.</t>
              <t>Note that this specification only defines abstract message flows and processing rules. In order to be implementable, companion specifications are necessary to provide the corresponding concrete instantiations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7521"/>
          <seriesInfo name="DOI" value="10.17487/RFC7521"/>
        </reference>
        <reference anchor="RFC7523" target="https://www.rfc-editor.org/info/rfc7523" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7523.xml">
          <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="RFC7800" target="https://www.rfc-editor.org/info/rfc7800" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7800.xml">
          <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="RFC8705" target="https://www.rfc-editor.org/info/rfc8705" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8705.xml">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC7662" target="https://www.rfc-editor.org/info/rfc7662" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7662.xml">
          <front>
            <title>OAuth 2.0 Token Introspection</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7662"/>
          <seriesInfo name="DOI" value="10.17487/RFC7662"/>
        </reference>
        <reference anchor="RFC8414" target="https://www.rfc-editor.org/info/rfc8414" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8414.xml">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC9728" target="https://www.rfc-editor.org/info/rfc9728" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9728.xml">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </reference>
        <reference anchor="RFC8693" target="https://www.rfc-editor.org/info/rfc8693" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8693.xml">
          <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="RFC9068" target="https://www.rfc-editor.org/info/rfc9068" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9068.xml">
          <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="RFC8707" target="https://www.rfc-editor.org/info/rfc8707" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8707.xml">
          <front>
            <title>Resource Indicators for OAuth 2.0</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document specifies an extension to the OAuth 2.0 Authorization Framework defining request parameters that enable a client to explicitly signal to an authorization server about the identity of the protected resource(s) to which it is requesting access.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8707"/>
          <seriesInfo name="DOI" value="10.17487/RFC8707"/>
        </reference>
        <reference anchor="RFC9449" target="https://www.rfc-editor.org/info/rfc9449" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9449.xml">
          <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="I-D.ietf-oauth-transaction-tokens" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-transaction-tokens-11" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-oauth-transaction-tokens.xml">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>CrowdStrike</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date day="30" month="July" year="2026"/>
            <abstract>
              <t>Transaction Tokens (Txn-Tokens) are designed to maintain and propagate user identity, workload identity and authorization context throughout the Call Chain within a trusted domain during the processing of external requests (e.g. such as API calls) or requests initiated internally within the Trust Domain. Txn-Tokens ensure that this context is preserved throughout the Call Chain thereby enhancing security and consistency in complex, multi-service architectures.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-workload-creds" target="https://datatracker.ietf.org/doc/html/draft-ietf-wimse-workload-creds-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-wimse-workload-creds.xml">
          <front>
            <title>WIMSE Workload Credentials</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>CyberArk</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date day="2" month="July" year="2026"/>
            <abstract>
              <t>The WIMSE architecture defines authentication and authorization for software workloads in a variety of runtime environments, from the most basic ones up to complex multi-service, multi-cloud, multi- tenant deployments. This document defines the credentials that workloads use to represent their identity. They can be used in various protocols to authenticate workloads to each other. To use these credentials, workloads must provide proof of possession of the associated private key material, which is covered in other documents. This document focuses on the credentials alone, independent of the proof-of- possession mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-workload-creds-02"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-wpt" target="https://datatracker.ietf.org/doc/html/draft-ietf-wimse-wpt-02" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-wimse-wpt.xml">
          <front>
            <title>WIMSE Workload Proof Token</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <date day="27" month="August" year="2026"/>
            <abstract>
              <t>The WIMSE architecture defines authentication and authorization for software workloads in a variety of runtime environments, from basic deployments to complex multi-service, multi-cloud, multi-tenant systems. This document specifies the Workload Proof Token (WPT), a mechanism for workloads to prove possession of the private key associated with a Workload Identity Token (WIT). The WPT is a signed JWT that binds the workload's authentication to a specific HTTP request, providing application-layer proof of possession for workload-to-workload communication. This specification is designed to work alongside the WIT credential format defined in draft-ietf- wimse-workload-creds and can be combined with other WIMSE protocols in multi-hop call chains.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-02"/>
        </reference>
        <reference anchor="I-D.mora-oauth-entity-profiles" target="https://www.ietf.org/archive/id/draft-mora-oauth-entity-profiles-01.txt">
          <front>
            <title>OAuth Entity Profiles</title>
            <author fullname="Sreyantha Chary Mora">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Pamela Dingle">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Karl McGuinness">
              <organization>Independent</organization>
            </author>
            <date year="2026" month="April" day="17"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mora-oauth-entity-profiles-01"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-assertion-authz-grant" target="https://www.ietf.org/archive/id/draft-ietf-oauth-identity-assertion-authz-grant-04.txt">
          <front>
            <title>Identity Assertion JWT Authorization Grant</title>
            <author fullname="Aaron Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Karl McGuinness">
              <organization>Independent</organization>
            </author>
            <author fullname="Brian Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date year="2026" month="May" day="21"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-04"/>
        </reference>
        <reference anchor="OpenID.Core" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0</title>
            <author>
              <organization>OpenID Foundation</organization>
            </author>
            <date year="2014" month="November" day="08"/>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9700" target="https://www.rfc-editor.org/info/rfc9700" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9700.xml">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
        <reference anchor="RFC8792" target="https://www.rfc-editor.org/info/rfc8792" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8792.xml">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="I-D.parecki-oauth-jwt-dpop-grant" target="https://datatracker.ietf.org/doc/html/draft-parecki-oauth-jwt-dpop-grant-01">
          <front>
            <title>JWT Authorization Grants with DPoP</title>
            <author fullname="Aaron Parecki">
              <organization>Okta</organization>
            </author>
            <date year="2026" month="January" day="30"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-parecki-oauth-jwt-dpop-grant-01"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-chaining" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-identity-chaining-17" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-oauth-identity-chaining.xml">
          <front>
            <title>OAuth Identity and Authorization Chaining Across Domains</title>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Kelley Burgin" initials="K." surname="Burgin">
              <organization>MITRE</organization>
            </author>
            <author fullname="Michael J. Jenkins" initials="M. J." surname="Jenkins">
              <organization>NSA-CCSS</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="19" month="July" year="2026"/>
            <abstract>
              <t>This specification describes a mechanism for preserving identity and authorization information across trust domains that use the OAuth 2.0 Framework. A JSON Web Token (JWT) authorization grant, obtained through an intra-domain OAuth 2.0 Token Exchange, facilitates the cross-domain acquisition of an access token. The relevant identity and authorization information is chained throughout the flow by being conveyed in the respective artifacts exchanged at each step of the process. Chaining across multiple domains is achieved by using the same protocol every time a trust domain boundary is crossed.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-17"/>
        </reference>
        <reference anchor="OpenID.Federation" target="https://openid.net/specs/openid-federation-1_0.html">
          <front>
            <title>OpenID Federation 1.0</title>
            <author>
              <organization>OpenID Foundation</organization>
            </author>
            <date year="2024" month="May" day="01"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1592?>

<section anchor="appendix-service-to-service">
      <name>Service-to-Service Delegation Example</name>
      <t>This appendix gives an example of this profile in a same-domain service-to-service delegation flow that involves no AI agent.  A payroll batch processor acts on behalf of a human payroll administrator to call the Payroll API; the Payroll API then exchanges the inbound access token for an internal Transaction Token used to write an audit record.</t>
      <section anchor="scenario">
        <name>Scenario</name>
        <table>
          <thead>
            <tr>
              <th align="left">Party</th>
              <th align="left">Identifier</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Payroll Administrator</td>
              <td align="left">
                <tt>https://idp.example.com/users/pat</tt></td>
            </tr>
            <tr>
              <td align="left">Enterprise AS</td>
              <td align="left">
                <tt>https://as.example.com</tt></td>
            </tr>
            <tr>
              <td align="left">Payroll Batch Processor</td>
              <td align="left">
                <tt>https://services.example.com/payroll-batch</tt></td>
            </tr>
            <tr>
              <td align="left">Payroll API</td>
              <td align="left">
                <tt>https://services.example.com/payroll-api</tt></td>
            </tr>
            <tr>
              <td align="left">Audit TTS</td>
              <td align="left">
                <tt>https://tts.example.com</tt></td>
            </tr>
            <tr>
              <td align="left">Audit Service</td>
              <td align="left">
                <tt>https://internal.example.com/audit</tt></td>
            </tr>
          </tbody>
        </table>
        <t>The batch processor is both the OAuth client and the acting service.  The <tt>client_id</tt> claim identifies the client registration, and <tt>act.sub</tt> explicitly identifies the acting service.</t>
      </section>
      <section anchor="access-token">
        <name>Access Token</name>
        <t>The Enterprise AS issues the following JWT access token for the Payroll API:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.example.com",
  "sub": "https://idp.example.com/users/pat",
  "sub_profile": "user",
  "client_id": "payroll-batch-client",
  "aud": "https://services.example.com/payroll-api",
  "scope": "payroll:run",
  "cnf": { "jkt": "SvcJKT-123" },
  "act": {
    "sub": "https://services.example.com/payroll-batch",
    "iss": "https://as.example.com",
    "sub_profile": "service"
  }
}
]]></sourcecode>
        <t>This token carries a single-hop actor object: the <tt>act</tt> claim is present but contains no nested <tt>act</tt> object.  The <tt>sub</tt> claim identifies the payroll administrator, while <tt>act.sub</tt> identifies the service exercising that administrator's authorization.</t>
      </section>
      <section anchor="transaction-token">
        <name>Transaction Token</name>
        <t>After processing the payroll request, the Payroll API exchanges the inbound access token at the Audit TTS to call the internal Audit Service, presenting its workload credential, issued by <tt>https://as.example.com</tt>, as <tt>actor_token</tt>.  The Payroll API is the requesting workload (<tt>req_wl</tt>).  In presenter-rebind mode, the TTS validates the inbound delegation chain and the workload credential, preserves the chain as an inner <tt>act</tt> object, and adds a new outermost actor for the Payroll API:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://tts.example.com",
  "sub": "https://idp.example.com/users/pat",
  "sub_profile": "user",
  "req_wl": "https://services.example.com/payroll-api",
  "aud": "https://internal.example.com/audit",
  "scope": "audit:create",
  "txn": "550e8400-e29b-41d4-a716-446655440099",
  "cnf": { "jkt": "ApiJKT-456" },
  "act": {
    "sub": "https://services.example.com/payroll-api",
    "iss": "https://as.example.com",
    "sub_profile": "service",
    "act": {
      "sub": "https://services.example.com/payroll-batch",
      "iss": "https://as.example.com",
      "sub_profile": "service"
    }
  }
}
]]></sourcecode>
        <t>The administrator remains the subject.  The Payroll API becomes the outermost actor, and the batch processor remains the inner actor.</t>
      </section>
    </section>
    <section anchor="appendix-cross-domain">
      <name>Cross-Domain AI Agent Flow: ID Token to Transaction Token</name>
      <t>This appendix follows a delegated request across two trust domains.  Token validation and presenter proofs follow the underlying token specifications and the deployment profile.</t>
      <t>All claim values, JWK thumbprints, and domain names are synthetic.  Long HTTP example lines use the backslash convention defined in <xref target="RFC8792"/>; other line breaks in form bodies are for readability only.</t>
      <section anchor="scenario-and-parties">
        <name>Scenario and Parties</name>
        <t>Alice authenticates at the Enterprise IdP AS.  Her Travel Assistant exchanges the ID Token for an ID-JAG, then presents that grant to the Travel Provider AS for an access token.  The agent calls the Booking Tool, which exchanges the access token for a Transaction Token to call the Inventory Service.</t>
        <artwork><![CDATA[
Enterprise domain                 Travel Provider domain
Alice
  | (1) authenticates
  v
Enterprise IdP AS -> ID Token
  | (2) Token Exchange
  v
Enterprise IdP AS -> ID-JAG
                       | (3) JWT bearer grant
                       +--------> Travel Provider AS -> Access Token
                                               |
                  Travel Assistant <-----------+
                       | (4) Access Token + DPoP
                       v
                  Booking Tool (RS) --(5) Token Exchange--> TTS
                       ^                                     |
                       +-------- Transaction Token ----------+
                       | (6) Transaction Token + WIMSE proof
                       v
                  Inventory Service (RS)
]]></artwork>
        <table>
          <thead>
            <tr>
              <th align="left">Party</th>
              <th align="left">Identifier</th>
              <th align="left">Trust Domain</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Alice</td>
              <td align="left">
                <tt>https://idp.enterprise.example/users/alice</tt></td>
              <td align="left">Enterprise</td>
            </tr>
            <tr>
              <td align="left">Enterprise IdP AS</td>
              <td align="left">
                <tt>https://as.enterprise.example</tt></td>
              <td align="left">Enterprise</td>
            </tr>
            <tr>
              <td align="left">Travel Assistant</td>
              <td align="left">
                <tt>https://agents.enterprise.example/travel-assistant</tt></td>
              <td align="left">Enterprise</td>
            </tr>
            <tr>
              <td align="left">Travel Provider AS</td>
              <td align="left">
                <tt>https://as.travel-provider.example</tt></td>
              <td align="left">Travel Provider</td>
            </tr>
            <tr>
              <td align="left">Travel Provider TTS</td>
              <td align="left">
                <tt>https://tts.travel-provider.example</tt></td>
              <td align="left">Travel Provider</td>
            </tr>
            <tr>
              <td align="left">Booking Tool</td>
              <td align="left">
                <tt>https://tools.travel-provider.example/booking-tool</tt></td>
              <td align="left">Travel Provider</td>
            </tr>
            <tr>
              <td align="left">Inventory Service</td>
              <td align="left">
                <tt>https://internal.travel-provider.example/inventory</tt></td>
              <td align="left">Travel Provider</td>
            </tr>
          </tbody>
        </table>
        <t>The following table lists the presenter key bindings:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Principal</th>
              <th align="left">JWK Thumbprint (jkt)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Travel Assistant</td>
              <td align="left">
                <tt>AgentJKT-NzbLsXh8uDCcd7MN</tt></td>
            </tr>
            <tr>
              <td align="left">Booking Tool</td>
              <td align="left">
                <tt>ToolJKT-0ZcOCORZNYy9ZhHi</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="capability-discovery-preflight">
        <name>Capability Discovery (Preflight)</name>
        <t>Before initiating the flow, the agent consults the following Travel Provider AS metadata (<xref target="metadata-and-discovery">Metadata and Discovery</xref>) as an advisory compatibility check:</t>
        <sourcecode type="json"><![CDATA[
{
  "issuer": "https://as.travel-provider.example",
  "grant_types_supported": [
    "urn:ietf:params:oauth:grant-type:jwt-bearer",
    "urn:ietf:params:oauth:grant-type:token-exchange"
  ],
  "authorization_grant_profiles_supported": [
    "urn:ietf:params:oauth:grant-profile:id-jag",
    "urn:ietf:params:oauth:grant-profile:actor-profile"
  ],
  "actor_profile_token_exchange": {
    "subject_token_types_supported": [
      "urn:ietf:params:oauth:token-type:jwt"
    ],
    "actor_token_types_supported": [
      "urn:ietf:params:oauth:token-type:jwt"
    ],
    "requested_token_types_supported": [
      "urn:ietf:params:oauth:token-type:access_token",
      "urn:ietf:params:oauth:token-type:txn_token"
    ]
  },
  "entity_profiles_supported": {
    "subject": ["user", "ai_agent"],
    "actor":   ["user", "ai_agent", "service"]
  }
}
]]></sourcecode>
        <t>The agent confirms that its <tt>sub_profile</tt> (<tt>ai_agent</tt>) is in <tt>entity_profiles_supported.actor</tt>, that ID-JAG and actor-profile grants are advertised in <tt>authorization_grant_profiles_supported</tt>, and that the planned input/output token types appear in <tt>actor_profile_token_exchange</tt>.  These signals are only coarse compatibility indicators; the agent proceeds because the advertised capabilities cover its planned path.</t>
      </section>
      <section anchor="step-1-user-authentication-id-token">
        <name>Step 1: User Authentication (ID Token)</name>
        <t>Alice authenticates to the Enterprise IdP AS, which issues the following ID Token.  An ID Token implicitly identifies a user; it does not carry a <tt>sub_profile</tt> claim, and the AS establishes the entity type in subsequently issued tokens (Step 2):</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.enterprise.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "aud": "https://agents.enterprise.example/travel-assistant",
  "exp": 1743379200,
  "iat": 1743375600
}
]]></sourcecode>
      </section>
      <section anchor="step-2-enterprise-token-exchange-id-token-to-id-jag">
        <name>Step 2: Enterprise Token Exchange (ID Token to ID-JAG)</name>
        <t>The agent presents Alice's ID Token as the <tt>subject_token</tt> in a Token Exchange request to the Enterprise IdP AS, requesting an ID-JAG (<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>).  The agent's client assertion (<xref target="RFC7523"/>) serves as both the <tt>client_assertion</tt> (for client authentication) and the <tt>actor_token</tt> (for actor identity), as described in <xref target="jwt-client-assertion-as-actor-token">JWT Client Assertion</xref>.  The Enterprise IdP AS authenticates the client, verifies that the ID Token audience matches that client, and uses local delegation policy to construct the issued ID-JAG.  The following is an example of the Token Exchange request:</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /token HTTP/1.1
Host: as.enterprise.example
Content-Type: application/x-www-form-urlencoded
DPoP: <AgentJKT-proof>

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange
&subject_token=<alice-id-token>
&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3A\
  token-type%3Aid_token
&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3A\
  token-type%3Aid-jag
&audience=https%3A%2F%2Fas.travel-provider.example
&resource=https%3A%2F%2Fapi.travel-provider.example
&scope=booking%3Acreate
&client_id=https%3A%2F%2Fagents.enterprise.example%2Ftravel-assistant
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3A\
  client-assertion-type%3Ajwt-bearer
&client_assertion=<travel-assistant-client-assertion>
&actor_token=<travel-assistant-client-assertion>
&actor_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Ajwt
]]></artwork>
        <t>The Enterprise IdP AS validates the shared client assertion for both client authentication and actor identity, verifies the DPoP proof, and confirms Alice's delegation under local policy.  It applies scope reduction and binds the following issued ID-JAG to the demonstrated DPoP key:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.enterprise.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "sub_profile": "user",
  "client_id": "https://agents.enterprise.example/travel-assistant",
  "azp": "https://agents.enterprise.example/travel-assistant",
  "aud": "https://as.travel-provider.example",
  "resource": "https://api.travel-provider.example",
  "jti": "ent-idj-20260401-001",
  "exp": 1743379200,
  "iat": 1743375600,
  "scope": "booking:create",
  "cnf": { "jkt": "AgentJKT-NzbLsXh8uDCcd7MN" },
  "act": {
    "sub": "https://agents.enterprise.example/travel-assistant",
    "iss": "https://as.enterprise.example",
    "sub_profile": "ai_agent"
  }
}
]]></sourcecode>
        <t>In this ID-JAG, the <tt>client_id</tt>, <tt>azp</tt>, and <tt>act.sub</tt> claims carry the same URI because the agent is both the client and the actor.  The top-level <tt>cnf.jkt</tt> member binds the grant to the agent's key.</t>
      </section>
      <section anchor="step-3-agent-exchanges-id-jag-for-access-token-at-travel-provider-as">
        <name>Step 3: Agent Exchanges ID-JAG for Access Token at Travel Provider AS</name>
        <t>The agent presents the ID-JAG as a JWT bearer grant (<xref target="RFC7523"/>) to the Travel Provider AS, which processes it as an ID-JAG per <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> with the actor-profile rules in <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref>:</t>
        <artwork><![CDATA[
POST /token HTTP/1.1
Host: as.travel-provider.example
Content-Type: application/x-www-form-urlencoded
DPoP: <AgentJKT-proof>

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer
&assertion=<id-jag>
&scope=booking%3Acreate
]]></artwork>
        <t>The Travel Provider AS performs actor-profile processing per <xref target="jwt-assertion-grants-processing">Authorization Grant Processing</xref>: it verifies the request's DPoP proof against the top-level <tt>cnf.jkt</tt> in the inbound ID-JAG and checks that <tt>act.sub_profile</tt> (<tt>ai_agent</tt>) is permitted as an actor for the requested scope under local policy.  It issues the following access token, which preserves the delegation chain:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "sub_profile": "user",
  "client_id": "https://agents.enterprise.example/travel-assistant",
  "azp": "https://agents.enterprise.example/travel-assistant",
  "aud": "https://api.travel-provider.example",
  "jti": "tp-at-20260401-001",
  "exp": 1743379200,
  "iat": 1743375600,
  "scope": "booking:create",
  "cnf": { "jkt": "AgentJKT-NzbLsXh8uDCcd7MN" },
  "act": {
    "sub": "https://agents.enterprise.example/travel-assistant",
    "iss": "https://as.enterprise.example",
    "sub_profile": "ai_agent"
  }
}
]]></sourcecode>
        <t>The Travel Provider AS preserves Alice's subject identifier and classification, the actor chain, and the agent's presenter binding.  Client identifiers remain separate from actor semantics.</t>
      </section>
      <section anchor="step-4-agent-calls-booking-tool-api">
        <name>Step 4: Agent Calls Booking Tool API</name>
        <t>The agent presents the access token with a DPoP proof:</t>
        <artwork><![CDATA[
POST /bookings HTTP/1.1
Host: api.travel-provider.example
Authorization: DPoP <tp-access-token>
DPoP: <AgentJKT-proof>
Content-Type: application/json

{"origin": "SFO", "destination": "NYC", "depart": "2026-04-15"}
]]></artwork>
        <t>The Booking Tool RS authorizes the (<tt>sub</tt>, outermost <tt>act.sub</tt>) pair (<xref target="resource-server-processing">Resource Server Processing</xref>): it evaluates Alice (<tt>sub</tt>, <tt>sub_profile: user</tt>) together with the Travel Assistant (<tt>act.sub</tt>, <tt>sub_profile: ai_agent</tt>) for the requested operation.  The <tt>act.sub_profile</tt> value is checked against <tt>entity_profiles_supported.actor</tt> per <xref target="authorization-server-metadata">Authorization Server Metadata</xref>.</t>
      </section>
      <section anchor="step-5-booking-tool-exchanges-access-token-for-transaction-token">
        <name>Step 5: Booking Tool Exchanges Access Token for Transaction Token</name>
        <t>The Booking Tool cannot reuse the received access token for internal calls because the token is sender-constrained to <tt>AgentJKT</tt>, a key that the Booking Tool does not possess.  Instead, it requests a Transaction Token from the TTS.  In this example, the TTS receives the Booking Tool's WIMSE Workload Identity Token (WIT), issued by the Travel Provider AS (<tt>https://as.travel-provider.example</tt>), as the Token Exchange <tt>actor_token</tt> and validates a Workload Proof Token (WPT).  The WIT identifies the Booking Tool and carries its confirmation key, while the WPT proves possession of that key and binds the request to the accompanying access token:</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /token HTTP/1.1
Host: tts.travel-provider.example
Content-Type: application/x-www-form-urlencoded
Workload-Proof-Token: <tool-wpt-with-wth-and-ath>

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange
&subject_token=<tp-access-token>
&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3A\
  token-type%3Aaccess_token
&actor_token=<booking-tool-wit>
&actor_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Ajwt
&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3A\
  token-type%3Atxn_token
&audience=https%3A%2F%2Ftravel-provider.example
&scope=inventory%3Acheck
&request_context=%7B%22req_ip%22%3A%22198.51.100.42%22%7D
]]></artwork>
        <t>The WIT is therefore the JWT <tt>actor_token</tt> defined by this profile, while the WPT provides the accompanying proof of possession required by the workload-credential profile.</t>
        <t>The TTS applies actor-profile processing per <xref target="transaction-token-output-rules">Transaction Token Output Rules</xref>: it preserves <tt>sub</tt> and <tt>sub_profile</tt> from the <tt>subject_token</tt>, sets <tt>req_wl</tt> to the authenticated Booking Tool, and creates a new outermost <tt>act</tt> object for the Booking Tool while nesting the <tt>subject_token</tt>'s existing <tt>act</tt> claim beneath it.  In this WIMSE-based deployment, the deployment profile defines the <tt>cnf.jkt</tt> binding, proven by the WPT, and the TTS binds the issued token to the Booking Tool's presenter key (<tt>ToolJKT</tt>), which the WIT's <tt>cnf.jwk</tt> carries:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://tts.travel-provider.example",
  "sub": "https://idp.enterprise.example/users/alice",
  "sub_profile": "user",
  "scope": "inventory:check",
  "req_wl": "https://tools.travel-provider.example/booking-tool",
  "aud": "https://travel-provider.example",
  "jti": "txn-tok-20260401-001",
  "txn": "550e8400-e29b-41d4-a716-446655440001",
  "exp": 1743375750,
  "iat": 1743375650,
  "tctx": {
    "action": "check-availability",
    "origin": "SFO",
    "destination": "NYC",
    "depart": "2026-04-15"
  },
  "rctx": { "req_ip": "198.51.100.42" },
  "cnf": { "jkt": "ToolJKT-0ZcOCORZNYy9ZhHi" },
  "act": {
    "sub": "https://tools.travel-provider.example/booking-tool",
    "iss": "https://as.travel-provider.example",
    "sub_profile": "service",
    "act": {
      "sub": "https://agents.enterprise.example/travel-assistant",
      "iss": "https://as.enterprise.example",
      "sub_profile": "ai_agent"
    }
  }
}
]]></sourcecode>
        <t>The presenter binding changes at this step: <tt>cnf.jkt</tt> is now <tt>ToolJKT</tt> because the Booking Tool is the current presenter.</t>
      </section>
      <section anchor="step-6-booking-tool-calls-inventory-service">
        <name>Step 6: Booking Tool Calls Inventory Service</name>
        <artwork><![CDATA[
GET /inventory?origin=SFO&dest=NYC&depart=2026-04-15 HTTP/1.1
Host: internal.travel-provider.example
Txn-Token: <txn-token>
Workload-Identity-Token: <booking-tool-wit>
Workload-Proof-Token: <tool-wpt-with-wth-and-tth>
]]></artwork>
        <t>The Inventory Service validates the WIT and WPT and then authorizes Alice and the Booking Tool as the subject and the immediate actor, respectively.  It uses <tt>req_wl</tt> as supporting workload context.  The Travel Assistant remains prior-actor context and is not used for access control.</t>
      </section>
      <section anchor="summary-of-token-transformations">
        <name>Summary of Token Transformations</name>
        <table>
          <thead>
            <tr>
              <th align="left">Step</th>
              <th align="left">Token</th>
              <th align="left">sub</th>
              <th align="left">req_wl</th>
              <th align="left">act.sub (outermost)</th>
              <th align="left">act.act.sub (nested)</th>
              <th align="left">cnf.jkt</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">ID Token</td>
              <td align="left">Alice</td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">ID-JAG</td>
              <td align="left">Alice</td>
              <td align="left"> </td>
              <td align="left">Travel Assistant</td>
              <td align="left"> </td>
              <td align="left">AgentJKT</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Access Token</td>
              <td align="left">Alice</td>
              <td align="left"> </td>
              <td align="left">Travel Assistant</td>
              <td align="left"> </td>
              <td align="left">AgentJKT</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">(API call)</td>
              <td align="left">Alice</td>
              <td align="left"> </td>
              <td align="left">Travel Assistant</td>
              <td align="left"> </td>
              <td align="left">AgentJKT</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">Transaction Token</td>
              <td align="left">Alice</td>
              <td align="left">Booking Tool</td>
              <td align="left">Booking Tool</td>
              <td align="left">Travel Assistant</td>
              <td align="left">ToolJKT</td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">(internal call)</td>
              <td align="left">Alice</td>
              <td align="left">Booking Tool</td>
              <td align="left">Booking Tool</td>
              <td align="left">Travel Assistant</td>
              <td align="left">ToolJKT</td>
            </tr>
          </tbody>
        </table>
        <t>Key observations:</t>
        <ul spacing="normal">
          <li>
            <t>In this example, <tt>sub</tt> (Alice) is unchanged across all trust domains and token transformations.</t>
          </li>
          <li>
            <t>The presenter-binding key changes once, at Step 5, when the TTS rebinds the Transaction Token to the Booking Tool's key.</t>
          </li>
          <li>
            <t>At Step 5 the TTS creates a new outermost <tt>act</tt> for the Booking Tool and nests the prior <tt>act</tt> chain beneath it.</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author thanks the OAuth Working Group for the specifications on which this profile builds.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]</t>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Restructured and tightened the text: each rule has one home, dependencies are cited rather than restated, tables cover claim roles, token types, and error mappings, Token Exchange inputs share one processing algorithm, and Security Considerations point to the rules they rely on.  Removed the Conformance section, which restated those rules.</t>
        </li>
        <li>
          <t>Revised the Introduction to state what Token Exchange leaves open and the ID-JAG extension point this profile fills.</t>
        </li>
        <li>
          <t>Added hop and visible-hop terminology; only an introspection server filters the visible <tt>act</tt> chain.</t>
        </li>
        <li>
          <t>Required <tt>client_id</tt> in JWT access tokens, per <xref target="RFC9068"/>, and limited the JWT access token structure to JWT access token output.</t>
        </li>
        <li>
          <t>Reworked presenter transitions: bearer continuation by the authenticated outermost actor, rebind by a direct presenter credential or the <tt>may_act</tt> client, rejection of delegated requests that fit neither mode, a new Token Exchange actor only from an <tt>actor_token</tt> or the <tt>may_act</tt> path, issuance without <tt>act</tt> for requests that are not delegated, a refresh token's recorded <tt>act</tt> chain kept on Token Exchange and on the <tt>refresh_token</tt> grant, every requested audience and resource issued or <tt>invalid_target</tt> returned, and new-presenter proof only for sender-constrained output.</t>
        </li>
        <li>
          <t>Kept nested <tt>act</tt> informational for access control, per <xref section="4.1" sectionFormat="of" target="RFC8693"/>: inner actors are prior-actor context only.</t>
        </li>
        <li>
          <t>Rebind now supersedes a sender-constrained assertion grant's binding and makes the grant single-use; grant replay protection depends on an enforced grant-level sender constraint and the (<tt>iss</tt>, <tt>jti</tt>) pair.</t>
        </li>
        <li>
          <t>Aligned error codes with <xref section="2.2.2" sectionFormat="of" target="RFC8693"/> and <xref section="3.1" sectionFormat="of" target="RFC7523"/>: <tt>invalid_request</tt> on Token Exchange, <tt>invalid_grant</tt> on JWT bearer grants, and <tt>actor_unauthorized</tt> for actor-policy denials, with explicit error precedence.</t>
        </li>
        <li>
          <t>Set an ID-JAG's <tt>aud</tt> to the Resource Authorization Server's issuer identifier, capped the scope issued from an assertion-grant or Transaction Token <tt>subject_token</tt>, required <tt>jti</tt> in assertion grants, and required an ID Token's <tt>aud</tt> to match the authenticated client.</t>
        </li>
        <li>
          <t>Aligned Transaction Token rules with <xref target="I-D.ietf-oauth-transaction-tokens"/>: <tt>act</tt> only for delegation, <tt>sub</tt> unchanged on replacement, scope within the <tt>subject_token</tt>'s authority, and presenter proof and rejection per the deployment profile.</t>
        </li>
        <li>
          <t>Used <tt>may_act.iss</tt> as the identifier context when present, and preserved inherited actor objects, their extension and confirmation members, and unrecognized <tt>sub_profile</tt> values unchanged.</t>
        </li>
        <li>
          <t>Resource servers validate mTLS-bound tokens, require <tt>iss</tt> on every visible actor object when conformance is required, identify the outermost actor by its (<tt>act.iss</tt>, <tt>act.sub</tt>) pair, treat a missing <tt>act</tt> in introspection as an error only when delegation is indicated, and enforce the depth limit.</t>
        </li>
        <li>
          <t>Clarified actor-token classification and validation for standalone JWT client assertions, JWT access tokens, and WIMSE workload credentials, including each type's <tt>act.iss</tt> and a client check for a bearer JWT access token.</t>
        </li>
        <li>
          <t>Tightened the metadata triggers and added the ID-JAG token type to <tt>requested_token_types_supported</tt>.</t>
        </li>
        <li>
          <t>Removed BCP 14 keywords from guidance no other party can observe, made RFC 6749, RFC 7800, OpenID Connect Core, and ID-JAG normative, corrected citations, and aligned the examples on one travel scenario.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S963YcR5Im+B9PEQv9IMCTCZEURVJAV/egSKkaNRLJJqjR
VPPUIQKZASCKiYycjEhAKJH1LPss+2Rrdzf38EhcSHVv99bZnaaQEeF3c7t8
9tl4PN7o6m5W7Rabr/ZX3VmxP+maZfF62ZzUs6o4gX+/qGbVadnVzXxzozw+
XlYX+Yc3NyZlV502y6vdou2mG9NmMi/P4cvTZXnSjc8np6t6Pq/adtyU8PK4
xJfHC355/ODhRrs6Pq/bFhrqrhbw3sH3b3/YmK/Oj6vl7ka9WEKz3XLVdo8e
PPjuwSPozLIq4W+H1WS1rLurzY3LZvnhdNmsFvDXX6rjAvvYLOu/U+exm10z
aWabGx+qK3h0urtRjAvqC/5jasPE/6LO4T+65kM1L6pfJ2fl/LSyv2xcVPNV
BV8obtJgUfCINn+BHtbz0+JP+BL+/bysZ/B36sX/qKvuZKdZnuIP5XJyBj+c
dd2i3f36a3wO/1RfVDv62Nf4h6+Pl81lW31NX/ga3zytu7PVMbwbZvzrmywB
vjuDFWw73669ssPf3ambG33tRg/tnHXnMD0bJc0brgf0oShOVrMZb53/WS5n
xU+TP8k36FcYeTmXOYZNMp9Wiwr+n3lHv1Y8o4vV8aye/I8P8L4bwqQ539iY
N8tzePmCVu/ND8+/+e7ZE/nnk6ePv7N/fvtA/vkU9pv+89uH4Z+PHoZ/fqP/
fPZAX3v29MG3+tcnTx7pXx8/fCz//O7po2f61yff6Re+e/DkWfjCU/3rY+7Z
wfgFrb/MZrcs5y1MKUzFmPZlGz10WZ+31RiPxawpp+PJsppmH1h0+tfzZlnK
t2FG4VTpUtF7sI8jYfE9PaICoN2kR2wx8X+8oPGiHi6rq3LenZXF87NyeVX8
BG3aY/Hq/lRPlk3bnHTDX3sN/++sLF7AsZpVd/9Mbqddv9umcF52i0cPHj0Z
P3g8fviU/thWy7pq6/lJI5MAr3XVcl514xd4KEwiDs41SkOa7XJ5WsHzehov
Ly/j0w+7+Ot6+vUNvrfT/dr19089lSfLFnpN2wj//vfxKWysLl7yA3m22Ndn
iz//8jaReX/C9264D/bLJUpJEOOTD/XAhL/60JVfetGyn/rjsi7nxfPyfHFc
zWYDX3qNslvnobcBvh0/enirDXDjhYDNdYf9cJvPy/Z4BfN08GLnebOskvNO
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
Y0OdX8yIJFXFtg5eaBCGg41OL4VrN5iEgQoELYTwd9mCVHpMA71U2tV4HSO/
PJMzJUpXVVOZNtoDiGNiGKc10cNDIJCXCKa182mlx5hSl/qz19O6/Tt1J/lH
UjQhq/XWLOZ4eFvv3sjXtFyIfF0p4PCmfqnJRrQOoRbh37CmEIf7p9NAKsX5
wqDFsEpF7eg65fS4US62SXWhe8HJmyxltFKjbGVMseLwXXG0h/NkmThKzJAy
gMr6lpJdSxOePT4i1pmTIM+2lMfIkGGfKMi1j3VoPXG/9r5qAsG4LQCYmQGf
L4cS2G8O8jrfqazxjZ015BOYJo4oGyoB3TsmWPbXBAIxLhsndLogJVEIitIj
KQS9WUXo2tzYOYdI0uZiUN22emxmLVIitAgFsKwYAe+RW0vlSAvnJpniXXoe
y6Hyw3XXxwRZJtlSUjQHuERH9HaszqSpLZiIspLCbLDgXxxSFZgF05VjvBSu
2eBaWRHuL1kFeLRuIbPlXTJIh7VMj7k1g0fXEenFuICo9Dm7yog0VfY2HgUj
zmKtCEVGXi9i55z/3lBSEs02O3LTc6+yhgTMSPJLUJqzmLCe73m10ZwBZT0L
ClYOJhShXrVahfpZYu+KOqsE+qXdaKV+mY1SALdhTh1Ln/NC9LleQkEq2gDM
Yukp9mFGf/RwE/ScauI++9sM/TSUTBPXn7O4eyh5bt7AQDrcp6ULBZ7Xj9zC
+H1Qp6ObyAIPb0y66zNcFU7/bg3Lcl9J9IIcg6mvHKfC7Y94D3/qyHbv3xf2
UHc3mz1C8ijN1svT8FKohgHjyV3AlKbnVck1RxJaztBszFcYlXbOKsFiIynr
k58y3rxyD8jj+hzXU+vTGOOt1QS8VeldyaxGgWYzq7iyDoUljJF15APsIXWK
S1rglITt5ylN+xoFHzkFj/Z5XXtcTjA3eVchksPS5NRERkBHjFKAemRQDtlZ
L/OcymoiwOr5oJYrqJcGcnYQwk3npFUBLxmrpreiQSEsVmKEjwrHI+BpYmRG
sZehZLr8ljoCPcglKlchkpRNz9RM6xucqZkWqnUlB1nFzZaTptvrxIzALFz6
K2lBV4tqqO+xPa7FyD10gOoijxzDd7Ah7yHg4FI1XdoNcPtWCFIzUl2t70GG
0upYPbMFV5MrHppx8NjVdDZTdU/KMn9LH3wSHumpDtdQkIjnXNKfY+4Z6R3v
ZhgQA1cds0B8sQ7VVsnrBd6F9UhTfMJqjpR6zzp5z88TrujtfeOacBRQovSI
8Az8YnRGNmIpS2ugmjEn8VJ2VjzulAJAu6zMamvz/0staA8tklLe8lQTv/Wd
ZjdDUuCLb90x6WFXtP2eosi9jJIwmnDz6Vb/HdIlYr6XTJUbjn5bVa90H5F2
usYaCkQ57vbtG/KognH9dVCICQZ2ElGOG9e4IyGIvCpiP3MfctnDPyQ5530E
RA5qna9hYAwIXHzbSIRiXCgo0jKA7ZG5MOO/pzXg3E3FI8FZ+Az4+H463gTP
Hce+BckWzaXlRuynROfpQptVMm8G/WiJp4K1Mh4puzfa1CVmX3WB6LIdnrDr
nWV7zD4kU+l6Pa/ye8t7bVLmgj4phMEsvqTFu8dSKrhGQo/mhKnPz0ak/PfM
ipGBvHP2Em3wxgqi2T74gf2qiULmT4UDofRK51JhHMr45yqPvhTcrcpeCJvB
24B9AZ1qNVG+tv4dIQ9XJycouC4iYrfE72OGrMvv56fFf8zVXedXowFW/Hv+
zu+nx3ekk5lG5M6sE/V3PPTETqFZerL854JBDlzsGSUH1zXvIgUZ+lGUz4+W
v8lp5R8JmmbcHFyt52Nx6Cer+LjxcTweR/8/fDAnjj4WX6CSOPbV61gfKe/W
aT7Wuhf+Hz1IWvjgCHr2Kwz1I1wMrHtoSYyenQWtIvV8sruwqf6d8jGHfog0
R9Qkfp2HuHyc/ef6I9pRdowm43BsrxbV/ODFzvNmWeH4Iu3pY/GyCQacLuJL
NFvwO28imf1R+9shEK9Zmlp2XE4+oPd4PocbPv/Jgy5K49M54r2XDauTwg5n
lB306XWViJdbb9SN3KbsxWs/RoCH7FT/si4ky+MmWyk2D+JthQNSq/JeG770
uds1NXPjb1Pqk5jKLGk3Ng73f/rxDkUZXO2k8SFdxumHqchmLg82SyfZ2/if
rJJFLy1tTcTDbxqLR42E1ktL8d0uIJV42viPkUtVKrLdJbJq+P5gKdOtsFP4
+peGUnLaoxN6RnjwBQSqGMWKVYsfVXd6VE03QBsNZ2YMN3jtoYNNvAWJYwJV
IIQno2G8WlbxR9TxbDOUZtmTMcrIurpN/OrR82ZD+zfEa73erGZ25HxMcCQ8
hl9o3pVfZ02WeuS2vBeqpjkeSVu6e+2uqmm9zHbut6W1NydecTTGxxtku8tR
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
iowzMgG+Nl1NKoGxhGlJIX69Lwu6vSzsmOcmKjdHvZ1mdKZMVWf+QIktxmPo
7Y1QktjSuylZwpKQ/J6uHZs4rcnbaKsm5Pw2WEoguDxraOtzXwkLiGP0KUgu
usLZPMJjy4mOccrXrLwitv8DJqoPkbiwZWmjoiArFXbKYugSc5c4XrBnHK7E
2DvkpZczITzkNGVx3z1LIG0PO6aCacAkPUoxxaptBggjKNpEsV1xvEoVdjPX
BEObi3n1tpdadXxCtLwtHfvrA99kZWZCA7AlEAOsSXrZMKlAyuuYt+FeL7Ql
z2trkeRW+Tj0CrYBxxsHhUo3DAjzu3PB7xZ2u2AyVXRIiQrc9Ej8y3UYA1Sa
Sew1hW96A31/7Y00pP7rxES6/KLeoazP2VjO/TI2A7LTEZReZxMMfWZAy1VZ
uMlUA+6K7+dPuqj0IR0hoTjp1SA1j/7VuNUHPxF0P4B1XagkU5jTWXKJZ6Lv
ky8GSBRiBX7nOq+LI3oPvRRstHBk5KzZiIch6Ssbnm2uz4uVlqNbH1sJkOR1
MZ2s8U0hnc+dkvWFRRAzhR3pctQeBqwI1wRHObP76OcWNM0gHEV0paLkxipg
4Jtp22ZS0+oMAvxNiLr4aJBm7/I4kr9uDeBItuNYlGaitoFrmW5AI6kj7hGc
gjUun4k8Q16eSayulRaQnpnIL4701ff66vvrVpvpIKMwP/Kxc2jbUXeIYAxh
44FwZdgt4YaOg56EN5ZsZBLXuHkcXzljYMee5XxMylEAD+LmgDuAIcAw8S/s
Hpd7k9Rf0W6CXCqUsH3o3keHEOYLII2JRekFPjlJc8lMdGR0LM/fs+NTMkZE
y8BGQADfTZflpfIjX3tdh2rYthiJmrbfv7PkmoR77mRGcDNj3KqNeNs+56T0
0fqb4yjwlpbL06qLTlv0mbXWbjBJg6H71+JTYOTg7t9rlTMzUZlQo1er9SjS
C4itpVzWsO5t1yxaLePp6sFoTg6vnJIEiAqR2c0x8stjWgsjxJPW50xIhKA+
0TAo7eWGiYNwy16TODhoV4cdaWEbMulMz1GFTQk7aBL2+pu85Vo4LPgpA4DO
BBZ5sbxI5QhB7aOaM9kRqQcgUThhLUrjddzylPp5jgeOKNs29vsd4Dk9XtWz
acvpMUG8ctY8WgN6MwWUToDp+qQ+5rSzHRokP/VxIJlLsydZIw8FsjGnyFCW
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

-->

</rfc>
