<?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.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-klrc-aiagent-auth-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="AI-Auth">AI Agent Authentication and Authorization</title>
    <seriesInfo name="Internet-Draft" value="draft-klrc-aiagent-auth-01"/>
    <author fullname="Pieter Kasselman">
      <organization>Defakto Security</organization>
      <address>
        <email>pieter@defakto.security</email>
      </address>
    </author>
    <author fullname="Jean-François Lombardo">
      <organization>AWS</organization>
      <address>
        <email>jeffsec@amazon.com</email>
      </address>
    </author>
    <author fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <author fullname="Brian Campbell">
      <organization>Ping Identity</organization>
      <address>
        <email>bcampbell@pingidentity.com</email>
      </address>
    </author>
    <author fullname="Nick Steele">
      <organization>Open AI</organization>
      <address>
        <email>steele@openai.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="30"/>
    <keyword>OAuth</keyword>
    <keyword>WIMSE</keyword>
    <keyword>SPIFFE</keyword>
    <keyword>Secure Signals Framework</keyword>
    <keyword>AI Agent Authentication and Authorization</keyword>
    <abstract>
      <?line 103?>

<t>This document proposes a model for authentication and authorization of AI agent interactions. It leverages existing standards such as the Workload Identity in Multi-System Environments (WIMSE) architecture and OAuth 2.0 family of specifications. Rather than defining new protocols, this document describes how existing and widely deployed standards can be applied or extended to establish agent authentication and authorization. By doing so, it aims to provide a framework within which to use existing standards, identify gaps and guide future standardization efforts for agent authentication and authorization.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://PieterKas.github.io/agent2agent-auth-framework/draft-klrc-aiagent-auth.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-klrc-aiagent-auth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/PieterKas/agent2agent-auth-framework"/>.</t>
    </note>
  </front>
  <middle>
    <?line 107?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The rapid emergence of AI agents as autonomous workloads has sparked considerable innovation in authentication and authorization approaches. However, many of these efforts develop solutions in isolation, often reinventing existing mechanisms unaware of applicable prior art. This fragmentation risks creating incompatible implementations, duplicated development effort, and missed opportunities to leverage decades of established identity and authorization standards.</t>
      <t>This document aims to help close that gap by providing a comprehensive model demonstrating how existing, well-established standards and some emergent specifications can be composed and applied to solve agent authentication and authorization challenges. Rather than proposing new protocols, this work focuses on integrating proven standards into a coherent framework tailored to the specific requirements of AI agent workloads.</t>
      <t>By doing so, this document serves two complementary goals:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Consolidation of prior art</strong>: It establishes a baseline by showing how existing standards address the core identity, authentication, authorization, monitoring and observability needs of agent-based systems. Implementers and standards developers can reference this framework to avoid redundant work and ensure interoperability.</t>
        </li>
        <li>
          <t><strong>Foundation for future work</strong>: As the agent ecosystem matures, having such a framework aids in identifying gaps and clarifies where extensions or profiles of existing standards are needed. This provides a foundation for more focused standardization efforts in areas needing novel work rather than variations of existing approaches.</t>
        </li>
      </ol>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="agents-are-workloads">
      <name>Agents are workloads</name>
      <t>An Agent is a workload that iteratively interacts with a Large Language Model (LLM) and a set of Tools, Services and Resources. An agent performs its operations until a terminating condition, determined either by the LLM or by the agent's internal logic, is reached. It may receive input from a user, or act autonomously. <xref target="fig-ai-agent-workload"/> shows a conceptual model of the AI Agent as a workload and illustrates the high-level interaction model between the User or System, the AI Agent, the Large Language Model (LLM), Tools, Services, and Resources.</t>
      <t>In this document, Tools, Services, and Resources are treated as a single category of external endpoints that an agent invokes or interacts with to complete a task. Communication within or between Tools, Services, and Resources is out of scope.</t>
      <figure anchor="fig-ai-agent-workload">
        <name>AI Agent as a Workload</name>
        <artwork type="ascii-art"><![CDATA[
                +----------------+
                | Large Language |
                |   Model (LLM)  |
                +----------------+
                      ^   |
                     (2) (3)
                      |   V
+--------+       +------------+       +-----------+
|  User  |--(1)->|  AI Agent  |--(4)->|   Tools   |
|   or   |       | (workload) |       | Services  |
| System |<-(6)--|            |<-(5)--| Resources |
+--------+       +------------+       +-----------+
]]></artwork>
      </figure>
      <ol spacing="normal" type="1"><li>
          <t>Optional: The User or System (e.g. a batch job or another Agent) provides an initial request or instruction to the AI Agent.</t>
        </li>
        <li>
          <t>The AI Agent provides the available context to the LLM. Context is implementation, and deployment, specific and may include User or System input, system prompts, Tool descriptions, prior Tool, Service and Resource outputs, and other relevant state.</t>
        </li>
        <li>
          <t>The LLM returns output to the AI Agent facilitating selection of Tools, Services or Resources to invoke.</t>
        </li>
        <li>
          <t>The AI Agent invokes one or more external endpoints of selected Tools, Services or Resources. A Tool endpoint may itself be implemented by another AI agent.</t>
        </li>
        <li>
          <t>The external endpoint of the Tools, Services or Resources returns a result of the operation to the AI Agent, which may send the information as additional context to the Large Language Model, repeating steps 2-5 until the exit condition is reached and the task is completed.</t>
        </li>
        <li>
          <t>Optional: Once the exit condition is reached in step 5, the AI Agent may return a response to the User or System. The AI Agent may also return intermediate results or request additional input.</t>
        </li>
      </ol>
      <t>As shown in <xref target="fig-ai-agent-workload"/>, the AI agent is a workload that needs an identifier and credentials so it can be authenticated by the Tools, Services, Resources, Large Language Model, System and the User (via the underlying operating system or platform, similar to existing applications and services). Once authenticated, these parties determine if the AI Agent is authorized to access the requested Large Language Model, Tools, Services or Resources. If the AI Agent is acting on behalf of a User or System, the User or System needs to delegate authority to the AI Agent, and the User or System context is preserved and used as input to authorization decisions and recorded in audit trails.</t>
      <t>This document describes how AI Agents should leverage existing standards defined by SPIFFE <xref target="SPIFFE"/>, WIMSE, OAuth and OpenID SSF <xref target="SSF"/>.</t>
    </section>
    <section anchor="agent-identity-management-system">
      <name>Agent Identity Management System</name>
      <t>This document defines the term Agent Identity Management System (AIMS) as a conceptual model describing the set of functions required to establish, maintain, and evaluate the identity and permissions of an agent workload. AIMS does not refer to a single product, protocol, or deployment architecture. AIMS may be implemented by one component or distributed across multiple systems (such as identity providers, attestation services, authorization servers, policy engines, and runtime enforcement points).</t>
      <t>An Agent Identity Management System ensures that the right Agent has access to the right resources and tools at the right time for the right reason. An Agent identity management system depends on the following components to achieve its goals:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Agent Identifiers:</strong> Unique identifier assigned to every Agent.</t>
        </li>
        <li>
          <t><strong>Agent Credentials:</strong> Cryptographic binding between the Agent Identifier and attributes of the Agent.</t>
        </li>
        <li>
          <t><strong>Agent Attestation:</strong> Mechanisms for determining and assigning the identifier and issue credentials based on measurements of the Agent's environment.</t>
        </li>
        <li>
          <t><strong>Agent Credential Provisioning:</strong> The mechanism for provisioning credentials to the agent at runtime.</t>
        </li>
        <li>
          <t><strong>Agent Authentication:</strong> Protocols and mechanisms used by the Agent to authenticate itself to Large Language Models or Tools (resource or server) in the system.</t>
        </li>
        <li>
          <t><strong>Agent Authorization:</strong> Protocols and systems used to determine if an Agent is allowed to access a Large Language Model or Tool (resource or server).</t>
        </li>
        <li>
          <t><strong>Agent Observability and Remediation:</strong> Protocols and mechanisms to dynamically modify the authorization decisions based on observed behavior and system state.</t>
        </li>
        <li>
          <t><strong>Agent Authentication and Authorization Policy:</strong> The configuration and rules for each of the Agent Identity Management System.</t>
        </li>
        <li>
          <t><strong>Agent Compliance:</strong> Measurement of the state and functioning of the system against the stated policies.</t>
        </li>
      </ul>
      <t>The components form a logical stack in which higher layers depend on guarantees provided by lower layers, as illustrated in <xref target="fig-agent-identity-management-system"/>.</t>
      <figure anchor="fig-agent-identity-management-system">
        <name>Agent Identity Management System</name>
        <artwork type="ascii-art"><![CDATA[
+--------------+----------------------------------+-----------------+
|    Policy    |     Monitoring, Observability    |    Compliance   |
|              |          & Remediation           |                 |
|              +----------------------------------+                 |
|              |          Authorization           |                 |
|              +----------------------------------+                 |
|              |          Authentication          |                 |
|              +----------------------------------+                 |
|              |          Provisioning            |                 |
|              +----------------------------------+                 |
|              |           Attestation            |                 |
|              +----------------------------------+                 |
|              |           Credentials            |                 |
|              +----------------------------------+                 |
|              |           Identifier             |                 |
+--------------+----------------------------------+-----------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="agent_identifiers">
      <name>Agent Identifier</name>
      <t>Agents <bcp14>MUST</bcp14> be uniquely identified in order to support authentication, authorization, auditing, and delegation.</t>
      <t>The Workload Identity in Multi-System Environments (WIMSE) identifier as defined by <xref target="WIMSE-ID"/> is the primary identifier for agents in this framework.</t>
      <t>A WIMSE identifier is a URI that uniquely identifies a workload within a trust domain. Authorization decisions, delegation semantics, and audit records rely on this identifier remaining stable for the lifetime of the workload identity.</t>
      <t>The Secure Production Identity Framework for Everyone (<xref target="SPIFFE"/>) identifier is a widely deployed and operationally mature implementation of the WIMSE identifier model. A SPIFFE identifier (<xref target="SPIFFE-ID"/>) is a URI in the form of <tt>spiffe://&lt;trust-domain&gt;/&lt;path&gt;</tt> that uniquely identifies a workload within a trust domain.</t>
      <t>An agent participating in this framework <bcp14>MUST</bcp14> be assigned exactly one WIMSE identifier, which <bcp14>MAY</bcp14> be a SPIFFE ID.</t>
    </section>
    <section anchor="agent_credentials">
      <name>Agent Credentials</name>
      <t>Agents <bcp14>MUST</bcp14> possess credentials that provide a cryptographic binding to the agent identifier. These credentials are considered primary credentials that are provisioned at runtime. An identifier alone is insufficient unless it can be verified to be controlled by the communicating agent through a cryptographic binding.</t>
      <t>WIMSE credentials (<xref target="WIMSE-CRED"/>) are defined as a profile of X.509 certificates and Workload Identity Tokens (WITs), while SPIFFE defines SPIFFE Verified ID (SVID) profiles of JSON Web Token (JWT-SVID), X.509 certificates (X.509-SVID) and WIMSE Workload Identity Tokens (WIT-SVID). SPIFFE SVID credentials are compatible with WIMSE defined credentials. The choice of an appropriate format depends on the trust model and integration requirements.</t>
      <t>Agent credentials <bcp14>SHOULD</bcp14> be short-lived to minimize the risk of credential theft, <bcp14>MUST</bcp14> include an explicit expiration time after which it is no longer accepted, and <bcp14>MAY</bcp14> carry additional attributes relevant to the agent (for example trust domain, attestation evidence, or workload metadata).</t>
      <t>Deployments can improve the assurance of agent identity by protecting private keys using hardware-backed or isolated cryptographic storage such as TPMs, secure enclaves, or platform security modules when such capabilities are available. These mechanisms reduce key exfiltration risk but are not required for interoperability.</t>
      <t>In some cases, agents <bcp14>MAY</bcp14> need secondary credentials to access a proprietary or legacy environment that is not compatible with the X.509, JWT or WIT it is provisioned with. In these cases an agent <bcp14>MAY</bcp14> exchange their primary credentials through a credential exchange mechanisms (e.g., OAuth 2.0 Token Exchange <xref target="OAUTH-TOKEN-EXCHANGE"/>, Transaction Tokens <xref target="OAUTH-TXN-TOKENS"/> or Workload Identity Federation). This allows an agent to obtain a credential targeted to a specific environment by leveraging the primary credential in its possession.</t>
      <t><strong>Note</strong>: Static API keys are an antipattern for agent identity. They are bearer artifacts that are not cryptographically bound, do not convey identity, are typically long-lived and are operationally difficult to rotate, making them unsuitable for secure agent authentication or authorization.</t>
    </section>
    <section anchor="agent_attestation">
      <name>Agent Attestation</name>
      <t>Agent attestation is the identity-proofing mechanism for AI agents. Just as humans rely on identity proofing during account creation or credential issuance, agents require a means to demonstrate what they are, how they were instantiated, and under what conditions they are operating. Attestation evidence feeds into the credential issuance process and determines whether a credential is issued, the type of credential issued and the contents of the credential.</t>
      <t>Multiple attestation mechanisms exist, and the appropriate choice is deployment and risk specific. These mechanisms may include hardware-based attestations (e.g., TEE evidence), software integrity measurements, supply-chain provenance, platform and orchestration-layer attestations, or operator assertions to name a few. Depending on the risk involved, a single attestation may be sufficient, or, in higher risk scenarios, multi-attestation may be required.</t>
      <t>There are numerous systems that perform some form of attestation, any of which can contribute to establishing agent identity. For example, SPIFFE implementations can attest workloads using platform and environment specific mechanisms. At a high level, an attesting component gathers workload and execution context signals (such as where the workload is running and relevant platform identity attributes), presents those signals for verification to an issuer, and, as long as verification succeeds, binds the workload to a SPIFFE identifier and issues credentials (such as SVID) for subsequent authentication and authorization.</t>
      <t>An agent identity management system may incorporate multiple attestation mechanisms and implementations to collect evidence and supply it to credential provisioning components. The selection of mechanisms depends on deployment constraints (such as the underlying platform and available identity signals) and the desired level of trust assurance.</t>
    </section>
    <section anchor="agent_credential_provisioning">
      <name>Agent Credential Provisioning</name>
      <t>Agent credential provisioning refers to the runtime issuance, renewal, lifecycle state and rotation of the credentials an agent uses to authenticate and authorize itself to other agents. Agents may be provisioned with one or more credential types as described in <xref target="agent_credentials"/>. Unlike static secrets, agent credentials are provisioned dynamically and are intentionally short-lived, eliminating the operational burden of manual expiration management and reducing the impact of credential compromise. Agent credential provisioning must operate autonomously, scale to high-churn environments, and integrate closely with the attestation mechanisms that establish trust in the agent at each issuance or rotation event.</t>
      <t>Agent credential provisioning typically includes two phases:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Initial Provisioning</strong>: The process by which an agent first acquires a credential bound to its identity. This often occurs immediately after deployment or instantiation and is based on verified properties of the agent (e.g., deployment context, attestation evidence, or orchestration metadata).</t>
        </li>
        <li>
          <t><strong>Rotation/Renewal</strong>: The automatic refresh of short-lived credentials before expiration. Continuous rotation ensures that credentials remain valid only for the minimum necessary time and that authorization state reflects current operational conditions.</t>
        </li>
      </ol>
      <t>The use of short-lived credentials provides a significant improvement in the risk profile and risk of credential exposure. It provides an alternative to explicit revocation mechanisms and simplifies lifecycle management in large, automated environments while removing the risks of downtime as a result of credential expiry.</t>
      <t>Deployed frameworks such as <xref target="SPIFFE"/> provide proven mechanisms for automated, short-lived credential provisioning at runtime. In addition to issuing short-lived credentials, <xref target="SPIFFE"/> also provisions ephemeral cryptographic key material bound to each credential, further reducing the risks associated with compromising long-lived keys.</t>
    </section>
    <section anchor="agent_authentication">
      <name>Agent Authentication</name>
      <t>Agents may authenticate using a variety of mechanisms, depending on the credentials they possess, the protocols supported in the deployment environment, and the risk profile of the application. As described in the WIMSE Architecture <xref target="WIMSE-ARCH"/>, authentication can occur at either the transport layer or the application layer, and many deployments rely on a combination of both.</t>
      <section anchor="transport-layer-authentication">
        <name>Transport Layer Authentication</name>
        <t>Transport-layer authentication establishes trust during the establishment of a secure transport channel. The most common mechanism used by agents is mutually-authenticated TLS (mTLS), in which both endpoints present X.509-based credentials and perform a bidirectional certificate exchange as part of the TLS negotiation. When paired with short-lived workload identities, such as those issued by SPIFFE or WIMSE, mTLS provides strong channel binding and cryptographic proof of control over the agent’s private key.</t>
        <t>mTLS is particularly well-suited for environments where transport-level protection, peer authentication, and ephemeral workload identity are jointly required. It also simplifies authorization decisions by enabling agents to associate application-layer requests with an authenticated transport identity. One example of this is the use of mTLS in service mesh architectures such as Istio or LinkerD.</t>
        <section anchor="limitations">
          <name>Limitations</name>
          <t>There are scenarios where transport-layer authentication is not desirable or cannot be relied upon. In architectures involving intermediaries, such as proxies, API gateways, service meshes, load balancers, or protocol translators, TLS sessions are often terminated and re-established, breaking the end-to-end continuity of transport-layer identity. Similarly, some deployment models (such as serverless platforms, multi-tenant edge environments, or cross-domain topologies) may obscure or abstract identity presented at the transport layer, making it difficult to bind application-layer actions to a credential presented at the transport layer. In these cases, application-layer authentication provides a more robust and portable mechanism for expressing agent identity and conveying attestation or policy-relevant attributes.</t>
        </section>
      </section>
      <section anchor="application-layer-authentication">
        <name>Application Layer Authentication</name>
        <t>Application-layer authentication allows agents to authenticate independently of the underlying transport. This enables end-to-end identity preservation even when requests traverse proxies, load balancers, or protocol translation layers.</t>
        <t>The WIMSE working group defines WIMSE Proof Tokens and HTTP Message Signatures as authentication mechanisms that may be used by agents.</t>
        <section anchor="wpt">
          <name>WIMSE Proof Tokens (WPTs)</name>
          <t>WIMSE Workload Proof Tokens (WPTs, <xref target="WIMSE-WPT"/>) are a protocol-independent, application-layer mechanism for proving possession of the private key associated with a Workload Identity Token (WIT). WPTs are generated by the agent, using the private key matching the public key in the WIT. A WPT is defined as a signed JSON Web Token (JWT) that binds an agent’s authentication to a specific message context, for example, an HTTP request, thereby providing proof of possession rather than relying on bearer semantics.</t>
          <t>WPTs are designed to work alongside WITs <xref target="WIMSE-CRED"/> and are typically short-lived to reduce the window for replay attacks. They carry claims such as audience (aud), expiration (exp), a unique token identifier (jti), and a hash of the associated WIT (wth). A WPT may also include hashes of other related tokens (e.g., a Transaction Token) to bind the authentication contexts to specific transaction or authorizations details.</t>
          <t>Although the draft currently defines a protocol binding for HTTP (via a Workload-Proof-Token header), the core format is protocol-agnostic, making it applicable to other protocols. Its JWT structure and claims model allow WPTs to be bound to different protocols and transports, including asynchronous or non-HTTP messaging systems such as Kafka and gRPC, or other future protocol bindings. This design enables receiving systems to verify identity, key possession, and message binding at the application layer even in environments where transport-layer identity (e.g., mutual TLS) is insufficient or unavailable.</t>
        </section>
        <section anchor="http-message-signatures">
          <name>HTTP Message Signatures</name>
          <t>The WIMSE Workload-to-Workload Authentication with HTTP Signatures specification <xref target="WIMSE-HTTPSIG"/> defines an application-layer authentication profile built on the HTTP Message Signatures standard <xref target="HTTP-SIG"/>. It is one of the mechanisms WIMSE defines for authenticating workloads in HTTP-based interactions where transport-layer protections may be insufficient or unavailable. The protocol combines a workload's Workload Identity Token (WIT) (which binds the agent's identity to a public key) with HTTP Message Signatures (using the corresponding private key), thereby providing proof of possession and message integrity for individual HTTP requests and responses. This approach ensures end-to-end authentication and integrity even when traffic traverses intermediaries such as TLS proxies or load balancers that break transport-layer identity continuity. The profile mandates signing of some request components (e.g., method, request-target, content digest, and the WIT itself) and supports optional response signing. Note that @request-target covers only the request-target string (typically path + query) and not the method, scheme, or authority; those are only protected if separately covered (e.g., @method, @scheme, @authority).</t>
        </section>
        <section anchor="limitations-1">
          <name>Limitations</name>
          <t>Unlike transport-layer authentication, application-layer authentication does not inherently provide channel binding to the underlying secure transport. As a result, implementations <bcp14>MUST</bcp14> consider the risk of message relay or replay if tokens or signed messages are accepted outside their intended context. Deployments typically mitigate these risks through short token lifetimes, audience restrictions, nonce or unique identifier checks, and binding authentication to specific requests or transaction parameters.</t>
        </section>
      </section>
    </section>
    <section anchor="agent_authorization">
      <name>Agent Authorization</name>
      <t>Agents act on behalf of a user, a system, or on their own behalf as shown in <xref target="fig-ai-agent-workload"/> and need to obtain authorization when interacting with protected resources.</t>
      <section anchor="leverage-oauth-20-as-a-delegation-authorization-framework">
        <name>Leverage OAuth 2.0 as a Delegation Authorization Framework</name>
        <t>The widely deployed OAuth 2.0 Authorization Framework <xref target="OAUTH-FRAMEWORK"/> is a mechanism for delegated authorization that enables an Agent to obtain limited access to a protected resource (e.g., a service or API), intermediated by an Authorization Server, often with the explicit approval of the authenticated User. An Agent uses OAuth 2.0-based mechanisms to obtain authorization from a User, a System, or on its own behalf. OAuth 2.0 defines a wide range of authorization grant flows that supports these scenarios. In these Oauth 2.0 flows, an Agent acts as an OAuth 2.0 Client to an OAuth 2.0 Authorization Server, which receives the request, evaluate the authorization policy and returns an access token, which the Agent presents to the Resource Server (i.e. the protected resources such as the LLM or Tools in <xref target="fig-ai-agent-workload"/>, which can evaluate its authorization policy and complete the request.</t>
      </section>
      <section anchor="use-of-oauth-20-access-tokens">
        <name>Use of OAuth 2.0 Access Tokens</name>
        <t>An OAuth access token represents the authorization granted to the Agent. In many deployments, access tokens are structured as JSON Web Tokens (JWTs) <xref target="OAUTH-ACCESSTOKEN-JWT"/>, which include claims such as 'client_id', 'sub', 'aud', 'scope', and other attributes relevant to authorization. The access token includes the Agent identity as the 'client_id' claim as defined in <xref section="2.2" sectionFormat="of" target="OAUTH-ACCESSTOKEN-JWT"/>.</t>
        <t>When the Agent is acting on-behalf of another User or System, the User or System identifier is conveyed in the 'sub' claim as defined in <xref section="2.2" sectionFormat="of" target="OAUTH-ACCESSTOKEN-JWT"/>. These identifiers <bcp14>MUST</bcp14> be used by resource servers protected by the OAuth 2.0 authorization service, along with other claims in the access token, to determine if access to a resource should be allowed. The access token typically includes additional claims to convey contextual, attestation-derived, or policy-related information that enables fine-grained access control. The resource server uses the access token and the information it contains along with other authorization systems (e.g. policy based, attribute based or role based authorization systems) when enforcing access control. JWT access tokens can be validated directly by resource servers while other formats that are opaque to the resource server can be validated through a mechanism that calls back to the authorization server (the mechanism is called introspection despite the word having nearly the opposite meaning). This framework supports both models and does not require a specific token format, provided that equivalent authorization semantics are maintained.</t>
        <t>A resource server in receipt of tokens opaque to it are able to obtain authorization and other information from the token through OAuth 2.0 Token Introspection <xref target="OAUTH-TOKEN-INTROSPECTION"/>. The introspection response provides the active state of the token and associated authorization attributes equivalent to those conveyed in structured tokens.</t>
      </section>
      <section anchor="obtaining-an-oauth-20-access-token">
        <name>Obtaining an OAuth 2.0 Access Token</name>
        <t>OAuth 2.0 defines a number authorization grant flows in support of different authorization scenarios. The appropriate flow depends on the specific authorization scenario and the nature of User involvement. The following subsections describe the most relevant flows for Agent authorization.</t>
        <section anchor="user-delegates-authorization">
          <name>User Delegates Authorization</name>
          <t>When a User grants authorization to an Agent for access to one or more resources (Tools, LLMs, etc.), the Authorization Code Grant, as described in <xref section="4.1" sectionFormat="of" target="OAUTH-FRAMEWORK"/>, is the canonical means of obtaining an access token. This redirection-based flow involves an interactive authorization process in which the user authenticates to the authorization server and explicitly approves the requested access. The resulting access token reflects the authorization delegated to the Agent by the User and can be used by the Agent to access resources on behalf of the user.</t>
        </section>
        <section anchor="agent_obtains_own_access_token">
          <name>Agent Obtains Own Authorization</name>
          <t>Agents obtaining access tokens on their own behalf can use the Client Credentials Grant as described in <xref section="4.4" sectionFormat="of" target="OAUTH-FRAMEWORK"/> or the JWT Authorization Grant as described in <xref section="2.1" sectionFormat="of" target="OAUTH-CLIENTAUTH-JWT"/>. When using the Client Credentials Grant, the Agent authenticates itself using one of the mechanisms described in <xref target="agent_authentication"/> and not with the use of static, long-lived client secrets. When using the JWT Authorization Grant, the Agent will be identified in the subject of the JWT assertion.</t>
        </section>
        <section anchor="agents-accessed-by-systems-or-other-agents">
          <name>Agents Accessed by Systems or Other Agents</name>
          <t>Agents themselves can act in the role of an OAuth protected resource and be invoked by a System (e.g. a batch job) or another Agent. The System obtains an access token using an appropriate mechanism and then invokes the Agent presenting the access token.</t>
        </section>
        <section anchor="oauth-20-security-best-practices">
          <name>OAuth 2.0 Security Best Practices</name>
          <t>The Best Current Practice for OAuth 2.0 Security as described in <xref target="OAUTH-BCP"/> are applicable when requesting and using access tokens.</t>
        </section>
      </section>
      <section anchor="txn-tokens-risk-reduction">
        <name>Risk Reduction with Transaction Tokens</name>
        <t>Resources servers, whether they are LLMs, Tools or Agents (in the Agent-to-Agent case) may be composed of multiple microservices that are invoked to complete a request. The access tokens presented to the Agent, LLM or Tools can typically be used with multiple transactions and consequently have broader scope than needed to complete any specific transaction. Passing the access token from one microservice to another within an invoked Agent, LLM or the Tools increases the risk of token theft and replay attacks. For example, an attacker may discover and access token passed between microservices in a log file or crash dump, exfiltrate it, and use it to invoke a new transaction with different parameters (e.g. increase the transaction amount, or invoke an unrelated call as part of executing a lateral move).</t>
        <t>To avoid passing access tokens between microservices, the Agent, LLM or Tools can exchange the received access token for a transaction token, as defined in the Transaction Token specification <xref target="OAUTH-TXN-TOKENS"/>. The transaction token allows for identity and authorization information to be passed along the internal call chain of microservices. The transaction token issuer enriches the transaction token with context of the caller that presented the access token (e.g. IP address, etc.), transaction context (transaction amount), identity information and a unique transaction identifier. This results in a downscoped token that is bound to a specific transaction and cannot be used as an access token, with another transaction, or within the same transaction with modified transaction details (e.g. change in transaction amount). Transaction tokens are typically short-lived, further limiting the risk in case they are obtained by an attacker by limiting the time window during which these tokens will be accepted.</t>
        <t>A transaction token <bcp14>MAY</bcp14> be used to obtain an access token to call another service (e.g. another Agent, Tool or LLM) by using OAuth 2.0 Token Exchange as defined in <xref target="OAUTH-TOKEN-EXCHANGE"/>.</t>
      </section>
      <section anchor="cross-domain-access">
        <name>Cross Domain Access</name>
        <t>Agents often require access to resources that are protected by different OAuth 2.0 authorization servers. When the components in <xref target="fig-ai-agent-workload"/> are protected by different logical authorization servers, an Agent <bcp14>SHOULD</bcp14> use OAuth Identity and Authorization Chaining Across Domains as defined in (<xref target="OAUTH-ID-CHAIN"/>), or a derived specification such as the Identity Assertion JWT Authorization Grant <xref target="OAUTH-JWT-ASSERTION"/>, to obtain an access token from the relevant authorization servers.</t>
        <t>When using OAuth Identity and Authorization Chaining Across Domains (<xref target="OAUTH-ID-CHAIN"/>), an Agent <bcp14>SHOULD</bcp14> use the access token or transaction token it received to obtain a JWT authorization grant as described in <xref section="2.3" sectionFormat="of" target="OAUTH-ID-CHAIN"/> and then use the JWT authorization grant it receives to obtain an access token for the resource it is trying to access as defined in <xref section="2.4" sectionFormat="of" target="OAUTH-ID-CHAIN"/>.</t>
        <t>When using the Identity Assertion JWT Authorization Grant <xref target="OAUTH-JWT-ASSERTION"/>, the identity assertion (e.g. the OpenID Connect ID Token or SAML assertion) for the target end-user is used to obtain a JWT assertion as described in <xref section="4.3" sectionFormat="of" target="OAUTH-JWT-ASSERTION"/>, which is then used to obtain an access token as described in <xref section="4.4" sectionFormat="of" target="OAUTH-JWT-ASSERTION"/>.</t>
        <t>OAuth Identity and Authorization Chaining Across Domains (<xref target="OAUTH-ID-CHAIN"/>) provides a general mechanism for obtaining cross-domain access that can be used whether an identity assertion like a SAML or OpenID Connect token is available or not. The Identity Assertion JWT Authorization Grant <xref target="OAUTH-JWT-ASSERTION"/> is optimized for cases where an identity assertion like a SAML or OpenID Connect token is available from an identity provider that is trusted by all the OAuth authorization servers as it removes the need for the user to re-authenticate. This is typically used within enterprise deployments to simplify authorization delegation for multiple software-as-a-service offerings.</t>
      </section>
      <section anchor="human-in-the-loop">
        <name>Human in the Loop</name>
        <t>An OAuth authorization server <bcp14>MAY</bcp14> conclude that the level of access requested by an Agent requires explicit user confirmation. In such cases the authorization server <bcp14>SHOULD</bcp14> either decline the request or obtain additional authorization from the User. An Agent, acting as an OAuth client, may use the OpenID Client Initiated Backchannel Authentication (CIBA) protocol. This triggers an out-of-band interaction allowing the user to approve or deny the requested operation without exposing credentials to the agent (for example a push notification requesting the user to approve a request through an authenticator application on their mobile device).</t>
        <t>Interactive agent frameworks may also solicit user confirmation directly during task execution (for example tool invocation approval or parameter confirmation). Such interactions do not by themselves constitute authorization and <bcp14>MUST</bcp14> be bound to a verifiable authorization grant issued by the authorization server. The agent <bcp14>SHOULD</bcp14> therefore translate user confirmation into an OAuth authorization event (e.g., step-up authorization via CIBA) before accessing protected resources.</t>
        <t>This model aligns with user-solicitation patterns such as those described by the Model Context Protocol (<xref target="MCP"/>), where an agent pauses execution and requests user confirmation before performing sensitive actions. The final authorization decision remains with the authorization server, and the agent <bcp14>MUST NOT</bcp14> treat local UI confirmation alone as sufficient authorization.</t>
        <t><strong>Note:</strong> Additional specification or design work may be needed to define how out-of-band interactions with the User occur at different stages of execution. CIBA itself only accounts for client initiation, which doesn't map well to cases that envision the need for User confirmation to occur mid-execution.</t>
      </section>
      <section anchor="tool-to-service-access">
        <name>Tool-to-Service Access</name>
        <t>Tools expose interfaces to underlying services and resources. Access to the Tools can be controlled by OAuth and augmented by policy, attribute or role based authorization systems (amongst others). If the Tools are implemented as one or more microservices, it should use transaction tokens to reduce risk as described in <xref target="txn-tokens-risk-reduction"/> to avoid passing access tokens around within the Tool implementation.</t>
        <t>Access from the Tools to the resources and services <bcp14>MAY</bcp14> be controlled through a variety of authorization mechanisms, including OAuth. If access is controlled through OAuth, the Tools can use OAuth 2.0 Token Exchange as defined in <xref target="OAUTH-TOKEN-EXCHANGE"/> to exchange the access token it received for a new access token to access the resource or service in question. When the Tool needs access to a resource protected by an authorization server other than the Tool's own authorization server, the OAuth Identity and Authorization Chaining Across Domains (<xref target="OAUTH-ID-CHAIN"/>) can be used to obtain an access token from the authorization server protecting that resource.</t>
        <t><strong>Note:</strong> It is an anti-pattern for Tools to forward access tokens it received from the Agent to Services or Resources. It increases the risk of credential theft and lateral attacks.</t>
      </section>
      <section anchor="privacy-considerations-privacy-considerations">
        <name>Privacy Considerations {privacy-considerations}</name>
        <t>Authorization tokens may contain user identifiers, agent identifiers, audience restrictions, transaction details, and contextual attributes. Deployments <bcp14>SHOULD</bcp14> minimize disclosure of personally identifiable or sensitive information in tokens and prefer audience-restricted and short-lived tokens. Where possible, opaque tokens with introspection <bcp14>SHOULD</bcp14> be preferred when claim minimization is required.</t>
        <t>Agents <bcp14>SHOULD</bcp14> request only the minimum scopes and authorization details necessary to complete a task. Resource servers <bcp14>SHOULD</bcp14> avoid logging full tokens and instead log token identifiers or hashes. When authorization context is propagated across services, derived or down-scoped tokens (such as transaction tokens) <bcp14>SHOULD</bcp14> be used to reduce correlation and replay risk.</t>
        <t>Implementations <bcp14>MUST</bcp14> ensure that user identity information delegated to agents is not exposed to unrelated services and that cross-domain authorization exchanges only disclose information required for the target authorization decision.</t>
      </section>
      <section anchor="oauth-20-discovery-in-dynamic-environments">
        <name>OAuth 2.0 Discovery in Dynamic Environments</name>
        <t>In dynamic Agent deployments (e.g., ephemeral workloads, multi-tenant services, and frequently changing endpoint topology), Agents and other participants <bcp14>MAY</bcp14> use OAuth discovery mechanisms to reduce static configuration and to bind runtime decisions to verifiable metadata.</t>
        <section anchor="authorization-server-capability-discovery">
          <name>Authorization Server Capability Discovery</name>
          <t>An Agent that needs to obtain tokens can discover authorization server endpoints and capabilities using OAuth 2.0 Authorization Server Metadata <xref target="OAUTH-SERVER-METADATA"/> and/or OpenID Connect Discovery <xref target="OpenIDConnect.Discovery"/>. This allows the Agent to learn the authorization server issuer identifier, authorization and token endpoints, supported grant types, client authentication methods, signing keys (via jwks_uri), and other relevant capabilities without preconfiguring them.</t>
        </section>
        <section anchor="protected-resource-capability-discovery">
          <name>Protected Resource Capability Discovery</name>
          <t>When an Agent is invoking a Tool, the Agent <bcp14>MAY</bcp14> use OAuth 2.0 Protected Resource Metadata <xref target="OAUTH-RESOURCE-METADATA"/> to discover how the resource is protected, including the resource identifier and the applicable Authorization Server(s) that protects Tool access. This enables an Agent to select the correct issuer/audience and token acquisition flow at runtime, even when resources are deployed or moved dynamically.</t>
          <t>A Tool that attempts to access and OAuth protected resource <bcp14>MAY</bcp14> use OAuth 2.0 Protected Resource Metadata <xref target="OAUTH-RESOURCE-METADATA"/> in a similar way as an Agent. Similarly, a System may use <xref target="OAUTH-RESOURCE-METADATA"/> when accessing an Agent.</t>
        </section>
        <section anchor="client-capability-discovery">
          <name>Client Capability Discovery</name>
          <t>Other actors (e.g., Authorization Servers, registrars, or policy systems) may need to learn about any entities (System, Agent, Tool) that acts as OAuth clients. Where supported, they <bcp14>MAY</bcp14> use Client ID Metadata Documents <xref target="OAUTH-CLIENT-METADATA"/>, which allow a client to host its metadata at a URL-valued client_id so that the relying party can retrieve client properties (e.g., redirect URIs, display information, and other registered client metadata) without prior bilateral registration.</t>
          <t>As an alternative, entities acting as OAuth clients <bcp14>MAY</bcp14> register their capabilities with authorization servers as defined in the OAuth 2.0 Dynamic Client Registration Protocol <xref target="OAUTH-REGISTRATION"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="agent_monitoring_and_remediation">
      <name>Agent Monitoring, Observability and Remediation</name>
      <t>Because agents may perform sensitive actions autonomously or on behalf of users, deployments <bcp14>MUST</bcp14> maintain sufficient monitoring and observability to reconstruct agent behavior and authorization context after execution. Observability is therefore a security control, not solely an operational feature.</t>
      <t>Any participant in the system, including the Agent, Tool, System, LLM or other resources and service <bcp14>MAY</bcp14> subscribe to change notifications using eventing mechanisms such as the OpenID Shared Signals Framework <xref target="SSF"/> with either the Continuous Access Evaluation Profile <xref target="CAEP"/> or Risk Incident Sharing and Coordination <xref target="RISC"/> to receive security and authorization-relevant signals. Upon receipt of a relevant signal (e.g., session revoked, risk level change, subject disabled, token replay suspected, risk elevated), the recipient <bcp14>SHOULD</bcp14> remediate by attenuating access, such as terminating local sessions, discarding cached tokens, re-acquiring tokens with updated constraints, reducing privileges, or re-running policy evaluation before continuing to allow access. Recipients of such signals <bcp14>MUST</bcp14> ensure that revoked or downgraded authorization is enforced without undue delay. Cached authorization decisions and tokens that are no longer valid <bcp14>MUST NOT</bcp14> continue to be used after a revocation or risk notification is received.</t>
      <t>To support detection, investigation, and accountability, deployments <bcp14>MUST</bcp14> produce durable audit logs covering authorization decisions and subsequent remediations. Audit records <bcp14>MUST</bcp14> be tamper-evident and retained according to the security policy of the deployment.</t>
      <t>At a minimum, audit events <bcp14>MUST</bcp14> record:</t>
      <ul spacing="normal">
        <li>
          <t>authenticated agent identifier</t>
        </li>
        <li>
          <t>delegated subject (user or system), when present</t>
        </li>
        <li>
          <t>resource or tool being accessed</t>
        </li>
        <li>
          <t>action requested and authorization decision</t>
        </li>
        <li>
          <t>timestamp and transaction or request correlation identifier</t>
        </li>
        <li>
          <t>attestation or risk state influencing the decision</t>
        </li>
        <li>
          <t>remediation or revocation events and their cause</t>
        </li>
      </ul>
      <t>Monitoring / Observability systems <bcp14>SHOULD</bcp14> correlate events across Agents, Tools, Services, Resources and LLMs to detect misuse patterns such as replay, confused deputy behavior, privilege escalation, or unexpected action sequences.</t>
      <t>End-to-end audit is enabled when Agents, Users, Systems, LLMs, Tools, services and resources have stable, verifiable identifiers that allow auditors to trace "which entity did what, using which authorization context, and why access changed over time."</t>
      <t>Implementations <bcp14>SHOULD</bcp14> provide operators the ability to reconstruct a complete execution chain of an agent task, including delegated authority, intermediate calls, and resulting actions across service boundaries.</t>
    </section>
    <section anchor="agent_auhtentication_and_authorization_policy">
      <name>Agent Authentication and Authorization Policy</name>
      <t>The configuration and runtime parameters for Agent Identifiers <xref target="agent_identifiers"/>, Agent Credentials <xref target="agent_credentials"/>, Agent Attestation <xref target="agent_attestation"/>, Agent Credential Provisioning <xref target="agent_credential_provisioning"/>, Agent Authentication <xref target="agent_authentication"/>, Agent Authorization <xref target="agent_authorization"/> and Agent Monitoring, Observability and Remediation <xref target="agent_monitoring_and_remediation"/> collectively constitute the authentication and authorization policy within which the Agent operates.</t>
      <t>Because these parameters are highly deployment and risk-model-specific (and often reflect local governance, regulatory, and operational constraints), the policy model and document format are out of scope for this framework and are not recommended as a target for standardization within this specification. Implementations <bcp14>MAY</bcp14> represent policy in any suitable “policy-as-code” or configuration format (e.g., JSON/YAML), provided it is versioned, reviewable, and supports consistent evaluation across the components participating in the end-to-end flow.</t>
    </section>
    <section anchor="agent_compliance">
      <name>Agent Compliance</name>
      <t>Compliance for Agent-based systems <bcp14>SHOULD</bcp14> be assessed by auditing observed behavior and recorded evidence (logs, signals, and authorization decisions) against the deployment’s Agent Authentication and Authorization Policy <xref target="agent_auhtentication_and_authorization_policy"/>. Since compliance criteria are specific to individual deployments, organizations, industries and jurisdictions, they are out of scope for this framework though implementers <bcp14>SHOULD</bcp14> ensure strong observability and accountable governance, subject to their specific business needs.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>TODO Privacy but there's also <xref target="privacy-considerations"/>...</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Sean O'Dell for providing valuable input and feedback on this work.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="SPIFFE" target="https://spiffe.io/docs/latest/spiffe-about/overview/">
        <front>
          <title>Secure Production Identity Framework for Everyone</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="SPIFFE-ID" target="https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE-ID.md">
        <front>
          <title>SPIFFE-ID</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="OpenIDConnect.AuthZEN" target="https://openid.net/specs/authorization-api-1_0.html">
        <front>
          <title>Authorization API 1.0</title>
          <author initials="O." surname="Gazitt" fullname="Omri Gazitt" role="editor">
            <organization>Asserto</organization>
          </author>
          <author initials="D." surname="Brossard" fullname="David Brossard" role="editor">
            <organization>Axiomatics</organization>
          </author>
          <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale" role="editor">
            <organization>SGNL</organization>
          </author>
          <date year="2026"/>
        </front>
      </reference>
      <reference anchor="OpenIDConnect.Discovery" target="https://openid.net/specs/openid-connect-discovery-1_0-final.html">
        <front>
          <title>OpenID Connect Discovery 1.0</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="OpenIDConnect.CIBA" target="https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html">
        <front>
          <title>OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="MCP" target="https://modelcontextprotocol.io/specification">
        <front>
          <title>Model Context Protocol</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="SSF" target="https://openid.net/specs/openid-sharedsignals-framework-1_0-final.html">
        <front>
          <title>OpenID Shared Signals Framework Specification 1.0</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="CAEP" target="https://openid.net/specs/openid-caep-1_0-final.html">
        <front>
          <title>OpenID Continuous Access Evaluation Profile 1.0</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="A2A" target="https://github.com/a2aproject/A2A">
        <front>
          <title>Agent2Agent (A2A) Protocol</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="ACP" target="https://www.agenticcommerce.dev/docs">
        <front>
          <title>Agentic Commerce Protocol</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="AP2" target="https://github.com/google-agentic-commerce/AP2">
        <front>
          <title>Agent Payments Protocol (AP2)</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="RISC" target="https://openid.net/specs/openid-risc-1_0-final.html">
        <front>
          <title>OpenID Risk Incident Sharing and Coordination Profile 1.0</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </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>
      <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="WIMSE-ID">
        <front>
          <title>Workload Identifier</title>
          <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
            <organization>Zscaler</organization>
          </author>
          <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
            <organization>CyberArk</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>   This document defines a canonical identifier for workloads, referred
   to as the Workload Identifier.  A Workload Identifier is a URI that
   uniquely identifies a workload within the context of a specific trust
   domain.  This identifier can be embedded in digital credentials,
   including X.509 certificates and security tokens, to support
   authentication, authorization, and policy enforcement across diverse
   systems.  The Workload Identifier format ensures interoperability,
   facilitates secure identity federation, and enables consistent
   identity semantics.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-identifier-02"/>
      </reference>
      <reference anchor="WIMSE-CRED">
        <front>
          <title>WIMSE Workload Credentials</title>
          <author fullname="Brian Campbell" initials="B." surname="Campbell">
            <organization>Ping Identity</organization>
          </author>
          <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
            <organization>CyberArk</organization>
          </author>
          <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
            <organization>Defakto Security</organization>
          </author>
          <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
            <organization>Intuit</organization>
          </author>
          <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
            <organization>Zscaler</organization>
          </author>
          <date day="3" month="November" year="2025"/>
          <abstract>
            <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones up to complex multi-service, multi-cloud, multi-
   tenant deployments.

   This document defines the credentials that workloads use to represent
   their identity.  They can be used in various protocols to
   authenticate workloads to each other.  To use these credentials,
   workloads must provide proof of possession of the associated private
   key material, which is covered in other documents.  This document
   focuses on the credentials alone, independent of the proof-of-
   possession mechanism.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-workload-creds-00"/>
      </reference>
      <reference anchor="OAUTH-TOKEN-EXCHANGE">
        <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="OAUTH-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="2" month="March" 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-08"/>
      </reference>
      <reference anchor="WIMSE-ARCH">
        <front>
          <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
          <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
            <organization>CyberArk</organization>
          </author>
          <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
            <organization>Zscaler</organization>
          </author>
          <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
            <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>   The increasing prevalence of cloud computing and micro service
   architectures has led to the rise of complex software functions being
   built and deployed as workloads, where a workload is defined as
   software executing for a specific purpose, potentially comprising one
   or more running instances.  This document discusses an architecture
   for designing and standardizing protocols and payloads for conveying
   workload identity and security context information.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-07"/>
      </reference>
      <reference anchor="WIMSE-WPT">
        <front>
          <title>WIMSE Workload Proof Token</title>
          <author fullname="Brian Campbell" initials="B." surname="Campbell">
            <organization>Ping Identity</organization>
          </author>
          <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
            <organization>Defakto Security</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from basic
   deployments to complex multi-service, multi-cloud, multi-tenant
   systems.  This document specifies the Workload Proof Token (WPT), a
   mechanism for workloads to prove possession of the private key
   associated with a Workload Identity Token (WIT).  The WPT is a signed
   JWT that binds the workload's authentication to a specific HTTP
   request, providing application-level proof of possession for
   workload-to-workload communication.  This specification is designed
   to work alongside the WIT credential format defined in draft-ietf-
   wimse-workload-creds and can be combined with other WIMSE protocols
   in multi-hop call chains.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-01"/>
      </reference>
      <reference anchor="WIMSE-HTTPSIG">
        <front>
          <title>WIMSE Workload-to-Workload Authentication with HTTP Signatures</title>
          <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
            <organization>CyberArk</organization>
          </author>
          <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
            <organization>Intuit</organization>
          </author>
          <date day="1" month="March" year="2026"/>
          <abstract>
            <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones to complex multi-service, multi-cloud, multi-tenant
   deployments.  This document defines one of the mechanisms to provide
   workload authentication, using HTTP Signatures.  While only
   applicable to HTTP traffic, the protocol provides end-to-end
   protection of requests (and optionally, responses), even when service
   traffic is not end-to-end encrypted, that is, when TLS proxies and
   load balancers are used.  Authentication is based on the Workload
   Identity Token (WIT).

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-http-signature-02"/>
      </reference>
      <reference anchor="HTTP-SIG">
        <front>
          <title>HTTP Message Signatures</title>
          <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
          <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
          <author fullname="M. Sporny" initials="M." surname="Sporny"/>
          <date month="February" year="2024"/>
          <abstract>
            <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9421"/>
        <seriesInfo name="DOI" value="10.17487/RFC9421"/>
      </reference>
      <reference anchor="OAUTH-FRAMEWORK">
        <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="OAUTH-ACCESSTOKEN-JWT">
        <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="OAUTH-TOKEN-INTROSPECTION">
        <front>
          <title>OAuth 2.0 Token Introspection</title>
          <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
          <date month="October" year="2015"/>
          <abstract>
            <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7662"/>
        <seriesInfo name="DOI" value="10.17487/RFC7662"/>
      </reference>
      <reference anchor="OAUTH-CLIENTAUTH-JWT">
        <front>
          <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="B. Campbell" initials="B." surname="Campbell"/>
          <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7523"/>
        <seriesInfo name="DOI" value="10.17487/RFC7523"/>
      </reference>
      <reference anchor="OAUTH-BCP">
        <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="OAUTH-ID-CHAIN">
        <front>
          <title>OAuth Identity and Authorization Chaining Across Domains</title>
          <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
            <organization>Defakto Security</organization>
          </author>
          <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
            <organization>Defakto Security</organization>
          </author>
          <author fullname="Kelley Burgin" initials="K." surname="Burgin">
            <organization>MITRE</organization>
          </author>
          <author fullname="Michael J. Jenkins" initials="M. J." surname="Jenkins">
            <organization>NSA-CCSS</organization>
          </author>
          <author fullname="Brian Campbell" initials="B." surname="Campbell">
            <organization>Ping Identity</organization>
          </author>
          <date day="9" month="February" year="2026"/>
          <abstract>
            <t>   This specification defines a mechanism to preserve identity and
   authorization information across trust domains that use the OAuth 2.0
   Framework.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the Web Authorization
   Protocol Working Group mailing list (oauth@ietf.org), which is
   archived at https://mailarchive.ietf.org/arch/browse/oauth/.

   Source for this draft and an issue tracker can be found at
   https://github.com/oauth-wg/oauth-identity-chaining.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-08"/>
      </reference>
      <reference anchor="OAUTH-JWT-ASSERTION">
        <front>
          <title>Identity Assertion JWT Authorization Grant</title>
          <author fullname="Aaron Parecki" initials="A." surname="Parecki">
            <organization>Okta</organization>
          </author>
          <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
            <organization>Independent</organization>
          </author>
          <author fullname="Brian Campbell" initials="B." surname="Campbell">
            <organization>Ping Identity</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>   This specification provides a mechanism for an application to use an
   identity assertion to obtain an access token for a third-party API by
   coordinating through a common enterprise identity provider using
   Token Exchange [RFC8693] and JWT Profile for OAuth 2.0 Authorization
   Grants [RFC7523].

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-02"/>
      </reference>
      <reference anchor="OAUTH-SERVER-METADATA">
        <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="OAUTH-RESOURCE-METADATA">
        <front>
          <title>OAuth 2.0 Protected Resource Metadata</title>
          <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
          <author fullname="P. Hunt" initials="P." surname="Hunt"/>
          <author fullname="A. Parecki" initials="A." surname="Parecki"/>
          <date month="April" year="2025"/>
          <abstract>
            <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9728"/>
        <seriesInfo name="DOI" value="10.17487/RFC9728"/>
      </reference>
      <reference anchor="OAUTH-CLIENT-METADATA">
        <front>
          <title>OAuth Client ID Metadata Document</title>
          <author fullname="Aaron Parecki" initials="A." surname="Parecki">
            <organization>Okta</organization>
          </author>
          <author fullname="Emelia Smith" initials="E." surname="Smith">
         </author>
          <date day="1" month="March" year="2026"/>
          <abstract>
            <t>   This specification defines a mechanism through which an OAuth client
   can identify itself to authorization servers, without prior dynamic
   client registration or other existing registration.  This is through
   the usage of a URL as a client_id in an OAuth flow, where the URL
   refers to a document containing the necessary client metadata,
   enabling the authorization server to fetch the metadata about the
   client as needed.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-client-id-metadata-document-01"/>
      </reference>
      <reference anchor="OAUTH-REGISTRATION">
        <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>
    </references>
    <?line 415?>

<section anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]</t>
      <ul spacing="normal">
        <li>
          <t>latest</t>
        </li>
        <li>
          <t>Add Nick Steele from OpenAI as co-author.</t>
        </li>
      </ul>
      <t>-00</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V963Ib17XmfzxFH7lqTMrdkCXLdqxJcgyTlI1EEjkkFScn
J6PTaGyAbTa6MX0hBctM5TWmaqZq/s17zLxJnmTWdV+6G5ScpCaqSkwAfdl7
7bXX5VuXnSTJpM3bwjyLHszm0Wxtyjaade0V/DfP0javyigtl/RVVec/0jcP
JuliUZsbuifBnx5M4FqzrurdsygvV9VksqyyMt3AY5d1umqT66LOkjRP8flJ
Cncknz6eNN1ikzcNPLHdbeHS+cnl8yj6KEqLpoJn5+XSbA38X9k+iKMHZpm3
MIS0wA/z2Tfwn6qGv84vnz+YlN1mYepnkyUM49kkq8rGlE3XPIvaujMTGOln
E3hubdJn0ez8ZAYfbqv6el1X3fZZ9P230ffwKS/X0bf4zeTa7ODn5bNJlESn
OD/84/v5y4sT/OPibP78Of9lsq420UW+LmHM0fMaZozPxd8+mJqTG1N2MOiP
osiOBz8wTcKBwdebNC/wkq/N23SzLcw0qzb4fVpnV8+iq7bdNs8ePfJ+fASP
g0fn7VW3AKqe5aY19W/T5hEtxhNvSVY6/gdwQwGUbFq4QR9pb5zys6Z5dc8j
Hu1Z9+lVuykeTCYpkQApDO+KolVXFMwv/JoI3tOYYpOW9HNVr9NS6PUsOjar
9LqtmPx5u6NLDBPmwZbu/3rJ10wbuebB8E2/MWmZwJqV//d/V3kTvag2i7Re
ViMvnH1/4b/jB7NawXO/Tjfpj1VJCzB4+B/SumqK9CY6r5pqk15fjT3335os
LUztP3tX6/Vf/8i/jj//G9gJZXQEq7wwRTHy7DPkmjlunh6FFpnc9PUWLsnl
ivG3vMqz6+iiNaYwI684hd0JfO4/vKFrv67glzSnZ07Kqt7ADTfA4pHsnWd0
i8od2UVndbXsMtojOmy3o6IV7PWTG1PvqtI84NvTem1ax/LNNl+tDHIlyJ7m
EfOvfJuki6prH1XwgJvc3D6yI0nmx8Fg7LejrxDGx03Fz9X/LIpq8QgoUD5q
WtjgwEbNI/uo6WYJT0NizY+PqrI0WTtFCfBvJ6+CdwdSIZqdzaPH009Hx4Hk
zZfT0uD8DEw29W9N0m2ePH7zKW01ut9uNviXRLy0p5s6j75Nf8zblr6PorrC
UbCYla9gvWFcsBPrtgruPk5v8iUwYdU0MNn3PeBtXiELZE3wjFnbFdFlVzRX
+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
PAgZJUvC85zSvZ9+Ovl/CSICe0G3AAA=

-->

</rfc>
