<?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 4.0.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tulshi-oauth-transactional-access-tokens-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Transactional Access Tokens">Transactional Access Tokens</title>
    <seriesInfo name="Internet-Draft" value="draft-tulshi-oauth-transactional-access-tokens-00"/>
    <author fullname="Atul Tulshibagwale">
      <organization>CrowdStrike</organization>
      <address>
        <email>atul.tulshibagwale@crowdstrike.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="29"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>OAuth</keyword>
    <keyword>access token</keyword>
    <keyword>transaction token</keyword>
    <keyword>AI agents</keyword>
    <abstract>
      <?line 66?>

<t>OAuth 2.0 access tokens are typically scoped to a session rather than
to a transaction. They carry no transaction identifier and no context
beyond scope. This document defines Transactional Access Tokens: a
profile of JSON Web Token (JWT) access tokens that carries a
transaction identifier and authorization server-asserted transaction
context, has a very short lifetime, and is audienced to a single
resource server. Transactional Access Tokens align with the claims and
semantics of OAuth Transaction Tokens, so that transaction context can
flow from the authorization server to a resource server and onward
into that resource server's trust domain. A primary use case is
task-scoped authorization of AI agents, where the authorization server
makes a fresh policy decision for each transaction.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-tulshi-oauth-transactional-access-tokens/"/>.
      </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>
    </note>
  </front>
  <middle>
    <?line 81?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OAuth 2.0 <xref target="RFC6749"/> access tokens represent an authorization grant
for a session. Access token lifetimes are often short, but the
authority behind them is durable: a client holding a refresh token or
client credential can obtain new access tokens without any
per-transaction decision by the authorization server (AS). Access
tokens convey what the client may do (typically via <tt>scope</tt>), but they
do not convey why, in what transaction, or under what context.</t>
      <t>OAuth Transaction Tokens <xref target="TXN-TOKENS"/> (Txn-Tokens) address a related
problem inside a trust domain. A Txn-Token is short-lived, carries a
transaction identifier (<tt>txn</tt>) and transaction context, and is
audienced to the trust domain rather than to any single workload.
Txn-Tokens are not intended for use across trust domain boundaries,
and a resource server outside the trust domain that issued a Txn-Token
receives none of that context.</t>
      <t>This document defines Transactional Access Tokens (Txn-ATs). A Txn-AT is an
OAuth access token, based on the JWT access token profile <xref target="RFC9068"/>,
that also carries the transaction identifier and context semantics of
a Txn-Token. Unlike a Txn-Token, a Txn-AT is audienced to a single
resource server.</t>
      <t>Txn-ATs provide the following benefits:</t>
      <ol spacing="normal" type="1"><li>
          <t>Resource servers receive AS-asserted transaction context, not only
scope.</t>
        </li>
        <li>
          <t>A client, such as an AI agent authorized for a specific task, can
be issued a token bounded to that task, with no more durable
permission than the task requires. The AS evaluates policy for
every transaction and can deny any individual transaction, placing
the AS in control of each authorization decision.</t>
        </li>
        <li>
          <t>The transaction identifier and context can be carried from the
resource server into its own trust domain via Txn-Tokens
(<xref target="txn-token-interop"/>).</t>
        </li>
      </ol>
      <t>In the model defined here, consent and client authority are durable,
while tokens are per-transaction.</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 anchor="terminology">
        <name>Terminology</name>
        <t>This document uses the terms "access token", "authorization server",
"client", "refresh token", and "resource server" defined in
<xref target="RFC6749"/>, and the terms "Transaction Token", "Txn-Token",
"Transaction Token Service", "trust domain", and "workload" defined in
<xref target="TXN-TOKENS"/>.</t>
        <dl>
          <dt>Transactional Access Token (Txn-AT):</dt>
          <dd>
            <t>An access token conforming to this specification.</t>
          </dd>
          <dt>Transaction:</dt>
          <dd>
            <t>A unit of work, such as an AI agent task, for which the AS makes an
authorization decision and which may span requests to one or more
resource servers.</t>
          </dd>
          <dt>Internal Transaction Identifier (ITID):</dt>
          <dd>
            <t>A value generated by the AS that uniquely identifies a transaction.
The ITID is known only to the AS and is never disclosed to clients
or resource servers.</t>
          </dd>
          <dt>Transaction Handle:</dt>
          <dd>
            <t>An opaque value issued by the AS to a client, which the client uses
to request additional Txn-ATs for the same transaction.</t>
          </dd>
          <dt>Transaction Context:</dt>
          <dd>
            <t>Context about a transaction that the AS asserts in a Txn-AT, after
evaluating policy and the request context.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <figure>
        <name>Transactional Access Token Flow</name>
        <artwork type="ascii-art"><![CDATA[
+--------+  (1) Token Request             +---------------+
|        |  (resource=RS1, grant, ...)    |               |
|        |------------------------------->|               |
|        |  (2) Txn-AT (aud=RS1, txn=T1)  | Authorization |
|        |      + txn_handle              |    Server     |
|        |<-------------------------------|  (policy on   |
| Client |  (3) Token Request             | every request)|
|        |  (resource=RS2, txn_handle)    |               |
|        |------------------------------->|               |
|        |  (4) Txn-AT (aud=RS2, txn=T2)  |               |
|        |<-------------------------------|               |
|        |                                +---------------+
|        |  (5) Txn-AT (aud=RS1) +-----+   (7) Txn-Token
|        |---------------------->| RS1 |---> (txn=T1) ---> internal
|        |  (6) Txn-AT (aud=RS2) +-----+                  workloads
|        |---------------------->| RS2 |
+--------+                       +-----+
]]></artwork>
      </figure>
      <ol spacing="normal" type="1"><li>
          <t>The client requests a Txn-AT for resource server RS1 using a
supported grant (<xref target="grants"/>).</t>
        </li>
        <li>
          <t>The AS evaluates policy and issues a Txn-AT audienced to RS1. The Txn-AT
carries a <tt>txn</tt> value derived for RS1. The AS also returns a
transaction handle.</t>
        </li>
        <li>
          <t>For the same transaction, the client requests a Txn-AT for RS2 and
presents the transaction handle.</t>
        </li>
        <li>
          <t>The AS evaluates policy again and issues a Txn-AT audienced to RS2,
with a different <tt>txn</tt> value that cannot be correlated with the
value for RS1.</t>
        </li>
        <li>
          <t>and 6. The client presents each Txn-AT to its resource server.</t>
        </li>
        <li>
          <t>A resource server <bcp14>MAY</bcp14> exchange the Txn-AT for a Txn-Token within its
own trust domain (<xref target="txn-token-interop"/>).</t>
        </li>
      </ol>
    </section>
    <section anchor="token-format">
      <name>Token Format</name>
      <t>A Txn-AT is a JWT <xref target="RFC7519"/> that conforms to <xref target="RFC9068"/>, except as
modified by this section.</t>
      <section anchor="jose-header">
        <name>JOSE Header</name>
        <t>Txn-ATs <bcp14>MUST</bcp14> include the <tt>typ</tt> header parameter with the value
<tt>txnat+jwt</tt>. This deviates from <xref section="2.1" sectionFormat="of" target="RFC9068"/>, which
requires <tt>at+jwt</tt>. The distinct type is intentional: it causes
resource servers that do not implement this specification to reject
Txn-ATs, rather than accept them as ordinary access tokens and ignore
their transactional semantics. It also prevents confusion between
Txn-ATs, ordinary JWT access tokens, and Txn-Tokens
(<xref target="token-confusion"/>).</t>
      </section>
      <section anchor="claims">
        <name>Claims</name>
        <t>The following claims are used in Txn-ATs. Claims not listed here <bcp14>MAY</bcp14> be
included as permitted by <xref target="RFC9068"/>, subject to
<xref target="privacy-considerations"/>.</t>
        <table>
          <name>Txn-AT Claims</name>
          <thead>
            <tr>
              <th align="left">Claim</th>
              <th align="left">Requirement</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>iss</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">As defined in <xref target="RFC9068"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>aud</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">Identifier of exactly one resource server. <bcp14>MUST</bcp14> be a single string value.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sub</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">As defined in <xref target="RFC9068"/>. See <xref target="privacy-considerations"/> regarding pairwise identifiers.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>client_id</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">As defined in <xref target="RFC9068"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>iat</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">As defined in <xref target="RFC9068"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>exp</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">See <xref target="lifetime"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>jti</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">Unique per token. <bcp14>MUST NOT</bcp14> be derived from the ITID.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>txn</tt></td>
              <td align="left">
                <bcp14>REQUIRED</bcp14></td>
              <td align="left">Transaction identifier, as defined in <xref section="2.2" sectionFormat="of" target="RFC8417"/> and generated per <xref target="txn-generation"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>tctx</tt></td>
              <td align="left">
                <bcp14>RECOMMENDED</bcp14></td>
              <td align="left">Transaction context asserted by the AS, with semantics as defined in <xref target="TXN-TOKENS"/>. See <xref target="context"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>rctx</tt></td>
              <td align="left">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left">Requester context asserted by the AS, with semantics as defined in <xref target="TXN-TOKENS"/>. See <xref target="context"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>scope</tt></td>
              <td align="left">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left">Scope granted for this transaction.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>authorization_details</tt></td>
              <td align="left">
                <bcp14>OPTIONAL</bcp14></td>
              <td align="left">Granted authorization details, as defined in <xref target="RFC9396"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>act</tt></td>
              <td align="left">CONDITIONAL</td>
              <td align="left">
                <bcp14>REQUIRED</bcp14> when the Txn-AT is issued via token exchange with an actor token, as defined in <xref target="RFC8693"/>.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>cnf</tt></td>
              <td align="left">CONDITIONAL</td>
              <td align="left">
                <bcp14>REQUIRED</bcp14> when the Txn-AT is sender-constrained.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="txn-generation">
        <name>Transaction Identifier Generation</name>
        <t>When the AS begins a new transaction, it <bcp14>MUST</bcp14> generate an ITID with at
least 128 bits of entropy.</t>
        <t>The <tt>txn</tt> value in each Txn-AT <bcp14>MUST</bcp14> satisfy the following requirements:</t>
        <ul spacing="normal">
          <li>
            <t>It <bcp14>MUST</bcp14> be the same for all Txn-ATs issued for the same transaction and
the same audience.</t>
          </li>
          <li>
            <t>It <bcp14>MUST</bcp14> be different for different audiences in the same
transaction.</t>
          </li>
          <li>
            <t>It <bcp14>MUST NOT</bcp14> allow any party other than the AS to determine whether
two <tt>txn</tt> values with different audiences belong to the same
transaction.</t>
          </li>
          <li>
            <t>It <bcp14>MUST NOT</bcp14> disclose the ITID.</t>
          </li>
        </ul>
        <t>Any method satisfying the requirements above is acceptable, such as a
random value per audience with a mapping table stored at the AS. For
one possible construction using keyed derivation, see
<xref target="itid-generation"/>.</t>
      </section>
      <section anchor="context">
        <name>Transaction Context</name>
        <t>The AS alone determines the values of <tt>tctx</tt> and <tt>rctx</tt>, based on
policy and the request context.</t>
        <t>The AS <bcp14>MUST NOT</bcp14> copy client-supplied values into <tt>tctx</tt> or <tt>rctx</tt>
without first evaluating them against policy.</t>
        <t>If the AS supports <xref target="RFC9396"/>, it <bcp14>MAY</bcp14> use <tt>authorization_details</tt>
from the request as an input to policy. The AS <bcp14>MUST NOT</bcp14> copy
<tt>authorization_details</tt> into <tt>tctx</tt> unless it has evaluated them
against policy.</t>
        <t>If both <tt>authorization_details</tt> and <tt>tctx</tt> appear in a Txn-AT:</t>
        <ul spacing="normal">
          <li>
            <t><tt>authorization_details</tt> represents what was granted; and</t>
          </li>
          <li>
            <t><tt>tctx</tt> represents the context the AS asserts about the transaction.</t>
          </li>
        </ul>
        <t>Inputs the AS <bcp14>MAY</bcp14> use when determining transaction context include:</t>
        <ul spacing="normal">
          <li>
            <t>the authenticated subject and the properties of that authentication,
such as authentication time, method, and assurance level;</t>
          </li>
          <li>
            <t>the client's registration metadata and authentication method, and
any client or workload attestation;</t>
          </li>
          <li>
            <t>claims in a subject token or actor token, in token exchange flows;</t>
          </li>
          <li>
            <t>the resource indicator (<xref target="RFC8707"/>), <tt>scope</tt>, and
<tt>authorization_details</tt> in the request;</t>
          </li>
          <li>
            <t>the Txn-Token request context parameters defined in <xref target="TXN-TOKENS"/>;</t>
          </li>
          <li>
            <t>properties of the request environment that the AS observes, such as
the source network address; and</t>
          </li>
          <li>
            <t>the results of policy evaluation for the transaction.</t>
          </li>
        </ul>
        <t>The AS <bcp14>SHOULD</bcp14> include in <tt>tctx</tt> and <tt>rctx</tt> only the context that the
audience resource server needs (<xref target="privacy-considerations"/>).</t>
      </section>
      <section anchor="lifetime">
        <name>Token Lifetime</name>
        <t>Txn-ATs are intended to be valid for about as long as a single
transaction.</t>
        <ul spacing="normal">
          <li>
            <t>The difference between <tt>exp</tt> and <tt>iat</tt> <bcp14>SHOULD NOT</bcp14> exceed 300
seconds.</t>
          </li>
          <li>
            <t>The AS <bcp14>SHOULD</bcp14> choose the shortest lifetime compatible with the
expected duration of the transaction.</t>
          </li>
          <li>
            <t>The AS <bcp14>MUST NOT</bcp14> issue a Txn-AT whose <tt>exp</tt> is later than the expiry of
the associated transaction handle, if one exists.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="token-request">
      <name>Token Request</name>
      <section anchor="grants">
        <name>Supported Grants</name>
        <t>Txn-ATs <bcp14>MUST</bcp14> be issued only at the token endpoint, using one of the
following grants:</t>
        <ul spacing="normal">
          <li>
            <t>Token Exchange <xref target="RFC8693"/>;</t>
          </li>
          <li>
            <t>the refresh token grant (<xref section="6" sectionFormat="of" target="RFC6749"/>); or</t>
          </li>
          <li>
            <t>the client credentials grant (<xref section="4.4" sectionFormat="of" target="RFC6749"/>).</t>
          </li>
        </ul>
        <t>The AS <bcp14>MUST NOT</bcp14> issue Txn-ATs directly from the authorization code grant.
Requiring user interaction such as consent or credential entry for
every transaction is unrealistic and would disrupt the user experience.
Instead, the authorization code grant <bcp14>MAY</bcp14> be used once to obtain user
consent and a refresh token, which the client then uses to request
Txn-ATs without further user involvement.</t>
        <t>The token exchange grant is used when the client holds a source token,
for example a token representing the user as the subject and the
client (such as an AI agent) as the actor. In this case the request
resembles a Txn-Token request as defined in <xref target="TXN-TOKENS"/>.</t>
      </section>
      <section anchor="requesting-a-txn-at">
        <name>Requesting a Txn-AT</name>
        <t>To request a Txn-AT, the client includes the <tt>requested_token_type</tt>
parameter with the value
<tt>urn:ietf:params:oauth:token-type:txn_access_token</tt>.</t>
        <ul spacing="normal">
          <li>
            <t>With the token exchange grant, this parameter is used as defined in
<xref target="RFC8693"/>.</t>
          </li>
          <li>
            <t>This document also permits this parameter with the refresh token and
client credentials grants, where it has the same meaning.</t>
          </li>
        </ul>
        <t>If the client's registration metadata includes
<tt>transactional_access_tokens_required</tt> with the value <tt>true</tt>
(<xref target="client-metadata"/>), the AS <bcp14>MUST</bcp14> issue only Txn-ATs to that client,
whether or not <tt>requested_token_type</tt> is present.</t>
      </section>
      <section anchor="request-parameters">
        <name>Request Parameters</name>
        <t>The following parameters apply to Txn-AT requests:</t>
        <dl>
          <dt>resource:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. Exactly one resource indicator, as defined in <xref target="RFC8707"/>,
identifying the resource server the Txn-AT is for. If the request
contains zero or more than one <tt>resource</tt> value, the AS <bcp14>MUST</bcp14> reject
it with the <tt>invalid_target</tt> error. In token exchange requests, the
client <bcp14>SHOULD NOT</bcp14> use the <tt>audience</tt> parameter. If it does use it,
the resulting audience <bcp14>MUST</bcp14> resolve to a single resource server.</t>
          </dd>
          <dt>txn_handle:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. A transaction handle previously issued to this client
(<xref target="txn-handle"/>). If present, the request is for an additional Txn-AT
in the existing transaction. If absent, the AS begins a new
transaction.</t>
          </dd>
          <dt>scope, authorization_details:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. As defined in <xref target="RFC6749"/> and <xref target="RFC9396"/>. These are
inputs to policy only (<xref target="context"/>).</t>
          </dd>
          <dt>Txn-Token request context parameters:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. Clients <bcp14>MAY</bcp14> include the request context and request
details parameters defined in <xref target="TXN-TOKENS"/>. These are inputs to
policy only. The AS <bcp14>MUST NOT</bcp14> copy them into <tt>tctx</tt> or <tt>rctx</tt> without
evaluation.</t>
          </dd>
          <dt>Extension parameters:</dt>
          <dd>
            <t>The AS <bcp14>MAY</bcp14> accept additional parameters as policy inputs, subject to
the same rule.</t>
          </dd>
        </dl>
      </section>
      <section anchor="policy-evaluation">
        <name>Policy Evaluation</name>
        <t>The AS <bcp14>MUST</bcp14> evaluate policy for every Txn-AT request. The AS <bcp14>MAY</bcp14> deny a
request even when the presented grant, credential, refresh token, or
transaction handle is valid.</t>
        <t>When the request includes a transaction handle, the AS <bcp14>MAY</bcp14> enforce
transaction-level policy, for example:</t>
        <ul spacing="normal">
          <li>
            <t>limiting the set of resource servers the transaction may access;</t>
          </li>
          <li>
            <t>limiting the number of Txn-ATs issued for the transaction; or</t>
          </li>
          <li>
            <t>limiting the transaction's total duration.</t>
          </li>
        </ul>
        <t>If the AS denies a request on policy grounds, it <bcp14>MUST</bcp14> return the
<tt>transaction_denied</tt> error (<xref target="errors"/>).</t>
      </section>
      <section anchor="txn-handle">
        <name>Transaction Handle</name>
        <t>When the AS begins a new transaction, it <bcp14>MUST</bcp14> include a transaction
handle in the token response (<xref target="token-response"/>). The transaction
handle:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> be opaque to the client and <bcp14>MUST</bcp14> contain at least 128 bits of
entropy;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> be bound to the client to which it was issued. The AS <bcp14>MUST</bcp14>
reject a handle presented by a different client;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> be bound to the transaction's subject. In token exchange
requests, the AS <bcp14>MUST</bcp14> reject a handle if the subject of the
presented subject token differs from the transaction's subject;</t>
          </li>
          <li>
            <t><bcp14>SHOULD</bcp14> be bound to the same key as the Txn-ATs, when Txn-ATs are
sender-constrained;</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> have an expiry set by the AS; and</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> be included in any Txn-AT or otherwise disclosed to resource
servers.</t>
          </li>
        </ul>
        <t>If the handle is unknown, expired, or fails any of the binding checks
above, the AS <bcp14>MUST</bcp14> return the <tt>invalid_txn_handle</tt> error.</t>
      </section>
      <section anchor="token-response">
        <name>Token Response</name>
        <t>A successful response follows <xref section="5.1" sectionFormat="of" target="RFC6749"/> and, for
token exchange, <xref section="2.2" sectionFormat="of" target="RFC8693"/>, with these additions:</t>
        <ul spacing="normal">
          <li>
            <t>The <tt>issued_token_type</tt> parameter, if present, <bcp14>MUST</bcp14> be
<tt>urn:ietf:params:oauth:token-type:txn_access_token</tt>.</t>
          </li>
          <li>
            <t>The <tt>txn_handle</tt> parameter <bcp14>MUST</bcp14> be present when a new transaction
was started. It <bcp14>MAY</bcp14> be present in responses for an existing
transaction.</t>
          </li>
          <li>
            <t>In token exchange responses, the AS <bcp14>MUST NOT</bcp14> include a refresh
token.</t>
          </li>
          <li>
            <t>In refresh token grant responses, the AS <bcp14>MAY</bcp14> rotate the refresh
token as described in <xref target="RFC9700"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="errors">
        <name>Errors</name>
        <t>In addition to the errors defined in <xref target="RFC6749"/>, <xref target="RFC8693"/>, and
<xref target="RFC8707"/>, this document defines the following token endpoint
errors:</t>
        <dl>
          <dt>invalid_txn_handle:</dt>
          <dd>
            <t>The transaction handle is unknown, expired, or not bound to this
client or subject.</t>
          </dd>
          <dt>transaction_denied:</dt>
          <dd>
            <t>The AS denied the transaction based on policy.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="rs-processing">
      <name>Resource Server Processing</name>
      <t>A resource server that accepts Txn-ATs <bcp14>MUST</bcp14> validate them as specified in
<xref section="4" sectionFormat="of" target="RFC9068"/>, with the following modifications:</t>
      <ol spacing="normal" type="1"><li>
          <t>The resource server <bcp14>MUST</bcp14> verify that the <tt>typ</tt> header is
<tt>txnat+jwt</tt>.</t>
        </li>
        <li>
          <t>The resource server <bcp14>MUST</bcp14> verify that <tt>aud</tt> is a single value that
identifies itself.</t>
        </li>
        <li>
          <t>The resource server <bcp14>MUST</bcp14> verify that <tt>txn</tt> is present.</t>
        </li>
        <li>
          <t>If the Txn-AT contains a <tt>cnf</tt> claim, the resource server <bcp14>MUST</bcp14> verify
proof of possession, for example as specified in <xref target="RFC9449"/> or
<xref target="RFC8705"/>.</t>
        </li>
        <li>
          <t>The resource server <bcp14>MUST NOT</bcp14> accept a Txn-Token (<tt>typ</tt> value
<tt>txntoken+jwt</tt>) as a Txn-AT.</t>
        </li>
      </ol>
      <t>A resource server <bcp14>MAY</bcp14> use <tt>tctx</tt> and <tt>rctx</tt> in its own authorization
decisions, and <bcp14>SHOULD</bcp14> record <tt>txn</tt> in audit logs.</t>
      <t>A resource server that requires Txn-ATs for a resource <bcp14>MUST</bcp14> reject
ordinary access tokens (<tt>typ</tt> value <tt>at+jwt</tt>) for that resource.</t>
    </section>
    <section anchor="txn-token-interop">
      <name>Interoperability with Transaction Tokens</name>
      <t>A resource server may call workloads within its own trust domain. In
that case, it <bcp14>SHOULD</bcp14> obtain a Txn-Token from its Transaction Token
Service (TTS), rather than forwarding the Txn-AT, as follows:</t>
      <ul spacing="normal">
        <li>
          <t>The resource server presents the Txn-AT as the <tt>subject_token</tt>, with a
<tt>subject_token_type</tt> of
<tt>urn:ietf:params:oauth:token-type:txn_access_token</tt>.</t>
        </li>
        <li>
          <t>The TTS <bcp14>MUST</bcp14> validate the Txn-AT as specified in <xref target="rs-processing"/>,
including verifying that <tt>aud</tt> identifies the resource server
presenting it.</t>
        </li>
        <li>
          <t>The TTS <bcp14>SHOULD</bcp14> set the Txn-Token's <tt>txn</tt> to the <tt>txn</tt> value from the
Txn-AT. This preserves correlation within the resource server's trust
domain without enabling correlation with other resource servers.</t>
        </li>
        <li>
          <t>The TTS <bcp14>MAY</bcp14> use the Txn-AT's <tt>tctx</tt> and <tt>rctx</tt> as inputs when
determining the Txn-Token's context, subject to the TTS's own
policy.</t>
        </li>
      </ul>
      <t>Workloads <bcp14>MUST NOT</bcp14> accept a Txn-AT in place of a Txn-Token.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC6749"/>, <xref target="RFC8693"/>, <xref target="RFC9068"/>,
<xref target="RFC9700"/>, and <xref target="TXN-TOKENS"/> apply.</t>
      <section anchor="token-confusion">
        <name>Token Confusion</name>
        <t>Txn-ATs share claims with both JWT access tokens and Txn-Tokens, which
creates a risk of token confusion. The distinct <tt>typ</tt> value and a
single-valued <tt>aud</tt> claim mitigate this risk:</t>
        <ul spacing="normal">
          <li>
            <t>resource servers reject Txn-Tokens, whose <tt>aud</tt> identifies a trust
domain and whose <tt>typ</tt> is <tt>txntoken+jwt</tt>;</t>
          </li>
          <li>
            <t>workloads reject Txn-ATs, whose <tt>typ</tt> is <tt>txnat+jwt</tt>; and</t>
          </li>
          <li>
            <t>resource servers that do not implement this specification reject
Txn-ATs because of their <tt>typ</tt> value.</t>
          </li>
        </ul>
        <t>Implementations <bcp14>MUST</bcp14> validate both <tt>typ</tt> and <tt>aud</tt>.</t>
      </section>
      <section anchor="replay">
        <name>Replay</name>
        <t>A bearer Txn-AT can be replayed within its lifetime. This document
accepts that risk in exchange for keeping resource servers stateless,
and bounds it with a short lifetime (<xref target="lifetime"/>).</t>
        <t>Txn-ATs <bcp14>SHOULD</bcp14> be sender-constrained using DPoP <xref target="RFC9449"/> or mutual TLS
<xref target="RFC8705"/>. Sender-constraining is especially important for AI
agents, where tokens may be exfiltrated through prompt injection or
tool misuse. Resource servers that need single-use semantics can track
<tt>jti</tt> values, but this document does not require it.</t>
      </section>
      <section anchor="durable-credentials">
        <name>Durable Credentials</name>
        <t>The refresh tokens and client credentials used to obtain Txn-ATs remain
durable. The security benefit of Txn-ATs depends on the AS evaluating
policy for every request and being able to deny individual
transactions. An attacker who obtains such a credential can request
Txn-ATs, but remains subject to per-transaction policy. Refresh tokens
used to obtain Txn-ATs <bcp14>SHOULD</bcp14> be sender-constrained or rotated as
described in <xref target="RFC9700"/>.</t>
      </section>
      <section anchor="transaction-handle-theft">
        <name>Transaction Handle Theft</name>
        <t>A stolen transaction handle alone does not allow an attacker to obtain
Txn-ATs, because the handle is bound to the client, and to the subject
and sender-constraining key where applicable (<xref target="txn-handle"/>).</t>
      </section>
      <section anchor="context-integrity">
        <name>Context Integrity</name>
        <t>Resource servers rely on <tt>tctx</tt> and <tt>rctx</tt> being asserted by the AS.
Because the AS never echoes unevaluated client input into these claims
(<xref target="context"/>), a client cannot inject context into a Txn-AT. An AS that
fails to follow this rule would turn Txn-ATs into signed but unverified
assertions.</t>
      </section>
      <section anchor="itid-generation">
        <name>Generating Transaction Identifiers</name>
        <t>One way to generate <tt>txn</tt> values satisfying the requirements in
<xref target="txn-generation"/> is keyed derivation:</t>
        <artwork><![CDATA[
txn = BASE64URL(HMAC-SHA-256(K_txn, ITID || UTF8(aud)))
]]></artwork>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t><tt>K_txn</tt> is a secret key of at least 256 bits, known only to the AS
and used only for this purpose;</t>
          </li>
          <li>
            <t><tt>ITID</tt> is the internal transaction identifier, which <bcp14>MUST</bcp14> be of
fixed length for a given <tt>K_txn</tt>;</t>
          </li>
          <li>
            <t><tt>aud</tt> is the value of the Txn-AT's <tt>aud</tt> claim;</t>
          </li>
          <li>
            <t><tt>||</tt> denotes concatenation;</t>
          </li>
          <li>
            <t>HMAC is as defined in <xref target="RFC2104"/>; and</t>
          </li>
          <li>
            <t>BASE64URL is base64url encoding without padding.</t>
          </li>
        </ul>
        <t>The output <bcp14>MAY</bcp14> be truncated to no fewer than 128 bits.</t>
        <t>Keyed derivation lets the AS recompute the <tt>txn</tt> value for any
transaction and audience without storing a mapping. The AS can
therefore correlate a transaction across resource servers for audit,
while no other party can. An AS that rotates <tt>K_txn</tt> needs to retain
retired keys, or record which key each transaction used, for as long
as it requires this audit capability.</t>
        <section anchor="compromise-of-ktxn">
          <name>Compromise of K_txn</name>
          <t>Disclosure of <tt>K_txn</tt> allows the holder, together with knowledge of
ITIDs, to correlate <tt>txn</tt> values across resource servers. It does not
allow forging Txn-ATs. Because ITIDs are never disclosed outside the AS,
correlating <tt>txn</tt> values additionally requires access to AS internal
state. The AS <bcp14>SHOULD</bcp14> protect <tt>K_txn</tt> with the same rigor as its token
signing keys.</t>
        </section>
      </section>
      <section anchor="clock-skew">
        <name>Clock Skew</name>
        <t>Short lifetimes increase sensitivity to clock skew. Resource servers
<bcp14>SHOULD</bcp14> allow no more than a small leeway, such as 30 seconds, when
validating <tt>exp</tt> and <tt>iat</tt>.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="transaction-correlation">
        <name>Transaction Correlation</name>
        <t>Per-audience <tt>txn</tt> values (<xref target="txn-generation"/>) prevent resource
servers from using <tt>txn</tt> to correlate a transaction across resource
servers. Only the AS can link a transaction across resource servers.
Cross-resource-server forensic analysis therefore requires the AS's
cooperation. This is an intentional trade-off.</t>
      </section>
      <section anchor="other-correlating-claims">
        <name>Other Correlating Claims</name>
        <t>Other claims can still enable correlation, even when <tt>txn</tt> values
differ:</t>
        <ul spacing="normal">
          <li>
            <t><tt>sub</tt>: The AS <bcp14>SHOULD</bcp14> use pairwise subject identifiers per resource
server, similar to the pairwise identifiers defined in <xref target="OIDC"/>.</t>
          </li>
          <li>
            <t><tt>client_id</tt>: This claim is the same across resource servers.
Correlation of the client's activity is therefore inherent.</t>
          </li>
          <li>
            <t><tt>jti</tt>: This claim <bcp14>MUST NOT</bcp14> be derived from the ITID or from <tt>txn</tt>.</t>
          </li>
          <li>
            <t><tt>tctx</tt> and <tt>rctx</tt>: The AS <bcp14>SHOULD</bcp14> include only the context the
audience resource server needs, and <bcp14>SHOULD</bcp14> avoid stable identifiers
that would enable correlation.</t>
          </li>
          <li>
            <t>Timing: Tokens for the same transaction are issued close together
in time. Resource servers that collude may be able to correlate
transactions by timing. This residual risk is not addressed by this
document.</t>
          </li>
        </ul>
      </section>
      <section anchor="as-as-observer">
        <name>AS as Observer</name>
        <t>The AS observes every transaction. AS operators <bcp14>SHOULD</bcp14> apply
retention limits and access controls to transaction records.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>Issuing a token for every transaction places the AS on the critical
path of each transaction:</t>
      <ul spacing="normal">
        <li>
          <t>Token issuance latency adds directly to transaction latency.</t>
        </li>
        <li>
          <t>AS availability becomes critical to the resource servers that
require Txn-ATs.</t>
        </li>
        <li>
          <t>Issuance volume scales with the number of transactions rather than
the number of sessions.</t>
        </li>
      </ul>
      <t>Deployments should plan for:</t>
      <ul spacing="normal">
        <li>
          <t>low-latency policy evaluation</t>
        </li>
        <li>
          <t>low-latency signing</t>
        </li>
        <li>
          <t>regional or distributed AS deployment</t>
        </li>
        <li>
          <t>capacity planning based on transaction rates, and</t>
        </li>
        <li>
          <t>If applicable, management of <tt>K_txn</tt>, including rotation and retention of retired
keys.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>IANA is requested to register the following media type
<xref target="RFC6838"/> in the "Media Types" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Type name: application</t>
          </li>
          <li>
            <t>Subtype name: txnat+jwt</t>
          </li>
          <li>
            <t>Required parameters: N/A</t>
          </li>
          <li>
            <t>Optional parameters: N/A</t>
          </li>
          <li>
            <t>Encoding considerations: binary. A Txn-AT is a JWT; JWT values are
encoded as a series of base64url-encoded values (some of which may
be the empty string) separated by period ('.') characters.</t>
          </li>
          <li>
            <t>Security considerations: See the Security Considerations section
of RFC XXXX.</t>
          </li>
          <li>
            <t>Interoperability considerations: N/A</t>
          </li>
          <li>
            <t>Published specification: RFC XXXX</t>
          </li>
          <li>
            <t>Applications that use this media type: Applications that issue or
consume Transactional Access Tokens.</t>
          </li>
          <li>
            <t>Fragment identifier considerations: N/A</t>
          </li>
          <li>
            <t>Additional information: N/A</t>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: IETF
OAuth WG, oauth@ietf.org</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: none</t>
          </li>
          <li>
            <t>Author: IETF OAuth WG</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-uri-registration">
        <name>OAuth URI Registration</name>
        <t>IANA is requested to register the following value in the "OAuth URI"
registry established by <xref target="RFC6749"/>:</t>
        <ul spacing="normal">
          <li>
            <t>URN: urn:ietf:params:oauth:token-type:txn_access_token</t>
          </li>
          <li>
            <t>Common Name: Transactional Access Token</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document: RFC XXXX</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-parameters-registration">
        <name>OAuth Parameters Registration</name>
        <t>IANA is requested to register the following parameter in the "OAuth
Parameters" registry established by <xref target="RFC6749"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Parameter name: txn_handle</t>
          </li>
          <li>
            <t>Parameter usage location: token request, token response</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Specification document(s): RFC XXXX</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-extensions-error-registration">
        <name>OAuth Extensions Error Registration</name>
        <t>IANA is requested to register the following values in the "OAuth
Extensions Error Registry" established by <xref target="RFC6749"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Name: invalid_txn_handle</t>
          </li>
          <li>
            <t>Usage Location: token error response</t>
          </li>
          <li>
            <t>Protocol Extension: Transactional Access Tokens</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Specification document(s): RFC XXXX</t>
          </li>
          <li>
            <t>Name: transaction_denied</t>
          </li>
          <li>
            <t>Usage Location: token error response</t>
          </li>
          <li>
            <t>Protocol Extension: Transactional Access Tokens</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Specification document(s): RFC XXXX</t>
          </li>
        </ul>
      </section>
      <section anchor="oauth-authorization-server-metadata-registration">
        <name>OAuth Authorization Server Metadata Registration</name>
        <t>IANA is requested to register the following value in the "OAuth
Authorization Server Metadata" registry established by <xref target="RFC8414"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: transactional_access_tokens_supported</t>
          </li>
          <li>
            <t>Metadata Description: Boolean value indicating whether the AS
supports issuing Transactional Access Tokens.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): RFC XXXX</t>
          </li>
        </ul>
      </section>
      <section anchor="client-metadata">
        <name>OAuth Dynamic Client Registration Metadata Registration</name>
        <t>IANA is requested to register the following value in the "OAuth
Dynamic Client Registration Metadata" registry established by
<xref target="RFC7591"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Client Metadata Name: transactional_access_tokens_required</t>
          </li>
          <li>
            <t>Client Metadata Description: Boolean value indicating that the AS
issues only Transactional Access Tokens to this client.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document(s): RFC XXXX</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="RFC2104">
          <front>
            <title>HMAC: Keyed-Hashing for Message Authentication</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="M. Bellare" initials="M." surname="Bellare"/>
            <author fullname="R. Canetti" initials="R." surname="Canetti"/>
            <date month="February" year="1997"/>
            <abstract>
              <t>This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2104"/>
          <seriesInfo name="DOI" value="10.17487/RFC2104"/>
        </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="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="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="RFC8417">
          <front>
            <title>Security Event Token (SET)</title>
            <author fullname="P. Hunt" initials="P." role="editor" surname="Hunt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="M. Ansari" initials="M." surname="Ansari"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>This specification defines the Security Event Token (SET) data structure. A SET describes statements of fact from the perspective of an issuer about a subject. These statements of fact represent an event that occurred directly to or about a security subject, for example, a statement about the issuance or revocation of a token on behalf of a subject. This specification is intended to enable representing security- and identity-related events. A SET is a JSON Web Token (JWT), which can be optionally signed and/or encrypted. SETs can be distributed via protocols such as HTTP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8417"/>
          <seriesInfo name="DOI" value="10.17487/RFC8417"/>
        </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="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="TXN-TOKENS">
          <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC7591">
          <front>
            <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Machulak" initials="M." surname="Machulak"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <date month="July" year="2015"/>
            <abstract>
              <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7591"/>
          <seriesInfo name="DOI" value="10.17487/RFC7591"/>
        </reference>
        <reference anchor="RFC8705">
          <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="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="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="OIDC" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0 incorporating errata set 2</title>
            <author initials="N." surname="Sakimura" fullname="N. Sakimura">
              <organization/>
            </author>
            <author initials="J." surname="Bradley" fullname="J. Bradley">
              <organization/>
            </author>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization/>
            </author>
            <author initials="B. de" surname="Medeiros" fullname="B. de Medeiros">
              <organization/>
            </author>
            <author initials="C." surname="Mortimore" fullname="C. Mortimore">
              <organization/>
            </author>
            <date year="2023" month="December" day="15"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 742?>

<section anchor="comparison-with-related-tokens">
      <name>Comparison with Related Tokens</name>
      <table>
        <name>Token Comparison</name>
        <thead>
          <tr>
            <th align="left">Property</th>
            <th align="left">JWT Access Token </th>
            <th align="left">Txn-Token </th>
            <th align="left">Txn-AT</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>typ</tt></td>
            <td align="left">
              <tt>at+jwt</tt></td>
            <td align="left">
              <tt>txntoken+jwt</tt></td>
            <td align="left">
              <tt>txnat+jwt</tt></td>
          </tr>
          <tr>
            <td align="left">Issuer</td>
            <td align="left">AS</td>
            <td align="left">TTS</td>
            <td align="left">AS</td>
          </tr>
          <tr>
            <td align="left">Audience</td>
            <td align="left">Resource server</td>
            <td align="left">Trust domain</td>
            <td align="left">Single resource server</td>
          </tr>
          <tr>
            <td align="left">Lifetime</td>
            <td align="left">Minutes to hours</td>
            <td align="left">Very short</td>
            <td align="left">Very short</td>
          </tr>
          <tr>
            <td align="left">
              <tt>txn</tt></td>
            <td align="left">No</td>
            <td align="left">Yes</td>
            <td align="left">Yes, per audience</td>
          </tr>
          <tr>
            <td align="left">Context</td>
            <td align="left">Scope (and RAR)</td>
            <td align="left">
              <tt>tctx</tt>, <tt>rctx</tt></td>
            <td align="left">
              <tt>tctx</tt>, <tt>rctx</tt> (AS-asserted)</td>
          </tr>
          <tr>
            <td align="left">Crosses trust domains</td>
            <td align="left">Yes</td>
            <td align="left">No</td>
            <td align="left">Yes, to one RS</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>Line breaks within values are for display purposes only.</t>
      <section anchor="ex-token-exchange-new">
        <name>Token Exchange Request (New Transaction)</name>
        <sourcecode type="http-message"><![CDATA[
POST /token HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded
DPoP: eyJ0eXAiOiJkcG9wK2p3dCIs...

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3A
  token-exchange
&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3A
  token-type%3Atxn_access_token
&subject_token=eyJhbGciOiJFUzI1NiIs...
&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3A
  token-type%3Aaccess_token
&actor_token=eyJhbGciOiJFUzI1NiIs...
&actor_token_type=urn%3Aietf%3Aparams%3Aoauth%3A
  token-type%3Ajwt
&resource=https%3A%2F%2Fapi.example.net
&scope=invoices.read
]]></sourcecode>
      </section>
      <section anchor="ex-token-response">
        <name>Token Response</name>
        <sourcecode type="json"><![CDATA[
{
  "access_token": "eyJ0eXAiOiJ0eG5hdCtqd3QiLCJhbGci...",
  "issued_token_type":
    "urn:ietf:params:oauth:token-type:txn_access_token",
  "token_type": "DPoP",
  "expires_in": 60,
  "txn_handle": "th_9Qm2xVb7LkP0sR4tYw8eZa"
}
]]></sourcecode>
      </section>
      <section anchor="decoded-txn-at">
        <name>Decoded Txn-AT</name>
        <t>Header:</t>
        <sourcecode type="json"><![CDATA[
{
  "typ": "txnat+jwt",
  "alg": "ES256",
  "kid": "as-2026-09"
}
]]></sourcecode>
        <t>Payload:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.example.com",
  "aud": "https://api.example.net",
  "sub": "pw-5c1e9f0a2b",
  "client_id": "agent-7f3a",
  "iat": 1790560000,
  "exp": 1790560060,
  "jti": "0f8b6a4e-2d1c-4b7e-9a3f-6c5d4e3b2a10",
  "txn": "k3JdQ9vX2mPz7LwR5tYb8A",
  "scope": "invoices.read",
  "tctx": {
    "task": "summarize_invoices",
    "period": "2026-Q3"
  },
  "rctx": {
    "req_ip": "198.51.100.7",
    "authn": "private_key_jwt"
  },
  "act": {
    "sub": "agent-7f3a"
  },
  "cnf": {
    "jkt": "0ZcOCORZNYy-DWpqq30jZyJGHTN0d2HglBV3uiguA4I"
  }
}
]]></sourcecode>
      </section>
      <section anchor="ex-additional-tat-refresh">
        <name>Additional Txn-AT for the Same Transaction (Refresh Token Grant)</name>
        <sourcecode type="http-message"><![CDATA[
POST /token HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded
DPoP: eyJ0eXAiOiJkcG9wK2p3dCIs...

grant_type=refresh_token
&refresh_token=rt_Hq4mN8vK2pXz
&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3A
  token-type%3Atxn_access_token
&resource=https%3A%2F%2Fbilling.example.org
&txn_handle=th_9Qm2xVb7LkP0sR4tYw8eZa
]]></sourcecode>
        <t>The resulting Txn-AT has <tt>aud</tt> set to <tt>https://billing.example.org</tt> and a
<tt>txn</tt> value that cannot be correlated with <tt>k3JdQ9vX2mPz7LwR5tYb8A</tt>.</t>
      </section>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <ul spacing="normal">
        <li>
          <t>Should the AS return the transaction handle's expiry, for example
in a <tt>txn_handle_expires_in</tt> parameter?</t>
        </li>
        <li>
          <t>Should a resource server error code be defined, for use in the
<tt>WWW-Authenticate</tt> response header, that signals a Txn-AT is required?</t>
        </li>
        <li>
          <t>Should the AS be able to end a transaction explicitly before its
handle expires, for example through a revocation-style endpoint for
handles?</t>
        </li>
        <li>
          <t>Should a common vocabulary for <tt>tctx</tt> be defined for AI agent
tasks, or left to deployments?</t>
        </li>
        <li>
          <t>How should this draft align with the WIMSE WG and with AI agent
authorization work?</t>
        </li>
        <li>
          <t>Name: "Transactional Access Tokens" is close to "Transaction
Tokens". Should an alternative, such as "Transaction-Scoped Access
Tokens", be considered?</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank the authors of <xref target="TXN-TOKENS"/>, whose work this
document builds on.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version.</t>
        </li>
      </ul>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Pieter Kasselman">
        <organization>Defakto Security</organization>
        <address>
          <email>pieter@defakto.security</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
Ft2z48+HUyQ8o6pbTAhSyln9f9OA8yzsfAAA

-->

</rfc>
