<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-oauth-transaction-tokens-for-agents-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>Transaction Tokens For Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-oauth-transaction-tokens-for-agents-02"/>
    <author fullname="ASHAY RAUT">
      <organization>Amazon</organization>
      <address>
        <email>asharaut@amazon.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="20"/>
    <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>
    <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 to the
Txn-Token Service. Note that this received access token is different rather the access token which
external endpoint has available to call Txn-Token Service itself. So the received access token is actually a parameter required
to call Txn-token Service</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 to the
Txn-Token Service. Note that this received access token is different rather the access token which
external endpoint has available to call Txn-Token Service itself. So the received access token is actually a parameter required
to call Txn-token Service</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>
        <t>### JWT Header
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 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>
          <t><tt>
{
  "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"
}
</tt>
## Agentic Context
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>
          <t>"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" },
}</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://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/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 451?>

<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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
tMhjnUX/Ayi7wn9hVgAA

-->

</rfc>
