<?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.30 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-oauth-transaction-tokens-for-agents-04" 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-04"/>
    <author fullname="ASHAY RAUT">
      <organization>Amazon</organization>
      <address>
        <email>asharaut@amazon.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="11"/>
    <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 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>
    </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 454?>

<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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
kcc6i/4H9NILLwNWAAA=

-->

</rfc>
