<?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.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-oauth-transaction-tokens-for-agents-05" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title>Transaction Tokens For Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-oauth-transaction-tokens-for-agents-05"/>
    <author fullname="ASHAY RAUT">
      <organization>Amazon</organization>
      <address>
        <email>asharaut@amazon.com</email>
      </address>
    </author>
    <date year="2026" month="April" day="04"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 37?>

<t>This document specifies an extension to the OAuth Transaction Tokens
framework (https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html)
to support agent context propagation within Transaction
Tokens for agent-based workloads. The extension defines two new
context fields: 'actor' and 'principal'. The 'actor' field identifies
the agent performing the action, while the 'principal' field identifies
the human or system entity that initiated the agent's action. For
autonomous agents operating independently, the 'principal' field MAY
be omitted. These additional context fields enable services within
the call graph to make more granular access control decisions,
thereby enhancing security.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ashayraut.github.io/oauth-transactiontokens-for-agents/draft-oauth-transaction-tokens-for-agents.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-oauth-transaction-tokens-for-agents/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ashayraut/oauth-transactiontokens-for-agents"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Traditional zero trust authorization systems face new challenges when
   applied to AI agent workloads. Unlike conventional web services,
   AI agents possess capabilities for autonomous operation, behavioral
   adaptation, and dynamic integration with various data sources. These
   characteristics may lead to decisions that extend beyond their
   initial operational boundaries.</t>
      <t>Existing zero trust models, which effectively manage permissions and
   access scopes for traditional web services, require enhancement to
   address the unique properties of AI agents. Authorization systems
   must evaluate each AI agent interaction independently, considering
   both the immediate context and intended action. This necessitates
   more sophisticated approaches to policy enforcement, behavioral
   monitoring, and audit tracking to maintain security governance.</t>
      <t>Transaction Tokens (Txn-Tokens) are short-lived, signed JSON Web
   Tokens <eref target="https://tools.ietf.org/html/rfc7519">RFC7519</eref> that convey identity and authorization context.
   However, the current Txn-Token format lacks sufficient context for
   services within the call chain to implement fine-grained access
   control policies for agent-based workflows. Specifically, it does
   not provide adequate information about the AI agent's identity or
   its initiating entity, limiting transaction traceability. With this
   extension, Transaction Tokens will carry agent identity information
   which will help in better traceability for AI Agent's actions
   deep down the web service graph connecting multiple web services
   involved in completing a transaction in distributed systems.</t>
      <t>This document defines two new contexts within the Transaction Token
   to address these limitations:</t>
      <ol spacing="normal" type="1"><li>
          <t>The actor context, which identifies the AI agent performing
the action</t>
        </li>
        <li>
          <t>The principal context, which identifies the human or system
entity on whose behalf the actor operates</t>
        </li>
      </ol>
      <t>This extension leverages the existing Txn-Token infrastructure to
   enable secure propagation of AI agent context throughout the
   service graph.</t>
      <t>There is an opportunity here to add 'agentic context' in the Txn Token too.
   The Txn-Token MAY contain an agentic_ctx claim. The value of this claim, if present, MUST be a JSON object. T
   The agentic_ctx claim conveys attributes about the agent and its operational constraints that are relevant to authorization, auditing, and policy evaluation.</t>
      <section anchor="conventions-and-terminology">
        <name>Conventions and Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <eref target="https://datatracker.ietf.org/doc/html/rfc2119">RFC2119</eref> <eref target="https://datatracker.ietf.org/doc/html/rfc8174">RFC8174</eref> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>Agentic-AI: AI Agentic applications are software applications that utilize
Large Language Models (LLM)s and plans, reasons,and takes actions independently
to achieve complex, multi-step goals with minimal human oversight.</t>
      <t>Workload:
An independent computational unit that can autonomously receive and process
invocations, and can generate invocations of other workloads.
Examples of workloads include containerized microservices,
monolithic services and infrastructure services such as managed databases.</t>
      <t>Trust Domain:
A collection of systems, applications, or workloads that share a
common security policy. In practice this may include a virtually or
physically separated network, which contains two or more workloads.
The workloads within a Trust Domain may be invoked only through published
interfaces.</t>
      <t>Call Chain:
A sequence of synchronous invocations that results from the invocation of an external endpoint.</t>
      <t>External Endpoint:
A published interface to a Trust Domain that results in the invocation
of a workload within the Trust Domain. This is the first service in the
call chain where request starts.</t>
      <t>Transaction Token (Txn-Token):
A signed JWT with a short lifetime, providing immutable information about the user or workload,
certain parameters of the call, and specific contextual attributes of the call.
The Txn-Token is used to authorize subsequent calls in the call chain.</t>
      <t>Transaction Token Service (Txn-Token Service):
A special service within the Trust Domain that issues Txn-Tokens to requesting
workloads. Each Trust Domain using Txn-Tokens MUST have exactly one logical
Txn-Token Service.</t>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol overview</name>
      <section anchor="transaction-flow">
        <name>Transaction Flow</name>
        <t>This section describes the process by which an agent application
   obtains a Transaction Token, either acting autonomously or on behalf
   of a principal. The external endpoint requests a Txn-Token following
   the procedures defined in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>, augmented with additional
   context for agent identity and, when applicable, principal identity.</t>
      </section>
      <section anchor="agent-application-transaction-flows">
        <name>Agent Application Transaction Flows</name>
        <t>The Transaction Token creation process varies depending on the
   presence of a principal.</t>
        <section anchor="principal-initiated-flow">
          <name>Principal-Initiated Flow</name>
          <t>When a principal initiates the workflow, the following steps occur:</t>
          <ol spacing="normal" type="1"><li>
              <t>The principal invokes the agent application to perform a task.</t>
            </li>
            <li>
              <t>The agent application calls an external endpoint. External endpoint throws back OAuth challenges.</t>
            </li>
            <li>
              <t>The agent application authenticates using an OAuth 2.0 Auth code flow <eref target="https://tools.ietf.org/html/rfc6749">RFC6749</eref>
access token. The access token contains subject and clientId claims as per <eref target="https://datatracker.ietf.org/doc/rfc9068">RFC9068</eref>.</t>
            </li>
            <li>
              <t>The external endpoint submits the received access token along with its Subject token to the
Txn-Token Service. Subject token requirements are specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.</t>
            </li>
            <li>
              <t>The Txn-Token Service validates the access token.</t>
            </li>
            <li>
              <t>As specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>, the Txn-Token Service uses
the access token's 'aud' claim to populate the Txn-Token's
'sub' claim.</t>
            </li>
            <li>
              <t>The Txn-Token Service copies the access token's 'actor' or 'clientId' claim
to the Txn-Token's 'actor' context. Any nested structure within
the 'actor' claim is preserved.</t>
            </li>
            <li>
              <t>The Txn-Token Service uses the access token's 'sub' claim to
populate the Txn-Token's 'principal' context.</t>
            </li>
          </ol>
        </section>
        <section anchor="autonomous-flow">
          <name>Autonomous Flow</name>
          <t>When the agent application operates autonomously, the following
   steps occur:</t>
          <ol spacing="normal" type="1"><li>
              <t>The agent application initiates a task based on an event or
scheduled assignment.</t>
            </li>
            <li>
              <t>The agent application calls an external endpoint. OAuth challenge flow starts.</t>
            </li>
            <li>
              <t>The agent application authenticates using an OAuth 2.0 <eref target="https://tools.ietf.org/html/rfc6749">RFC6749</eref>. When an autonomous agent
(no human resource owner) needs to call another resource server using OAuth,
it follows the Client Credentials Grant defined explicitly in <eref target="https://tools.ietf.org/html/rfc6749">RFC6749</eref>.</t>
            </li>
            <li>
              <t>The agent application uses the access token to call the external endpoint.</t>
            </li>
            <li>
              <t>The external endpoint submits the received access token along with its Subject token to the
Txn-Token Service. Subject token requirements are specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>.</t>
            </li>
            <li>
              <t>The Txn-Token Service validates the access token and extracts
the actor and subject identities.</t>
            </li>
            <li>
              <t>As specified in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref>, the Txn-Token Service uses
the access token's 'aud' claim to populate the Txn-Token's
'sub' claim.</t>
            </li>
            <li>
              <t>The Txn-Token Service copies the 'sub' field from within the
access token's 'actor' claim to the Txn-Token's 'actor' context.
Any nested structure is preserved.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="flow-diagrams">
        <name>Flow Diagrams</name>
        <section anchor="principal-initiated-flow-1">
          <name>Principal-Initiated Flow</name>
          <t>Based on the updated flow, here's a more detailed RFC-style flow diagram:</t>
          <artwork type="ascii-art"><![CDATA[
Principal    Agent App    External    Authorization   Txn-Token
                         Endpoint        Server        Service
   |            |           |              |             |
   | Invoke     |           |              |             |
   | agent task |           |              |             |
   |----------->|           |              |             |
   |            |           |              |             |
   |            | Call external API        |             |
   |            |---------->|              |             |
   |            |           |              |             |
   |            |   OAuth Challenge        |             |
   |            |<----------|              |             |
   |            |           |              |             |
   |            | Initiate Auth Code Flow  |             |
   |            |------------------------->|             |
   |            |           |              |             |
   |            | Auth Code                |             |
   |            |<-------------------------|             |
   |            |           |              |             |
   |            | Exchange code for token  |             |
   |            |------------------------->|             |
   |            |           |              |             |
   |            | Access Token (AT1)       |             |
   |            | sub, clientId claims     |             |
   |            |<-------------------------|             |
   |            |           |              |             |
   |            | Call with AT1            |             |
   |            |---------->|              |             |
   |            |           |              |             |
   |            |           | Request Txn-Token          |
   |            |           | with AT1 as param          |
   |            |           |--------------------------->|
   |            |           |              |             |
   |            |           |              |    Validate AT1
   |            |           |              |    Extract claims
   |            |           |              |    Set sub from aud
   |            |           |              |    Set actor from
   |            |           |              |    clientId
   |            |           |              |    Set principal
   |            |           |              |    from sub
   |            |           |              |             |
   |            |           | Txn-Token    |             |
   |            |           |<---------------------------|
   |            |           |              |             |

Legend:
----> : Request flow
<---- : Response flow
  |   : Component boundary
]]></artwork>
          <t>Notes:
1. AT1 refers to the access token obtained by Agent App
2. The External Endpoint uses its own access token to call Txn-Token Service
3. AT1 is passed as a parameter in the Txn-Token request
4. The flow shows detailed OAuth 2.0 Authorization Code flow steps
5. Token validation and claim extraction steps are shown in the Txn-Token Service</t>
        </section>
        <section anchor="autonomous-flow-1">
          <name>Autonomous Flow</name>
          <artwork type="ascii-art"><![CDATA[
Agent App    External    Authorization   Txn-Token
            Endpoint        Server        Service
    |           |              |             |
    | Self-     |              |             |
    | triggered |              |             |
    | event     |              |             |
    |--+        |              |             |
    |  |        |              |             |
    |<-+        |              |             |
    |           |              |             |
    | Call external API        |             |
    |---------->|              |             |
    |           |              |             |
    |   OAuth Challenge        |             |
    |<----------|              |             |
    |           |              |             |
    | Client Credentials Grant |             |
    |------------------------->|             |
    |           |              |             |
    | Access Token (AT1)       |             |
    |  sub, aud claims         |             |
    |<-------------------------|             |
    |           |              |             |
    | Call with AT1            |             |
    |---------->|              |             |
    |           |              |             |
    |           | Request Txn-Token          |
    |           | with AT1 as param          |
    |           |--------------------------->|
    |           |              |             |
    |           |              |    Validate AT1
    |           |              |    Extract claims
    |           |              |    Set sub from aud
    |           |              |    Set actor from
    |           |              |    sub in actor
    |           |              |    claim
    |           |              |             |
    |           | Txn-Token    |             |
    |           |<---------------------------|
    |           |              |             |

Legend:
----> : Request flow
<---- : Response flow
  |   : Component boundary
  +   : Internal process
--+   : Self-triggered event

Notes:
* AT1: Access token obtained via Client Credentials Grant
* External Endpoint uses its own credentials for Txn-Token Service
* AT1 is included as parameter in Txn-Token request
* Self-triggered events can be scheduled tasks or external triggers
* Token validation includes signature and claims verification
]]></artwork>
        </section>
      </section>
      <section anchor="replacement-tokens">
        <name>Replacement tokens</name>
        <t>Txn-Token Service provides capability to get a replacement Txn-Token as defined in the <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html#name-creating-replacement-txn-to">OAUTH-TXN-TOKENS.replacement flow</eref>. If the original Txn-Token used to get replacement token contains 'actor' and 'principal' claims then in the replaced Txn-Token, the values of the 'actor' and 'principal' MUST remain unchanged similar to 'txn', 'sub' and 'aud' claims.</t>
      </section>
      <section anchor="txn-token-format">
        <name>Txn-Token Format</name>
        <section anchor="jwt-header">
          <name>JWT Header</name>
          <t>No changes to the JWT header from the base specification: <tt>typ</tt> MUST be <tt>txntoken+jwt</tt>, with a signing key identifier such as <tt>kid</tt>.</t>
        </section>
        <section anchor="jwt-body-claims">
          <name>JWT Body Claims</name>
          <t>The Txn-Token body augments the base claim set with two new top-level claims for agent context: <tt>actor</tt> and <tt>principal</tt>. Existing claims like <tt>txn</tt>, <tt>sub</tt>, <tt>aud</tt>, <tt>iss</tt>, <tt>iat</tt>, <tt>exp</tt>, <tt>purp</tt>, <tt>tctx</tt>, and <tt>req_wl</tt> retain identical semantics, population rules, and immutability guarantees.</t>
          <sourcecode type="json"><![CDATA[
{
  "txn": "c2dc3992-2d65-483a-93b5-2dd9f02c276e",
  "sub": "api-gw.trust-domain.example",
  "aud": "https://trading.trust-domain.example/stocks",
  "iss": "https://txn-svc.trust-domain.example",
  "iat": 1697059200,
  "exp": 1697059500,
  "purp": "trade.stocks",
  "tctx": {
    "action": "BUY",
    "ticker": "MSFT",
    "quantity": "100"
  },
  "req_wl": "apigateway.trust-domain.example",
  "actor": {
    "agent_id": "agent-1234",
    "version": "v2.1.0",
    "deployment": "prod-us-east-1"
  },
  "principal": "user:alice@example.com"
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="agentic-context">
        <name>Agentic Context</name>
        <t>The Txn-Token MAY contain an agentic_ctx claim. Txn-Tokens are increasingly used in environments where transactions are executed by or with the assistance of autonomous or semi-autonomous agents (for example, Large Language Model (LLM)–based agents, workflow orchestrators, and policy-driven automation components). In such deployments, relying exclusively on subject identity and generic transaction parameters is insufficient to make robust authorization decisions. Additional information about the agent that is interpreting and acting on the transaction is often required.</t>
        <sourcecode type="json"><![CDATA[
"agentic_ctx": {
  "agent_type": "planner+tool-orchestrator", // A string describing the functional role of the agent (for example, “planner”, “tool-orchestrator”, “data-assistant”, “code-execution-agent”). The semantics and allowed values are deployment-specific.
  "agent_version": "3.4.2", // A string indicating a version or configuration identifier for the agent. This value can be used to associate the transaction with a particular, reviewed agent policy or release
  "intent": "enumerate and validate production search services before Q4 traffic spike", // A string describing the high-level purpose of the transaction from the agent’s perspective (for example, “trade.stocks”, “enumerate.search.services”, “generate.billing.report”). This value is intended to support coarse-grained, intent-aware authorization policies.
  "allowed_actions": ["read"],
  "environment_constraints": { "environment": "prod", "region": "us" },
}
]]></sourcecode>
        <section anchor="integration-with-oauth-rich-authorization-requests">
          <name>Integration with OAuth Rich Authorization Requests</name>
          <t>When the Authorization Server supports Rich Authorization Requests (RAR) as defined in <eref target="https://datatracker.ietf.org/doc/html/rfc9396">RFC9396</eref>, the authorization details captured during the authorization flow can provide valuable context for downstream authorization decisions. The RAR mechanism enables clients to specify fine-grained authorization requirements that may be captured, reviewed, and potentially consented to by the resource owner during the authorization process.</t>
          <t>Authorization Servers implementing RAR MAY include relevant authorization details within the access token. When the Txn-Token Service processes such access tokens to issue Transaction Tokens, it MAY extract these authorization details and include them within the agentic_ctx claim. This approach enables services deeper in the call chain to leverage authorization details for fine-grained access control decisions, even when the Authorization Server itself does not enforce policies based on all captured details.</t>
          <t>This pattern offers several advantages:
Deferred Policy Enforcement: Authorization details can be captured and validated at the Authorization Server without requiring immediate policy decisions on all details. Fine-grained authorization policies can be enforced closer to the resources being accessed.</t>
          <ol spacing="normal" type="1"><li>
              <t>Context Enrichment: The authorization details provide additional context about the scope and nature of the authorized operation, enabling more informed authorization decisions throughout the service graph.</t>
            </li>
            <li>
              <t>Consent Propagation: When user consent is obtained for specific authorization details, this consent context can be propagated through the Transaction Token to services that need to honor those consent decisions.</t>
            </li>
            <li>
              <t>Reduced Complexity: This approach allows businesses to avoid the complexity of implementing all fine-grained authorization checks at the Authorization Server, instead distributing authorization decisions to services with domain-specific knowledge.</t>
            </li>
          </ol>
          <t>For example, an Authorization Server might capture detailed authorization requirements using RAR, obtain necessary user consent, and include these details in the access token. The Txn-Token Service can then extract relevant authorization details and include them in the agentic_ctx claim. Services receiving Transaction Tokens with authorization details in the agentic_ctx can use this information to make context-aware authorization decisions that respect the original authorization scope, user consent, and intended purpose of the operation. Implementations SHOULD carefully consider which authorization details are relevant for downstream services and avoid including sensitive information that is not necessary for authorization decisions in the call chain.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <ol spacing="normal" type="1"><li>
          <t>All the security considerations mentioned in <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">OAUTH-TXN-TOKENS</eref> apply.</t>
        </li>
        <li>
          <t>Token Replay Protection Implementations MUST enforce strict token lifetime validation. The short-lived nature of Transaction Tokens helps mitigate replay attacks, but implementations SHOULD also consider:
2.1 Implementing token tracking mechanisms within trust domains
2.2 Validating token usage context</t>
        </li>
        <li>
          <t>Actor Identity Security
3.1. Implementations MUST validate actor claims in tokens
3.2. The Txn-Token Service MUST verify the authenticity of actor context before token issuance
3.3. During replacement flow, Txn-Token Service MUST avoid replacing actor context in the incoming Txn-Token.</t>
        </li>
        <li>
          <t>Principal Context Protection
4.1. Systems MUST prevent unauthorized modifications to principal context during token propagation. Txn-Token is cryptographically signed.
4.3. During replacement flow, Txn-Token Service MUST avoid replacing principal context in the incoming Txn-Token.</t>
        </li>
        <li>
          <t>Transaction Chain Integrity
5.1. Implementations MUST maintain cryptographic integrity of the token chain
5.2. Services MUST validate tokens at trust domain boundaries
5.3. Systems MUST implement protection against token tampering during service-to-service communication</t>
        </li>
        <li>
          <t>AI Agent Specific Controls
6.1. Implementations MUST enforce scope boundaries for AI agent operations
6.2. Systems SHOULD implement behavioral monitoring for AI agent activities by logging actor, principal in logs.
6.3. Systems MUST maintain audit trails of AI agent activities</t>
        </li>
        <li>
          <t>Token Transformation Security
7.1. The Txn-Token Service MUST validate all claims during access token to Txn-Token conversion
7.2. Implementations MUST verify signatures and formats of all tokens
7.3. Systems MUST prevent unauthorized manipulation during token transformation</t>
        </li>
        <li>
          <t>Replacement Token Considerations
8.1. Systems MUST verify the authenticity and validity of original tokens before replacement
8.2. Systems MUST implement controls to prevent unauthorized replacement requests</t>
        </li>
        <li>
          <t>Infrastructure Security
9.1. All component communications MUST use secure channels
9.2. Implementations MUST enforce strong authentication of the Authorization Server
9.3. Systems MUST implement regular rotation of cryptographic keys
9.4. Trust domain boundaries MUST be clearly defined and enforced</t>
        </li>
      </ol>
    </section>
    <section anchor="references">
      <name>References</name>
      <section anchor="normative-references">
        <name>Normative References</name>
        <t><eref target="https://datatracker.ietf.org/doc/html/rfc2119">RFC2119</eref>
    Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <eref target="https://www.rfc-editor.org/rfc/rfc2119">https://www.rfc-editor.org/rfc/rfc2119</eref>.</t>
        <t><eref target="https://datatracker.ietf.org/doc/html/rfc8174">RFC8174</eref>
     Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, https://www.rfc-editor.org/rfc/rfc8174</t>
        <t><eref target="https://tools.ietf.org/html/rfc6749">RFC6749</eref>
    Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, October 2012, <eref target="https://www.rfc-editor.org/rfc/rfc6749">https://www.rfc-editor.org/rfc/rfc6749</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc7519">RFC7519</eref>
    Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, <eref target="https://www.rfc-editor.org/rfc/rfc7519">https://www.rfc-editor.org/rfc/rfc7519</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc7515">RFC7515</eref>
    Jones, M., Bradley, J., and N. Sakimura, "JSON Web Signature (JWS)", RFC 7515, DOI 10.17487/RFC7515, May 2015, <eref target="https://www.rfc-editor.org/rfc/rfc7515">https://www.rfc-editor.org/rfc/rfc7515</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc8693">RFC8693</eref>
    Jones, M., Nadalin, A., Campbell, B., Ed., Bradley, J., and C. Mortimore, "OAuth 2.0 Token Exchange", RFC 8693, DOI 10.17487/RFC8693, January 2020, <eref target="https://www.rfc-editor.org/rfc/rfc8693">https://www.rfc-editor.org/rfc/rfc8693</eref>.</t>
        <t><eref target="https://tools.ietf.org/html/rfc9068">RFC9068</eref>
    Bertocci, V., "JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens", RFC 9068, DOI 10.17487/RFC9068, October 2021, <eref target="https://www.rfc-editor.org/rfc/rfc9068">https://www.rfc-editor.org/rfc/rfc9068</eref>.</t>
        <t><eref target="https://datatracker.ietf.org/doc/html/rfc9396">RFC9396</eref>
    T. Lodderstedt, J. Richer, B. Campbell, "OAuth 2.0 Rich Authorization Requests", RFC 9396, DOI 10.17487/RFC9396, May 2023, <eref target="https://www.rfc-editor.org/rfc/rfc9396">https://www.rfc-editor.org/rfc/rfc9396</eref>.</t>
        <t><eref target="https://datatracker.ietf.org/doc/draft-tulshibagwale-oauth-transaction-tokens">OAUTH-TXN-TOKENS</eref>
     Atul Tulshibagwale, George Fletcher, Pieter Kasselman, "OAuth Transaction Tokens", <eref target="https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html">https://drafts.oauth.net/oauth-transaction-tokens/draft-ietf-oauth-transaction-tokens.html</eref></t>
      </section>
    </section>
  </middle>
  <back>
    <?line 484?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the contributors and the OAuth working group members who gave valuable input to this draft.</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>name: Atul Tulshibagwale
org: SGNL
email: atul@sgnl.ai</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AKJbdQREZQAA

-->

</rfc>
