<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fletcher-transaction-token-chaining-profile-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Txn-Token Chaining Profile">Transaction Token Authorization Grant Profile for OAuth Identity and Authorization Chaining</title>
    <seriesInfo name="Internet-Draft" value="draft-fletcher-transaction-token-chaining-profile-01"/>
    <author initials="G." surname="Fletcher" fullname="George Fletcher">
      <organization>Practical Identity LLC</organization>
      <address>
        <email>george@practicalidentity.com</email>
      </address>
    </author>
    <author initials="P." surname="Kasselman" fullname="Pieter Kasselman">
      <organization>Defakto Security</organization>
      <address>
        <email>pieter@defakto.security</email>
      </address>
    </author>
    <author initials="S." surname="O'Dell" fullname="Sean O'Dell">
      <organization>CVS Health</organization>
      <address>
        <email>sean.odell@cvshealth.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="20"/>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>transaction tokens</keyword>
    <keyword>identity chaining</keyword>
    <keyword>cross-domain</keyword>
    <keyword>trust domain</keyword>
    <abstract>
      <?line 150?>

<t>This specification defines a profile of the OAuth Identity and
Authorization Chaining Across Domains
<xref target="I-D.ietf-oauth-identity-chaining"/> mechanism that uses a Transaction
Token (Txn-Token) <xref target="I-D.ietf-oauth-transaction-tokens"/> as the subject
token in a Token Exchange <xref target="RFC8693"/> request to obtain a JWT
Authorization Grant for crossing a trust boundary.</t>
      <t>A Txn-Token is scoped to a single trust domain and represents the
full authorization context of an in-progress transaction, regardless
of whether that transaction was initiated by a human user calling an
external API, by an internal system event, or by an automated
workload.  This profile specifies how a service operating within that
trust domain can present its Txn-Token to obtain a JWT Authorization
Grant that carries the necessary context across a trust boundary,
enabling an access token to be issued for a partner service,
without exposing internal trust-domain credentials or token formats
beyond the trust boundary.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 170?>

<t><em>RFC EDITOR: please remove this section before publication</em></t>
      <t>Discussion of this document takes place on the Web Authorization
Protocol Working Group mailing list (oauth@ietf.org), which is
archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/">https://mailarchive.ietf.org/arch/browse/oauth/</eref>.</t>
      <t>Source for this draft and an issue tracker can be found at
<eref target="https://github.com/george-fletcher/draft-fletcher-transaction-token-chaining-profile">https://github.com/george-fletcher/draft-fletcher-transaction-token-chaining-profile</eref>.</t>
    </note>
  </front>
  <middle>
    <?line 181?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Organizations routinely deploy services that, in fulfilling a
transaction for a user or an automated process, must call one or more
partner APIs that lie outside the organization's own trust boundary.
The challenge is to carry the authorization context of the original
transaction — including the identity and authorization of the
Initiating Principal — across that boundary in a way that is
trustworthy to the partner, without leaking internal credentials or
internal token formats.</t>
      <t>Transaction Tokens (Txn-Tokens) <xref target="I-D.ietf-oauth-transaction-tokens"/>
address the first half of this problem.  A Txn-Token is a
short-lived, cryptographically signed JWT scoped to a single trust
domain (for example, an enterprise or a cloud service provider's
internal environment).  It is minted by a Transaction Token Service
(TTS) at the point where a transaction enters the trust domain and
captures, in immutable form, the identity of the initiating
principal, the purpose of the transaction, and relevant request
parameters.  Every workload within the trust domain that handles the
transaction receives and validates this Txn-Token, ensuring a
consistent and authoritative authorization context throughout the
internal call chain.</t>
      <t>A Txn-Token may represent any of several originating contexts:</t>
      <dl>
        <dt>External User Request:</dt>
        <dd>
          <t>A human user or external client calls an API exposed at the
trust domain's perimeter (e.g., a financial services API that
adds a stock to a watch list on behalf of the user, authenticated
via an OAuth 2.0 access token).  The TTS mints a Txn-Token
anchored to the user's identity and the authorized scope of that
external access token.</t>
        </dd>
        <dt>Internal System Event:</dt>
        <dd>
          <t>An internal system triggers processing that has no direct external
human caller (e.g., an SMTP server receiving an inbound message
and initiating storage of that message in the recipient's mailbox).
The TTS mints a Txn-Token representing the system's identity and
the purpose of the transaction.</t>
        </dd>
        <dt>Automated Workload Request:</dt>
        <dd>
          <t>One workload within the trust domain invokes another as part of
an automated pipeline (e.g., a scheduled job triggering a data
aggregation service).  The Txn-Token represents the workload
identity and the pipeline's authorization scope.</t>
        </dd>
      </dl>
      <t>In all three cases, the Txn-Token provides a uniform, internal
representation of the authorization context.  The problem this
specification addresses is what happens when a service within the
trust domain, in the course of executing such a transaction, needs
to call a service in a <em>different</em> trust domain — a partner
organization, a SaaS provider, or a third-party API — in order to
complete the transaction.</t>
      <t>Consider a mail service within an enterprise trust domain.  Upon
receiving an inbound message via SMTP, the mail service is issued a
Txn-Token representing the mail delivery transaction on behalf of the
recipient user.  Before storing the message, the mail service must
call a partner spam-rating API in the spam service's trust domain.
The mail service cannot present its internal Txn-Token to the spam
service — the Txn-Token is scoped to the enterprise trust domain and
carries internal context that must not be disclosed externally.
Instead, the mail service must obtain a credential that is meaningful
to the spam service's authorization server while preserving the
relevant authorization context of the original transaction.</t>
      <t>The OAuth Identity and Authorization Chaining Across Domains
specification <xref target="I-D.ietf-oauth-identity-chaining"/> defines a general
mechanism by which a client in Trust Domain A can obtain a JWT
Authorization Grant from the Authorization Server of Trust Domain A
and present it to the Authorization Server of Trust Domain B to
receive an access token.  The base specification deliberately leaves
the choice of subject token type open, allowing profiles to constrain
and specialize the mechanism for specific deployment scenarios.</t>
      <t>This specification defines the additional details necessary to use a
Txn-Token as the <tt>subject_token</tt> in the Token Exchange request
described in Section 2.3 of <xref target="I-D.ietf-oauth-identity-chaining"/>.
The Txn-Token is consumed by the Authorization Server of Trust Domain
A, which validates it, applies claims transcription and minimization
policy, and issues a JWT Authorization Grant targeted at the
Authorization Server of Trust Domain B.  The JWT Authorization Grant
crosses the trust boundary carrying only the context that Trust
Domain B is authorized to see.  The Txn-Token itself never leaves
Trust Domain A.</t>
      <t>This profile is complementary to the Identity Assertion JWT
Authorization Grant profile
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, which targets
deployments where the target authorization server already trusts a
common IdP for SSO and subject resolution, using an OpenID Connect
ID Token or SAML 2.0 assertion as the subject token.  That profile
is optimized for the human-user, single-sign-on scenario, where the
trust relationship between AS-A and AS-B is mediated through a
shared identity provider.  This profile addresses scenarios where
the trust relationship between AS-A and AS-B is established through a
bilateral or federated Cross-Domain Trust Agreement, and where the
input credential is a Txn-Token representing any authorized
transaction within Trust Domain A.</t>
      <t>A detailed structural comparison of the two profiles appears in
<xref target="relationship-to-related-specifications"/>.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</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?>

</section>
    </section>
    <section anchor="conventions-and-definitions">
      <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>
      <section anchor="roles">
        <name>Roles</name>
        <t>The following roles are used in this document.  They extend the
OAuth 2.0 roles defined in <xref target="RFC6749"/> as used in
<xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
        <dl>
          <dt>Initiating Principal:</dt>
          <dd>
            <t>The entity whose authorization context is captured in the Txn-Token.
The Initiating Principal may be a human user who made an external
request to Trust Domain A, an internal system acting on its own
behalf, or an automated workload operating within Trust Domain A.
The Initiating Principal is not necessarily the same entity as the
Requesting Workload that performs the cross-domain token exchange.</t>
          </dd>
          <dt>Requesting Workload:</dt>
          <dd>
            <t>A service operating inside Trust Domain A that, in the course of
processing a transaction, needs to call a Protected Resource in
Trust Domain B.  The Requesting Workload holds a Txn-Token
representing the current transaction context and acts as the OAuth
2.0 client in the Token Exchange flow with AS-A.</t>
          </dd>
          <dt>Transaction Token Service (TTS):</dt>
          <dd>
            <t>The service within Trust Domain A that mints and signs Txn-Tokens.
The TTS is the authoritative source of transaction authorization
context within Trust Domain A.  In some deployments the TTS and
AS-A <bcp14>MAY</bcp14> be co-located; in others they are separate services within
the same Trust Domain.</t>
          </dd>
          <dt>Authorization Server of Trust Domain A (AS-A):</dt>
          <dd>
            <t>The OAuth 2.0 Authorization Server within Trust Domain A that
receives the Token Exchange request from the Requesting Workload,
validates the presented Txn-Token, applies claims transcription and
minimization policy, and issues the JWT Authorization Grant targeted
at AS-B.</t>
          </dd>
          <dt>Authorization Server of Trust Domain B (AS-B):</dt>
          <dd>
            <t>The OAuth 2.0 Authorization Server within Trust Domain B that
receives the JWT Authorization Grant from the Requesting Workload
and issues an access token for the Protected Resource.</t>
          </dd>
          <dt>Protected Resource:</dt>
          <dd>
            <t>The resource server in Trust Domain B that the Requesting Workload
needs to call in order to complete the transaction in progress in
Trust Domain A.</t>
          </dd>
        </dl>
      </section>
      <section anchor="terms">
        <name>Terms</name>
        <dl>
          <dt>Transaction:</dt>
          <dd>
            <t>A unit of work initiated by an Initiating Principal that may span
multiple workloads within Trust Domain A and that has a single,
coherent authorization context.  A transaction is identified by the
<tt>txn</tt> claim in the Txn-Token.</t>
          </dd>
          <dt>Trust Domain:</dt>
          <dd>
            <t>A deployment-specific security and administrative boundary within
which services, identifiers, credentials, and policy decisions are
mutually trusted.  This term is used in
<xref target="I-D.ietf-oauth-identity-chaining"/> without a formal definition;
this profile formalizes it.  Txn-Tokens are scoped to a single
Trust Domain.  In this specification, Trust Domain A is the Trust
Domain in which the transaction originates and in which the
Requesting Workload operates.  Trust Domain B is the Trust Domain
in which the Protected Resource and AS-B operate.</t>
          </dd>
          <dt>Cross-Domain Trust Agreement:</dt>
          <dd>
            <t>A bilateral or federated configuration through which AS-A and AS-B
establish mutual trust, permitting AS-A to issue JWT Authorization
Grants that AS-B will accept, and defining the subject identifier
mappings, permitted claims, and authorization policy that apply to
cross-domain requests.  The mechanism for establishing this trust
is out of scope for this specification, but <bcp14>MUST</bcp14> be established
prior to any cross-domain token exchange under this profile.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <section anchor="transaction-token-context-within-a-trust-domain">
        <name>Transaction Token Context Within a Trust Domain</name>
        <t>A transaction enters Trust Domain A at its perimeter.  The
initiating event may be:</t>
        <t>(a) <strong>An inbound API call from an external client</strong>, in which case
  the external client presents an OAuth 2.0 access token or similar
  credential at the trust domain's API gateway;</t>
        <t>(b) <strong>An internal system event</strong>, such as an SMTP server receiving
  an inbound message, where the triggering input arrives from outside
  the enterprise boundary; or</t>
        <t>(c) <strong>An automated workload trigger</strong>, with no direct external caller,
  such as a scheduled job or an event-driven pipeline invocation.</t>
        <t>In all cases, the workload that first handles the transaction requests
a Txn-Token from the TTS, presenting whatever inbound credential or
context is available.  The TTS validates the inbound context and
mints a Txn-Token that captures the Initiating Principal's identity
(which may be a user identity, a system identity, or a workload
identity), the purpose of the transaction (<tt>scope</tt>), and relevant
request parameters (<tt>rctx</tt>).  The Txn-Token is propagated to all
downstream workloads within Trust Domain A that participate in
processing the transaction.</t>
      </section>
      <section anchor="cross-domain-invocation">
        <name>Cross-Domain Invocation</name>
        <t>When a Requesting Workload within Trust Domain A determines that it
needs to call a Protected Resource in Trust Domain B in order to
complete the transaction, it follows the flow defined in this profile.
The complete end-to-end sequence is illustrated in <xref target="fig-flow"/>.</t>
        <figure anchor="fig-flow">
          <name>Transaction Token Chaining Flow</name>
          <artwork type="ascii-art"><![CDATA[
+----------+  +----------+  +---------+  +---------+  +---------+  +---------+
|Initiating|  |Requesting|  |   TTS   |  |  AS-A   |  |  AS-B   |  |Protected|
| Request  |  | Workload |  |(Trust A)|  |(Trust A)|  |(Trust B)|  |Resource |
|(Perimeter|  |(Trust A) |  |         |  |         |  |         |  |(Trust B)|
| Trust A) |  |          |  |         |  |         |  |         |  |         |
+-----+----+  +-----+----+  +----+----+  +----+----+  +----+----+  +----+----+
      |             |            |            |            |            |
      | (1) Inbound |            |            |            |            |
      | Request     |            |            |            |            |
      | (any origin)|            |            |            |            |
      |------------>|            |            |            |            |
      |             |            |            |            |            |
      |             | (2) Request|            |            |            |
      |             | Txn-Token  |            |            |            |
      |             |----------->|            |            |            |
      |             |            |            |            |            |
      |             | (3) Txn-Token           |            |            |
      |             |< - - - - - |            |            |            |
      |             |            |            |            |            |
      |             | (4) Discover AS-B       |            |            |
      |             | (RFC9728)  |            |            |            |
      |             |......................................|            |
      |             |            |            |            |            |
      |             | (5) Token Exchange      |            |            |
      |             | [RFC8693]  |            |            |            |
      |             | subject_token=Txn-Token |            |            |
      |             | audience=AS-B issuer URL|            |            |
      |             |------------------------>|            |            |
      |             |            |            |            |            |
      |             | (6) JWT Authorization   |            |            |
      |             | Grant      |            |            |            |
      |             |< - - - - - - - - - - - -|            |            |
      |             |            |            |            |            |
      |             | (7) Present JWT Grant   |            |            |
      |             | [RFC7523]  |            |            |            |
      |             |------------------------------------->|            |
      |             |            |            |            |            |
      |             | (8) Access Token        |            |            |
      |             |< - - - - - - - - - - - - - - - - - - |            |
      |             |            |            |            |            |
      |             | (9) Call Protected Resource          |            |
      |             |-------------------------------------------------->|
      |             |            |            |            |            |
]]></artwork>
        </figure>
        <t>The steps are as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>An inbound request arrives at the Requesting Workload's perimeter.</t>
          </li>
          <li>
            <t>The Requesting Workload (or the first workload within Trust Domain
A that receives the transaction) requests a Txn-Token from the TTS.</t>
          </li>
          <li>
            <t>The TTS issues a Txn-Token to the Requesting Workload.  The
Txn-Token is scoped to Trust Domain A and <bcp14>MUST NOT</bcp14> be presented
to any entity outside Trust Domain A.</t>
          </li>
          <li>
            <t>The Requesting Workload discovers AS-B using the mechanisms defined
in Section 2.2 of <xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
          </li>
          <li>
            <t>The Requesting Workload presents the Txn-Token as the <tt>subject_token</tt>
in an OAuth 2.0 Token Exchange <xref target="RFC8693"/> request to AS-A,
identifying AS-B in the <tt>audience</tt> parameter and optionally
specifying the target Protected Resource in the <tt>resource</tt>
parameter.</t>
          </li>
          <li>
            <t>AS-A validates the Txn-Token, applies subject
identifier mapping (<xref target="subject-identifier-mapping"/>) and claims
minimization (<xref target="claims-transcription"/>), and issues a signed JWT
Authorization Grant.  The Txn-Token is consumed entirely within
Trust Domain A and is not forwarded.</t>
          </li>
          <li>
            <t>The Requesting Workload presents the JWT Authorization Grant to
AS-B using the JWT Profile for OAuth 2.0 Authorization Grants
<xref target="RFC7523"/>.</t>
          </li>
          <li>
            <t>AS-B validates the JWT Authorization Grant and issues an access
token for the Protected Resource.</t>
          </li>
          <li>
            <t>The Requesting Workload calls the Protected Resource with the
access token, completing the cross-domain portion of the
transaction.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="transaction-token-as-subject-token">
      <name>Transaction Token as Subject Token</name>
      <section anchor="subject-token-requirements">
        <name>Subject Token Requirements</name>
        <t>When this profile is used, the <tt>subject_token</tt> in the Token Exchange
request (Step 5 of <xref target="fig-flow"/>) <bcp14>MUST</bcp14> be a Txn-Token as defined in
<xref target="I-D.ietf-oauth-transaction-tokens"/>.</t>
        <t>The <tt>subject_token_type</tt> parameter <bcp14>MUST</bcp14> be:</t>
        <sourcecode type="abnf"><![CDATA[
subject_token_type =
    "urn:ietf:params:oauth:token-type:txn_token"
]]></sourcecode>
        <t>This value is defined in <xref target="I-D.ietf-oauth-transaction-tokens"/>.</t>
        <t>The Txn-Token presented as the <tt>subject_token</tt> <bcp14>MUST</bcp14> satisfy all of
the validity requirements specified in
<xref target="I-D.ietf-oauth-transaction-tokens"/>, including:</t>
        <ul spacing="normal">
          <li>
            <t>The Txn-Token <bcp14>MUST NOT</bcp14> be expired.</t>
          </li>
          <li>
            <t>The Txn-Token <bcp14>MUST</bcp14> be signed and verifiable by AS-A using keys
published by the TTS.</t>
          </li>
          <li>
            <t>The Txn-Token's <tt>aud</tt> claim <bcp14>MUST</bcp14> identify AS-A (or a value that
AS-A accepts as a valid audience for presented subject tokens).</t>
          </li>
        </ul>
        <t>A Txn-Token failing any of the above checks <bcp14>MUST</bcp14> be rejected per
Section 2.2.2 of <xref target="RFC8693"/>.</t>
      </section>
      <section anchor="txn-token-initiating-principal-context">
        <name>Txn-Token Initiating Principal Context</name>
        <t>The Txn-Token's <tt>sub</tt> claim identifies the Initiating Principal of
the transaction.  The Initiating Principal type is not constrained
by this profile; a Txn-Token may represent any originating context
defined by the Transaction Token specification
<xref target="I-D.ietf-oauth-transaction-tokens"/>.  The following are common
examples:</t>
        <dl>
          <dt>Human User Identity:</dt>
          <dd>
            <t>The <tt>sub</tt> claim identifies a human user whose identity was
established when the transaction entered Trust Domain A via an
OAuth 2.0-protected API call.  In this case the <tt>sub</tt> value is
typically derived from the user's identity in the external access
token presented at the API gateway, and the Txn-Token's <tt>rctx</tt>
claim captures relevant attributes of the external request (such
as the OAuth client identifier and originating IP address).</t>
          </dd>
          <dt>System Identity:</dt>
          <dd>
            <t>The <tt>sub</tt> claim identifies an internal system component (such as
an SMTP server or a messaging gateway) acting in its own right,
with no external user as the Initiating Principal.  The <tt>scope</tt>
claim is particularly significant in this case, as it conveys the
reason for the transaction in the absence of a user-facing
authorization context.</t>
          </dd>
          <dt>Workload Identity:</dt>
          <dd>
            <t>The <tt>sub</tt> claim identifies an automated workload (such as a
scheduled job or pipeline service).  Workload identifiers <bcp14>MAY</bcp14> take
the form of SPIFFE URIs <xref target="I-D.ietf-wimse-arch"/> when
WIMSE-compatible infrastructure is in use within Trust Domain A.</t>
          </dd>
        </dl>
        <t>The above examples are illustrative; other Initiating Principal types
are possible.  The claims transcription rules in
<xref target="claims-transcription"/> and the subject identifier mapping rules in
<xref target="subject-identifier-mapping"/> apply regardless of which Initiating
Principal type the Txn-Token represents.  AS-A <bcp14>MUST</bcp14> map the <tt>sub</tt>
claim to an identifier appropriate for Trust Domain B, applying the
mapping logic defined in the Cross-Domain Trust Agreement for the
Initiating Principal type in question.</t>
      </section>
      <section anchor="token-exchange-request-parameters">
        <name>Token Exchange Request Parameters</name>
        <t>In addition to the subject token requirements in
<xref target="subject-token-requirements"/>, the Token Exchange request
(<xref target="RFC8693"/> Section 2.1) <bcp14>MUST</bcp14> include the following parameters when
this profile is in use.</t>
        <section anchor="identifying-the-target-authorization-server-and-resource">
          <name>Identifying the Target Authorization Server and Resource</name>
          <t>This profile uses the <tt>audience</tt> and <tt>resource</tt> parameters following
the convention in <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>
Section 4.3.  The two parameters serve distinct purposes and <bcp14>MUST NOT</bcp14>
be conflated.</t>
          <dl>
            <dt><tt>audience</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The <tt>issuer</tt> identifier of AS-B (<xref target="RFC8414"/> Section 2).
Becomes the <tt>aud</tt> claim of the JWT Authorization Grant.
Implementations <bcp14>MUST</bcp14> use this parameter to identify AS-B and <bcp14>MUST
NOT</bcp14> pass the AS-B issuer URL as <tt>resource</tt>.</t>
            </dd>
            <dt><tt>resource</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  A URI identifying the Protected Resource (resource
server) in Trust Domain B, as defined in <xref target="RFC8707"/> Section 2.
When present, AS-A <bcp14>SHOULD</bcp14> propagate this value into the <tt>resource</tt>
claim of the JWT Authorization Grant.</t>
            </dd>
          </dl>
        </section>
        <section anchor="remaining-parameters">
          <name>Remaining Parameters</name>
          <dl>
            <dt><tt>grant_type</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The value <bcp14>MUST</bcp14> be
<tt>urn:ietf:params:oauth:grant-type:token-exchange</tt>.</t>
            </dd>
            <dt><tt>subject_token</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The Txn-Token as described in
<xref target="subject-token-requirements"/>.</t>
            </dd>
            <dt><tt>subject_token_type</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The value <bcp14>MUST</bcp14> be
<tt>urn:ietf:params:oauth:token-type:txn_token</tt>.</t>
            </dd>
            <dt><tt>requested_token_type</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  When present, the value <bcp14>MUST</bcp14> be
<tt>urn:ietf:params:oauth:token-type:jwt</tt>.  If absent, AS-A <bcp14>MUST</bcp14>
still produce a JWT Authorization Grant conforming to this profile
when the other parameters conform to this profile.</t>
            </dd>
            <dt><tt>scope</tt>:</dt>
            <dd>
              <t><bcp14>OPTIONAL</bcp14>.  Space-separated list of scopes requested for the JWT
Authorization Grant.  AS-A <bcp14>MUST NOT</bcp14> issue a grant with scope
exceeding the <tt>scope</tt> claim of the presented Txn-Token (see
<xref target="claims-transcription"/>).</t>
            </dd>
          </dl>
          <t>The <tt>actor_token</tt> and <tt>actor_token_type</tt> parameters defined in
<xref target="RFC8693"/> are not used in this profile.</t>
        </section>
        <section anchor="example-token-exchange-request">
          <name>Example Token Exchange Request</name>
          <t>The following is a non-normative example conforming to this profile.
A mail service workload in an enterprise (Trust Domain A) has
received an SMTP message and holds a Txn-Token representing a
<tt>mail-delivery</tt> transaction.  The mail service needs to call a
spam-rating API operated by a partner spam service whose
Authorization Server is <tt>https://as.spamsvc.example</tt> and whose
spam-rating API is <tt>https://api.spamsvc.example/spam-rating</tt>.</t>
          <sourcecode type="http-message"><![CDATA[
POST /token HTTP/1.1
Host: as.enterprise.example
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer <mail-service-client-credential>

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange
&subject_token=<txn-token>
&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Atxn_token
&audience=https%3A%2F%2Fas.spamsvc.example
&resource=https%3A%2F%2Fapi.spamsvc.example%2Fspam-rating
&scope=spam.rating.read
]]></sourcecode>
        </section>
        <section anchor="token-exchange-response">
          <name>Token Exchange Response</name>
          <t>If the request is valid and the Requesting Workload is authorized to
receive a JWT Authorization Grant for the indicated audience, AS-A
returns a Token Exchange response as defined in Section 2.2 of
<xref target="RFC8693"/>.</t>
          <dl>
            <dt><tt>access_token</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The JWT Authorization Grant.  (Token Exchange uses the
<tt>access_token</tt> field for the returned token for historical
compatibility reasons; this is not an OAuth access token.)</t>
            </dd>
            <dt><tt>issued_token_type</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The value <bcp14>MUST</bcp14> be
<tt>urn:ietf:params:oauth:token-type:jwt</tt>.</t>
            </dd>
            <dt><tt>token_type</tt>:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The value <bcp14>MUST</bcp14> be <tt>N_A</tt>.</t>
            </dd>
            <dt><tt>expires_in</tt>:</dt>
            <dd>
              <t><bcp14>RECOMMENDED</bcp14>.  The lifetime of the JWT Authorization Grant in
seconds.  This value <bcp14>SHOULD</bcp14> reflect the <tt>exp</tt> claim of the
returned grant JWT and <bcp14>SHOULD</bcp14> be short (see
<xref target="jwt-claims-requirements"/>).</t>
            </dd>
            <dt><tt>refresh_token</tt>:</dt>
            <dd>
              <t>This parameter <bcp14>SHOULD NOT</bcp14> be present.</t>
            </dd>
          </dl>
          <t>On error, AS-A returns an error response as defined in Section 5.2
of <xref target="RFC6749"/> and Section 2.2.2 of <xref target="RFC8693"/>.</t>
          <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-cache, no-store

{
  "access_token": "eyJ...<JWT Authorization Grant>...",
  "issued_token_type": "urn:ietf:params:oauth:token-type:jwt",
  "token_type": "N_A",
  "expires_in": 60
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="processing-rules">
      <name>Processing Rules</name>
      <section anchor="as-a-processing-rules">
        <name>AS-A Processing Rules</name>
        <t>Upon receipt of a Token Exchange request conforming to this profile,
AS-A <bcp14>MUST</bcp14> perform the following steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>Authenticate the client (Requesting Workload) using the mechanisms
specified in Section 5.1 of <xref target="I-D.ietf-oauth-identity-chaining"/>
and Section 2.5 of <xref target="RFC9700"/>.</t>
          </li>
          <li>
            <t>Validate the Txn-Token signature using the public keys of the TTS
that issued it.  AS-A <bcp14>MUST</bcp14> be configured with the TTS's <tt>jwks_uri</tt>
or equivalent key material.</t>
          </li>
          <li>
            <t>Validate that the Txn-Token is not expired.</t>
          </li>
          <li>
            <t>Validate that the <tt>aud</tt> claim of the Txn-Token identifies AS-A
or a value AS-A is configured to accept as a valid audience for
presented subject tokens.</t>
          </li>
          <li>
            <t>Verify that the <tt>audience</tt> value identifies a known AS-B for which
a Cross-Domain Trust Agreement has been established.  AS-A <bcp14>MUST
NOT</bcp14> accept a resource server URI in <tt>audience</tt> in place of an
AS-B issuer identifier.  If the audience is unknown or disallowed
by policy, AS-A <bcp14>MUST</bcp14> return an error per Section 2.2.2 of
<xref target="RFC8693"/>.</t>
          </li>
          <li>
            <t>If the <tt>resource</tt> parameter is present, validate that it
identifies a Protected Resource within Trust Domain B consistent
with the indicated AS-B.  AS-A <bcp14>SHOULD</bcp14> propagate the <tt>resource</tt>
value into the <tt>resource</tt> claim of the JWT Authorization Grant.</t>
          </li>
          <li>
            <t>Validate that the requested <tt>scope</tt>, if present, does not exceed
the <tt>scope</tt> claim of the Txn-Token.  AS-A <bcp14>MUST NOT</bcp14> issue a JWT
Authorization Grant with broader scope than the Txn-Token asserts.</t>
          </li>
          <li>
            <t>Determine the Initiating Principal type from the Txn-Token and
apply the appropriate subject identifier mapping as described in
<xref target="subject-identifier-mapping"/>.  If no mapping can be determined,
AS-A <bcp14>MUST</bcp14> return an error.</t>
          </li>
          <li>
            <t>Apply claims transcription and minimization policy as described in
<xref target="claims-transcription"/>.</t>
          </li>
          <li>
            <t>Construct and sign the JWT Authorization Grant as described in
<xref target="jwt-authorization-grant"/>, setting the <tt>aud</tt> claim to the AS-B
issuer identifier resolved in step 5.</t>
          </li>
          <li>
            <t>Return the JWT Authorization Grant in the Token Exchange response
as described in <xref target="token-exchange-request-parameters"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="as-b-processing-rules">
        <name>AS-B Processing Rules</name>
        <t>Upon receipt of a JWT Bearer grant request (<xref target="RFC7523"/>) conforming
to this profile, AS-B <bcp14>MUST</bcp14> perform the following steps in addition
to the processing rules specified in Section 2.4.2 of
<xref target="I-D.ietf-oauth-identity-chaining"/>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Validate the <tt>typ</tt> header of the JWT Authorization Grant.  The
value <bcp14>MUST</bcp14> be <tt>txn-chain+jwt</tt> as defined in <xref target="jwt-authorization-grant"/>.</t>
          </li>
          <li>
            <t>Validate that the <tt>aud</tt> claim matches AS-B's own issuer identifier.</t>
          </li>
          <li>
            <t>Validate that the <tt>iss</tt> claim identifies an AS-A with which a
Cross-Domain Trust Agreement has been established, and validate
the JWT signature using the public keys advertised by that AS-A.</t>
          </li>
          <li>
            <t>Validate that the JWT is not expired and that the <tt>jti</tt> value has
not been previously presented (single-use enforcement).</t>
          </li>
          <li>
            <t>Resolve the subject from the <tt>sub</tt> claim according to the mapping
rules defined in the Cross-Domain Trust Agreement.  AS-B <bcp14>SHOULD</bcp14>
evaluate the <tt>sub</tt> claim against its configured cross-domain
access policy; supplementary identifiers in <tt>txn_claims</tt> (e.g.,
<tt>email</tt>) <bcp14>MAY</bcp14> also be used for subject resolution where the
Cross-Domain Trust Agreement permits.  If subject resolution fails
and the Cross-Domain Trust Agreement does not permit Just-In-Time
provisioning, AS-B <bcp14>MUST</bcp14> return an error.</t>
          </li>
          <li>
            <t>If present, evaluate the <tt>txn_claims</tt> claim to apply
context-aware authorization policy (see <xref target="claims-transcription"/>),
for example verifying that the <tt>scope</tt> value is consistent with
the requested scope.</t>
          </li>
          <li>
            <t>Issue an access token constrained by the <tt>scope</tt> and, if present,
the <tt>resource</tt> claim in the JWT Authorization Grant.  AS-B <bcp14>SHOULD
NOT</bcp14> issue refresh tokens, consistent with Section 5.4 of
<xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="jwt-authorization-grant">
      <name>JWT Authorization Grant</name>
      <section anchor="grant-format">
        <name>Grant Format</name>
        <t>The JWT Authorization Grant produced by AS-A in response to a Token
Exchange request conforming to this profile is a JWT <xref target="RFC7519"/>
that <bcp14>MUST</bcp14> conform to the JWT Authorization Grant requirements
specified in Section 2.3.3 of <xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
        <section anchor="jwt-header">
          <name>JWT Header</name>
          <dl>
            <dt>typ:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The value <bcp14>MUST</bcp14> be <tt>txn-chain+jwt</tt> (<xref target="RFC8725"/>).</t>
            </dd>
            <dt>alg:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  An asymmetric signing algorithm.  Deployments <bcp14>SHOULD</bcp14>
use PS256, PS384, PS512, ES256, ES384, or ES512 as defined in
<xref target="RFC7519"/>.  The <tt>none</tt> algorithm and symmetric algorithms are
prohibited.</t>
            </dd>
            <dt>kid:</dt>
            <dd>
              <t><bcp14>RECOMMENDED</bcp14>.  The key identifier corresponding to the signing key.</t>
            </dd>
          </dl>
        </section>
        <section anchor="jwt-claims-requirements">
          <name>JWT Claims Requirements</name>
          <t>The following claims <bcp14>MUST</bcp14> be present:</t>
          <dl>
            <dt>iss:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The Issuer identifier of AS-A (<xref target="RFC8414"/> Section 2).</t>
            </dd>
            <dt>sub:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The Initiating Principal's identity as mapped by AS-A
according to <xref target="subject-identifier-mapping"/>.  The value <bcp14>MUST</bcp14> be
meaningful to AS-B within the context of the Cross-Domain Trust
Agreement.</t>
            </dd>
            <dt>aud:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  The Issuer URL of AS-B, derived from the <tt>audience</tt>
parameter of the Token Exchange request.  <bcp14>MUST</bcp14> be a single value.</t>
            </dd>
            <dt>iat:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  Issuance time (<xref target="RFC7519"/> Section 4.1.6).</t>
            </dd>
            <dt>exp:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  Expiration time (<xref target="RFC7519"/> Section 4.1.4).  The
lifetime <bcp14>SHOULD</bcp14> be short.  Deployments <bcp14>SHOULD</bcp14> use a value no
greater than 300 seconds and <bcp14>SHOULD</bcp14> prefer values of 60 seconds or
less, consistent with the short-lived nature of Txn-Tokens.</t>
            </dd>
            <dt>jti:</dt>
            <dd>
              <t><bcp14>REQUIRED</bcp14>.  A unique identifier for this JWT (<xref target="RFC7519"/> Section
4.1.7).  AS-B <bcp14>MUST</bcp14> enforce single-use semantics by tracking
presented <tt>jti</tt> values within the grant's validity window.</t>
            </dd>
            <dt>scope:</dt>
            <dd>
              <t><bcp14>RECOMMENDED</bcp14>.  The authorized scope (<xref target="RFC6749"/> Section 3.3).
<bcp14>MUST NOT</bcp14> be wider than the <tt>scope</tt> claim of the source Txn-Token.</t>
            </dd>
          </dl>
          <t>The following claims <bcp14>SHOULD</bcp14> be present:</t>
          <dl>
            <dt>txn:</dt>
            <dd>
              <t>The unique transaction identifier from the originating Txn-Token
(<xref target="I-D.ietf-oauth-transaction-tokens"/>).  AS-B <bcp14>SHOULD</bcp14> record this
value in its audit logs.</t>
            </dd>
          </dl>
          <t>The following claims <bcp14>MAY</bcp14> be present:</t>
          <dl>
            <dt>resource:</dt>
            <dd>
              <t>A URI or array of URIs identifying the Protected Resource(s) in
Trust Domain B (<xref target="RFC8707"/> Section 2), derived from the <tt>resource</tt>
parameter of the Token Exchange request.  AS-B <bcp14>SHOULD</bcp14> use this to
issue a resource-bound access token.</t>
            </dd>
            <dt>txn_claims:</dt>
            <dd>
              <t>A JSON object containing a curated subset of Txn-Token claims,
selected and minimized per the policy in <xref target="claims-transcription"/>.
AS-B <bcp14>MAY</bcp14> use these claims for context-aware authorization decisions.</t>
            </dd>
            <dt>cnf:</dt>
            <dd>
              <t>If sender-constraining is in use (see <xref target="sender-constraining"/>),
the confirmation method claim conveying the Requesting Workload's
public key, as defined in <xref target="RFC7800"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="example-jwt-authorization-grant">
          <name>Example JWT Authorization Grant</name>
          <t>The following is a non-normative example corresponding to the mail
service scenario in <xref target="token-exchange-request-parameters"/>.  The
Initiating Principal is the mail service's system identity
(<tt>mail-gateway@enterprise.example</tt>) and the Txn-Token's <tt>rctx</tt>
carries the SMTP envelope sender.  The <tt>scope</tt> and a minimized <tt>rctx</tt>
are transcribed into <tt>txn_claims</tt>.</t>
          <t>Header:</t>
          <sourcecode type="json"><![CDATA[
{
  "typ": "txn-chain+jwt",
  "alg": "ES256",
  "kid": "as-enterprise-2026-01"
}
]]></sourcecode>
          <t>Claims:</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.enterprise.example",
  "sub": "mail-gateway@enterprise.example",
  "aud": "https://as.spamsvc.example",
  "iat": 1746700000,
  "exp": 1746700060,
  "jti": "8f14e45f-ceee-467a-a19e-ab8f290a1f30",
  "scope": "spam.rating.read",
  "resource": "https://api.spamsvc.example/spam-rating",
  "txn": "a9b2c3d4-e5f6-7890-abcd-ef1234567890",
  "txn_claims": {
    "scope": "mail-delivery",
    "rctx": {
      "smtp_from": "sender@external.example"
    }
  }
}
]]></sourcecode>
          <t>The <tt>aud</tt> claim (<tt>https://as.spamsvc.example</tt>) identifies the
authorization server of Trust Domain B.  The <tt>resource</tt> claim
(<tt>https://api.spamsvc.example/spam-rating</tt>) identifies the specific
API endpoint.  These are distinct values serving distinct purposes.</t>
        </section>
      </section>
    </section>
    <section anchor="claims-transcription">
      <name>Claims Transcription</name>
      <t>This profile constrains and extends the claims transcription rules of
Section 2.5 of <xref target="I-D.ietf-oauth-identity-chaining"/> as follows.</t>
      <section anchor="mandatory-transcriptions">
        <name>Mandatory Transcriptions</name>
        <t>AS-A <bcp14>MUST</bcp14> derive the <tt>sub</tt> claim of the JWT Authorization Grant from
the <tt>sub</tt> claim of the Txn-Token, applying the subject identifier
mapping defined in <xref target="subject-identifier-mapping"/>.</t>
        <t>AS-A <bcp14>MUST</bcp14> include the <tt>txn</tt> claim from the Txn-Token as the <tt>txn</tt>
claim in the JWT Authorization Grant, preserving the transaction
correlation identifier across the domain boundary.</t>
      </section>
      <section anchor="constrained-scope-transcription">
        <name>Constrained Scope Transcription</name>
        <t>The scope in the JWT Authorization Grant <bcp14>MUST</bcp14> be the intersection of
the Txn-Token's <tt>scope</tt> claim and the <tt>scope</tt> parameter of the Token
Exchange request (if present).  AS-A <bcp14>MUST NOT</bcp14> expand scope beyond the
Txn-Token's scope under any circumstances.</t>
      </section>
      <section anchor="subject-identifier-mapping">
        <name>Subject Identifier Mapping</name>
        <t>The <tt>sub</tt> claim of the Txn-Token identifies the Initiating Principal
within Trust Domain A's namespace.  AS-A <bcp14>MUST</bcp14> translate this
identifier to a form that is both meaningful and authorized for use
in Trust Domain B, according to the mapping rules defined in the
Cross-Domain Trust Agreement.  The Cross-Domain Trust Agreement <bcp14>MUST</bcp14>
define mapping rules for every Initiating Principal type that may
appear in Txn-Tokens exchanged under this profile.  If no mapping
can be determined for the Initiating Principal presented, AS-A <bcp14>MUST</bcp14>
deny the Token Exchange request.</t>
      </section>
      <section anchor="claims-minimization">
        <name>Claims Minimization</name>
        <t>Txn-Tokens <bcp14>MUST NOT</bcp14> be forwarded across trust boundaries.
The JWT Authorization Grant is the only artifact that crosses the
boundary, and AS-A <bcp14>MUST</bcp14> apply strict claims minimization.</t>
        <t>The optional <tt>txn_claims</tt> object in the JWT Authorization Grant <bcp14>MAY</bcp14>
carry a curated subset of Txn-Token claims that are relevant to
AS-B's authorization policy.  AS-A <bcp14>MUST</bcp14> apply the following
minimization rules:</t>
        <dl>
          <dt>Scope Claim (<tt>scope</tt>):</dt>
          <dd>
            <t><bcp14>SHOULD</bcp14> be included when it is meaningful to AS-B's authorization
policy (e.g., to enable the Protected Resource to apply different
handling based on transaction type).</t>
          </dd>
          <dt>Requester Context (<tt>rctx</tt>):</dt>
          <dd>
            <t><bcp14>MAY</bcp14> be included in a minimized form.  Information relevant to the
cross-domain request (e.g., the originating client IP address for
a user-initiated transaction, or the SMTP envelope sender address
for a mail delivery transaction) <bcp14>MAY</bcp14> be included.  Internal
network addresses, intermediate workload identifiers, and
internal infrastructure topology details <bcp14>MUST</bcp14> be omitted.</t>
          </dd>
          <dt>Internal Call Chain:</dt>
          <dd>
            <t>Claims that record intermediate workloads or the internal call
chain within Trust Domain A <bcp14>MUST NOT</bcp14> be included in <tt>txn_claims</tt>.</t>
          </dd>
          <dt>Supplementary Identity Claims:</dt>
          <dd>
            <t>For human user Initiating Principals, claims such as <tt>email</tt> <bcp14>MAY</bcp14>
be included in <tt>txn_claims</tt> if the Cross-Domain Trust Agreement
explicitly permits their disclosure and AS-B requires them for
subject resolution.</t>
          </dd>
        </dl>
        <t>The Cross-Domain Trust Agreement <bcp14>SHOULD</bcp14> define the set of claims
permitted to appear in <tt>txn_claims</tt> and their expected semantics.</t>
      </section>
    </section>
    <section anchor="authorization-server-metadata">
      <name>Authorization Server Metadata</name>
      <t>This profile adds to the Authorization Server Metadata framework
defined in <xref target="RFC8414"/> and Section 3 of
<xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
      <t>An Authorization Server that supports this profile <bcp14>MUST</bcp14> include the
value <tt>urn:ietf:params:oauth:token-type:txn_token</tt> in its
<tt>identity_chaining_requested_token_types_supported</tt> metadata
parameter.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="client-authentication">
        <name>Client Authentication</name>
        <t>The Requesting Workload <bcp14>MUST</bcp14> authenticate to AS-A when performing
the Token Exchange request.  The use of asymmetric key-based client
authentication (e.g., a JWT client assertion per <xref target="RFC7523"/>) is
<bcp14>RECOMMENDED</bcp14>.  Static shared secrets <bcp14>SHOULD NOT</bcp14> be used.  AS-A <bcp14>SHOULD</bcp14>
follow the client authentication guidance in Section 2.5 of
<xref target="RFC9700"/>.</t>
      </section>
      <section anchor="sender-constraining">
        <name>Sender Constraining Tokens</name>
        <t>AS-B <bcp14>SHOULD</bcp14> issue sender-constrained access tokens.  Both DPoP
(OAuth 2.0 Demonstrating Proof of Possession) and Mutual-TLS
(<xref target="RFC9700"/> Section 2.3) are <bcp14>RECOMMENDED</bcp14> mechanisms.</t>
        <t>When AS-A acts as the client toward AS-B (the authorization-server-
as-client topology described in Appendix B.2 of
<xref target="I-D.ietf-oauth-identity-chaining"/>), the delegated key binding
mechanism described in Appendix B.3 of that document <bcp14>SHOULD</bcp14> be used.
AS-A <bcp14>MUST</bcp14> verify proof of possession of the Requesting Workload's
key and convey it to AS-B using the <tt>cnf</tt> claim in the JWT
Authorization Grant.</t>
      </section>
      <section anchor="txn-token-confidentiality">
        <name>Txn-Token Confidentiality</name>
        <t>A Txn-Token <bcp14>MUST NOT</bcp14> be forwarded to any entity outside Trust Domain A.
All communication between the Requesting Workload and AS-A <bcp14>MUST</bcp14> be
encrypted and the Requesting Workload <bcp14>MUST</bcp14> be authenticated (e.g.,
via mutual TLS; see also <xref target="client-authentication"/>).
Txn-Token lifetimes <bcp14>SHOULD</bcp14> be short.</t>
      </section>
      <section anchor="jwt-authorization-grant-replay-prevention">
        <name>JWT Authorization Grant Replay Prevention</name>
        <t>The JWT Authorization Grant is a bearer token.  AS-B <bcp14>MUST</bcp14> enforce
single-use semantics on the <tt>jti</tt> claim.  AS-A <bcp14>SHOULD</bcp14> set a short
validity lifetime (see <xref target="jwt-claims-requirements"/>).  Additional
guidance is provided in Section 5.5 of
<xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
      </section>
      <section anchor="scope-boundary-enforcement">
        <name>Scope Boundary Enforcement</name>
        <t>AS-A <bcp14>MUST</bcp14> enforce that the JWT Authorization Grant scope does not
exceed the Txn-Token's scope.  AS-B <bcp14>MUST</bcp14> independently enforce that
the access token it issues does not convey scope exceeding the JWT
Authorization Grant.  These controls together prevent the chaining
mechanism from being used to escalate privileges beyond the
originating transaction's authorized scope.</t>
      </section>
      <section anchor="cross-domain-trust-agreement-integrity">
        <name>Cross-Domain Trust Agreement Integrity</name>
        <t>Operators <bcp14>MUST</bcp14> ensure that:</t>
        <ul spacing="normal">
          <li>
            <t>AS-A issues JWT Authorization Grants only for AS-B instances with
which a bilateral Cross-Domain Trust Agreement has been explicitly
established and is actively maintained.</t>
          </li>
          <li>
            <t>AS-B accepts JWT Authorization Grants only from AS-A instances
listed in its trusted issuers configuration.</t>
          </li>
          <li>
            <t>The Cross-Domain Trust Agreement, including subject identifier
mappings and permitted <tt>txn_claims</tt>, is reviewed whenever the
participating services or their authorization policies change.</t>
          </li>
        </ul>
      </section>
      <section anchor="refresh-tokens">
        <name>Refresh Tokens</name>
        <t>AS-B <bcp14>SHOULD NOT</bcp14> issue refresh tokens.  Because Txn-Tokens are
short-lived and transaction-specific, re-obtaining a new Txn-Token
and repeating the chaining flow is the correct renewal mechanism.
Issuing a refresh token would decouple the access lifetime from the
originating transaction's authorization context and create a
persistent credential outside the control of Trust Domain A.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Txn-Tokens may contain claims that relate to the Initiating
Principal, including personal identity information for
human-user-initiated transactions (e.g., user identifier, email
address, IP address) that may be subject to applicable privacy
regulations.</t>
      <t>AS-A <bcp14>MUST</bcp14> apply claims minimization (<xref target="claims-transcription"/>)
before issuing a JWT Authorization Grant.  Specifically:</t>
      <ul spacing="normal">
        <li>
          <t>Only identity claims necessary for AS-B to resolve the subject and
apply authorization policy <bcp14>SHOULD</bcp14> be included in <tt>txn_claims</tt>.</t>
        </li>
        <li>
          <t>Claims that could be used to reconstruct internal activity patterns
within Trust Domain A <bcp14>MUST NOT</bcp14> be included.</t>
        </li>
        <li>
          <t>The Cross-Domain Trust Agreement <bcp14>MUST</bcp14> specify which identity claims
AS-A is permitted to disclose to AS-B, consistent with the data
handling and privacy policies of both organizations.</t>
        </li>
      </ul>
      <t>The <tt>txn</tt> claim enables end-to-end transaction correlation across the
domain boundary.  Operators <bcp14>SHOULD</bcp14> evaluate whether the auditability
benefits outweigh the privacy implications for their specific
deployment, particularly for human-user-initiated transactions.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="jwt-typ-registration">
        <name>JWT Typ Registration</name>
        <t>This specification requests registration of the following value in
the "JSON Web Signature and Encryption Header Parameters" registry
(maintained by IANA):</t>
        <ul spacing="normal">
          <li>
            <t>Header Parameter Name: <tt>txn-chain+jwt</tt></t>
          </li>
          <li>
            <t>Header Parameter Description: JWT type for a Transaction Token
Chaining Authorization Grant as defined in this document</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="jwt-authorization-grant"/> of this
document</t>
          </li>
        </ul>
      </section>
      <section anchor="jwt-claims-registry">
        <name>JWT Claims Registry</name>
        <t>This specification requests registration of the following claim name
in the "JSON Web Token Claims" registry (maintained by IANA):</t>
        <ul spacing="normal">
          <li>
            <t>Claim Name: <tt>txn_claims</tt></t>
          </li>
          <li>
            <t>Claim Description: Transcribed claims from a Transaction Token,
included in a JWT Authorization Grant to convey cross-domain
authorization context</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="claims-transcription"/> of this
document</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC7521">
          <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">
          <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">
          <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="RFC8414">
          <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="RFC8693">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="RFC8707">
          <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="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </reference>
        <reference anchor="RFC9700">
          <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="RFC9728">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-chaining" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-identity-chaining-11">
          <front>
            <title>OAuth Identity and Authorization Chaining Across Domains</title>
            <author initials="A." surname="Schwenkschuster" fullname="Arndt Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author initials="P." surname="Kasselman" fullname="Pieter Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author initials="K." surname="Burgin" fullname="Kelley Burgin">
              <organization>MITRE</organization>
            </author>
            <author initials="M." surname="Jenkins" fullname="Michael Jenkins">
              <organization>NSA-CCSS</organization>
            </author>
            <author initials="B." surname="Campbell" fullname="Brian Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author initials="A." surname="Parecki" fullname="Aaron Parecki">
              <organization>Okta</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-11"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens" target="https://datatracker.ietf.org/doc/draft-ietf-oauth-transaction-tokens/">
          <front>
            <title>Transaction Tokens</title>
            <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <author initials="G." surname="Fletcher" fullname="George Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author initials="P." surname="Kasselman" fullname="Pieter Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-08"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9068">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens</title>
            <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
            <date month="October" year="2021"/>
            <abstract>
              <t>This specification defines a profile for issuing OAuth 2.0 access tokens in JSON Web Token (JWT) format. Authorization servers and resource servers from different vendors can leverage this profile to issue and consume access tokens in an interoperable manner.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9068"/>
          <seriesInfo name="DOI" value="10.17487/RFC9068"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-arch" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-arch/">
          <front>
            <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
            <author initials="J." surname="Salowey" fullname="Joseph Salowey">
              <organization>CyberArk</organization>
            </author>
            <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-07"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-workload-creds" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-workload-creds/">
          <front>
            <title>WIMSE Workload Credentials</title>
            <author initials="B." surname="Campbell" fullname="Brian Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author initials="J." surname="Salowey" fullname="Joseph Salowey">
              <organization>CyberArk</organization>
            </author>
            <author initials="A." surname="Schwenkschuster" fullname="Arndt Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author initials="Y." surname="Sheffer" fullname="Yaron Sheffer">
              <organization>Intuit</organization>
            </author>
            <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-workload-creds-00"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-assertion-authz-grant" target="https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/">
          <front>
            <title>Identity Assertion JWT Authorization Grant</title>
            <author initials="A." surname="Parecki" fullname="Aaron Parecki">
              <organization>Okta</organization>
            </author>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization>Independent</organization>
            </author>
            <author initials="B." surname="Campbell" fullname="Brian Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-03"/>
        </reference>
      </references>
    </references>
    <?line 1146?>

<section anchor="use-cases">
      <name>Use Cases</name>
      <t>The following use cases illustrate the three Initiating Principal
types described in <xref target="txn-token-initiating-principal-context"/>, each
demonstrating a scenario where a workload within a Trust Domain must
call a partner service in a separate Trust Domain to complete the
transaction.</t>
      <section anchor="user-initiated-external-api-call-requiring-a-partner-service">
        <name>User-Initiated External API Call Requiring a Partner Service</name>
        <t>A financial services enterprise exposes a portfolio management API to
its customers.  A customer uses a mobile application to add a stock
to their watch list, calling <tt>POST /watchlist</tt> at the enterprise's
API gateway with an OAuth 2.0 access token.</t>
        <t>The API gateway workload requests a Txn-Token from the TTS,
presenting the user's access token as the inbound credential.  The
TTS mints a Txn-Token with <tt>sub</tt> set to the user's enterprise
identifier, <tt>scope</tt> set to <tt>watchlist-update</tt>, and <tt>rctx</tt> capturing
the mobile client's OAuth client identifier and IP address.  This
Txn-Token propagates through the internal portfolio service call
chain.</t>
        <t>To enrich the watch list entry with current market data, the
portfolio service must call a market-data API operated by a partner
financial data provider in Trust Domain B.  The portfolio service
exchanges the Txn-Token for a JWT Authorization Grant using this
profile.  AS-A maps the user's enterprise identifier to a
cross-domain user identifier agreed with the partner (e.g., the
user's email address or a pairwise identifier), and includes a
minimized <tt>txn_claims</tt> carrying <tt>scope: watchlist-update</tt>.</t>
        <t>The partner's authorization server issues an access token that
identifies the user (enabling per-user rate limiting and audit
logging at the partner) without receiving the enterprise's internal
Txn-Token, internal access token, or internal user database
identifiers.</t>
      </section>
      <section anchor="system-initiated-event-requiring-a-partner-service">
        <name>System-Initiated Event Requiring a Partner Service</name>
        <t>An enterprise mail service receives an inbound email message via
SMTP.  The SMTP server is an internal system component operating
under its own system credential; no external OAuth client is
involved.  The SMTP server requests a Txn-Token from the TTS with
<tt>sub</tt> set to its system identity (<tt>system:mail-gateway@enterprise.example</tt>),
<tt>scope</tt> set to <tt>mail-delivery</tt>, and <tt>rctx</tt> carrying the SMTP envelope
sender address and the recipient user's internal identifier.  This
Txn-Token propagates to the mail storage service workload.</t>
        <t>Before storing the message in the recipient's mailbox, the mail
storage service must call a spam-rating API operated by a partner
spam service in Trust Domain B (whose Authorization Server is
<tt>https://as.spamsvc.example</tt> and whose spam-rating API is
<tt>https://api.spamsvc.example/spam-rating</tt>).</t>
        <t>The mail storage service exchanges the Txn-Token for a JWT
Authorization Grant using this profile.  AS-A maps the system
identity to the cross-domain service identifier agreed with the spam
service, and includes a minimized <tt>txn_claims</tt> carrying
<tt>scope: mail-delivery</tt> and <tt>rctx.smtp_from</tt> (the envelope sender
address, stripped of internal routing metadata).</t>
        <t>The spam service's authorization server issues an access token for
the spam-rating API.  The spam service can apply per-sender and
per-recipient policy based on <tt>txn_claims</tt>, enabling personalized
spam filtering without requiring the enterprise to expose internal
user tokens or the Txn-Token outside its trust boundary.</t>
      </section>
      <section anchor="automated-workload-requiring-a-partner-service">
        <name>Automated Workload Requiring a Partner Service</name>
        <t>An enterprise data platform runs a nightly telemetry aggregation job.
The job is an automated workload with no direct external caller,
triggered by an internal scheduler.  The scheduler requests a
Txn-Token from the TTS with <tt>sub</tt> set to the job's SPIFFE workload
URI (<tt>spiffe://enterprise.example/telemetry/nightly-agg</tt>), <tt>scope</tt>
set to <tt>telemetry-aggregation</tt>, and no user context in <tt>rctx</tt>.</t>
        <t>To complete the aggregation, the job must query a third-party
analytics API in Trust Domain B.  The job exchanges the Txn-Token
for a JWT Authorization Grant using this profile.  AS-A maps the
SPIFFE workload URI to a cross-domain workload identifier agreed with
the analytics provider, and includes <tt>scope: telemetry-aggregation</tt>
in <tt>txn_claims</tt>.</t>
        <t>The analytics provider's authorization server issues a scoped access
token.  The <tt>txn</tt> claim in the JWT Authorization Grant allows the
analytics provider to correlate API calls to the originating job run
for billing and audit purposes, without receiving the internal SPIFFE
URI or other Trust Domain A infrastructure details.</t>
      </section>
    </section>
    <section anchor="relationship-to-related-specifications">
      <name>Relationship to Related Specifications</name>
      <t>This specification is one of a family of profiles of
<xref target="I-D.ietf-oauth-identity-chaining"/>.</t>
      <section anchor="identity-assertion-jwt-authorization-grant">
        <name>Identity Assertion JWT Authorization Grant</name>
        <t><xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> (the "ID-JAG"
specification, adopted by the OAuth Working Group as of April 2026)
targets deployments where AS-B already trusts AS-A (acting as an
IdP) for Single Sign-On (SSO) and subject resolution, using an
OpenID Connect ID Token or SAML 2.0 assertion as the subject token.</t>
        <t>The key structural differences between the two profiles are:</t>
        <dl>
          <dt>Subject Token Type:</dt>
          <dd>
            <t>The ID-JAG profile uses an OpenID Connect ID Token or SAML 2.0
assertion as the <tt>subject_token</tt>.  This profile uses a Txn-Token
(<tt>urn:ietf:params:oauth:token-type:txn_token</tt>).</t>
          </dd>
          <dt>Initiating Principal Scope:</dt>
          <dd>
            <t>The ID-JAG profile is exclusively centered on a human End-User
whose authenticated session at the IdP drives the cross-domain
access.  This profile supports all three Initiating Principal
types — human user, internal system, and automated workload —
uniformly, because Txn-Tokens capture all three.</t>
          </dd>
          <dt>Trust Relationship Basis:</dt>
          <dd>
            <t>The ID-JAG profile relies on a pre-existing SSO trust relationship
between AS-A (the IdP) and AS-B (the Resource AS) for the same
user population.  This profile relies on a bilateral Cross-Domain
Trust Agreement between AS-A and AS-B, which may exist
independently of any shared identity provider.</t>
          </dd>
          <dt><tt>audience</tt> and <tt>resource</tt> Parameters:</dt>
          <dd>
            <t>Both profiles use <tt>audience</tt> to identify AS-B (the target
authorization server) and <tt>resource</tt> (<xref target="RFC8707"/>) optionally to
identify the target Protected Resource.  These parameters serve
the same distinct purposes in both profiles: <tt>audience</tt> → AS-B
issuer URL → <tt>aud</tt> in the grant; <tt>resource</tt> → resource server URI
→ <tt>resource</tt> claim in the grant.</t>
          </dd>
          <dt><tt>client_id</tt> Requirement:</dt>
          <dd>
            <t>The ID-JAG includes a <bcp14>REQUIRED</bcp14> <tt>client_id</tt> claim identifying the
OAuth 2.0 client at AS-B acting on behalf of the resource owner.
This is appropriate where the application has a pre-registered
client relationship with AS-B.  This profile does not require a
pre-registered <tt>client_id</tt> at AS-B; the Requesting Workload's
identity is conveyed through client authentication to AS-A and the
subject mapping in the JWT Authorization Grant.</t>
          </dd>
          <dt>Multi-Tenancy:</dt>
          <dd>
            <t>The ID-JAG profile defines <tt>tenant</tt>, <tt>aud_tenant</tt>, and <tt>aud_sub</tt>
claims for multi-tenant SaaS deployments.  This profile does not
define equivalent tenant-scoping claims, as Trust Domain
boundaries are typically organizational or service-provider
boundaries rather than tenant partitions within a shared platform.</t>
          </dd>
          <dt>Rich Authorization Requests (RAR):</dt>
          <dd>
            <t>The ID-JAG profile supports the optional <tt>authorization_details</tt>
claim (<xref target="RFC9396"/>) in the grant.  This profile does not currently
define RAR integration; a future revision <bcp14>MAY</bcp14> define how
<tt>authorization_details</tt> from a Txn-Token are transcribed into the
JWT Authorization Grant.</t>
          </dd>
          <dt>SAML 2.0 Interoperability:</dt>
          <dd>
            <t>The ID-JAG profile includes SAML 2.0 identity assertion
interoperability.  This profile addresses only JWT-based
Txn-Tokens.</t>
          </dd>
          <dt>Sender Constraining:</dt>
          <dd>
            <t>Both profiles use the <tt>cnf</tt> claim to convey a sender-constraining
key to AS-B.  The ID-JAG profile embeds <tt>cnf</tt> in the ID-JAG
itself; this profile includes <tt>cnf</tt> in the JWT Authorization
Grant, derived from the Requesting Workload's client credential
presented to AS-A (see <xref target="sender-constraining"/>).</t>
          </dd>
        </dl>
        <t>The two profiles are complementary.  A deployment <bcp14>MAY</bcp14> support both:
the ID-JAG profile for human-user cross-domain access coordinated
through a shared identity provider, and this profile for any
transaction-driven cross-domain access (user-initiated,
system-initiated, or workload-initiated) where the trust relationship
is established through a bilateral Cross-Domain Trust Agreement.  An
Authorization Server implementing both <bcp14>MUST</bcp14> distinguish between them
by inspecting the JWT <tt>typ</tt> header: <tt>oauth-id-jag+jwt</tt> for the
ID-JAG profile and <tt>txn-chain+jwt</tt> for this profile.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The author would like to thank Atul Tulshibagwale, Pieter Kasselman,
Aaron Parecki, Brian Campbell, Arndt Schwenkschuster, Kelley Burgin,
Karl McGuinness, and the members of the IETF OAuth Working Group for
their foundational work on the specifications that this profile
depends on.</t>
      <t>The Transaction Tokens concept was originally developed by Atul
Tulshibagwale, George Fletcher, and Pieter Kasselman.  The OAuth
Identity and Authorization Chaining Across Domains specification was
authored by Arndt Schwenkschuster, Pieter Kasselman, Kelley Burgin,
Michael Jenkins, Brian Campbell, and Aaron Parecki.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from final specification ]]</t>
      <section numbered="false" anchor="since-draft-01">
        <name>Since Draft 01</name>
        <ul spacing="normal">
          <li>
            <t>Added Pieter Kasselman and Sean O'Dell as authors</t>
          </li>
          <li>
            <t>Fixed the sequence diagram in section 3.2</t>
          </li>
          <li>
            <t>Streamlined the text descriptions for the sequence in section 3.2</t>
          </li>
          <li>
            <t>Cleaned up language that used purpose instead of scope</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
gbLVAAA=

-->

</rfc>
