<?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.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-klrc-aiagent-auth-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="AI-Auth">AI Agent Authentication and Authorization</title>
    <seriesInfo name="Internet-Draft" value="draft-klrc-aiagent-auth-00"/>
    <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>
    <date year="2026" month="March" day="02"/>
    <keyword>OAuth</keyword>
    <keyword>WIMSE</keyword>
    <keyword>SPIFFE</keyword>
    <keyword>Secure Signals Framework</keyword>
    <keyword>AI Agent Authentication and Authorization</keyword>
    <abstract>
      <?line 99?>

<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 103?>

<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>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="224" width="416" viewBox="0 0 416 224" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,144 L 8,208" fill="none" stroke="black"/>
              <path d="M 80,144 L 80,208" fill="none" stroke="black"/>
              <path d="M 136,32 L 136,80" fill="none" stroke="black"/>
              <path d="M 144,144 L 144,208" fill="none" stroke="black"/>
              <path d="M 248,144 L 248,208" fill="none" stroke="black"/>
              <path d="M 272,32 L 272,80" fill="none" stroke="black"/>
              <path d="M 312,144 L 312,208" fill="none" stroke="black"/>
              <path d="M 408,144 L 408,208" fill="none" stroke="black"/>
              <path d="M 136,32 L 272,32" fill="none" stroke="black"/>
              <path d="M 136,80 L 272,80" fill="none" stroke="black"/>
              <path d="M 8,144 L 80,144" fill="none" stroke="black"/>
              <path d="M 144,144 L 248,144" fill="none" stroke="black"/>
              <path d="M 312,144 L 408,144" fill="none" stroke="black"/>
              <path d="M 8,208 L 80,208" fill="none" stroke="black"/>
              <path d="M 144,208 L 248,208" fill="none" stroke="black"/>
              <path d="M 312,208 L 408,208" fill="none" stroke="black"/>
              <g class="text">
                <text x="168" y="52">Large</text>
                <text x="228" y="52">Language</text>
                <text x="184" y="68">Model</text>
                <text x="232" y="68">(LLM)</text>
                <text x="184" y="100">▲</text>
                <text x="216" y="100">|</text>
                <text x="184" y="116">(2)</text>
                <text x="216" y="116">(3)</text>
                <text x="184" y="132">|</text>
                <text x="216" y="132">▼</text>
                <text x="44" y="164">User</text>
                <text x="112" y="164">──(1)─►</text>
                <text x="172" y="164">AI</text>
                <text x="208" y="164">Agent</text>
                <text x="280" y="164">──(4)─►</text>
                <text x="360" y="164">Tools</text>
                <text x="44" y="180">or</text>
                <text x="196" y="180">(workload)</text>
                <text x="356" y="180">Services</text>
                <text x="44" y="196">System</text>
                <text x="112" y="196">◄─(6)──</text>
                <text x="280" y="196">◄─(5)──</text>
                <text x="360" y="196">Resources</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
                +----------------+
                | Large Language |
                |   Model (LLM)  |
                +----------------+
                      ▲   |
                     (2) (3)
                      |   ▼
+--------+       +------------+       +-----------+
|  User  |──(1)─►|  AI Agent  |──(4)─►|   Tools   |
|   or   |       | (workload) |       | Services  |
| System |◄─(6)──|            |◄─(5)──| Resources |
+--------+       +------------+       +-----------+
]]></artwork>
        </artset>
      </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>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="560" viewBox="0 0 560 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,272" fill="none" stroke="black"/>
              <path d="M 128,32 L 128,272" fill="none" stroke="black"/>
              <path d="M 408,32 L 408,272" fill="none" stroke="black"/>
              <path d="M 552,32 L 552,272" fill="none" stroke="black"/>
              <path d="M 8,32 L 552,32" fill="none" stroke="black"/>
              <path d="M 128,80 L 408,80" fill="none" stroke="black"/>
              <path d="M 128,112 L 408,112" fill="none" stroke="black"/>
              <path d="M 128,144 L 408,144" fill="none" stroke="black"/>
              <path d="M 128,176 L 408,176" fill="none" stroke="black"/>
              <path d="M 128,208 L 408,208" fill="none" stroke="black"/>
              <path d="M 128,240 L 408,240" fill="none" stroke="black"/>
              <path d="M 8,272 L 552,272" fill="none" stroke="black"/>
              <g class="text">
                <text x="68" y="52">Policy</text>
                <text x="216" y="52">Monitoring,</text>
                <text x="320" y="52">Observability</text>
                <text x="484" y="52">Compliance</text>
                <text x="216" y="68">&amp;</text>
                <text x="272" y="68">Remediation</text>
                <text x="264" y="100">Authorization</text>
                <text x="268" y="132">Authentication</text>
                <text x="260" y="164">Provisioning</text>
                <text x="264" y="196">Attestation</text>
                <text x="264" y="228">Credentials</text>
                <text x="260" y="260">Identifier</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+--------------+----------------------------------+-----------------+
|    Policy    |     Monitoring, Observability    |    Compliance   |
|              |          & Remediation           |                 |
|              +----------------------------------+                 |
|              |          Authorization           |                 |
|              +----------------------------------+                 |
|              |          Authentication          |                 |
|              +----------------------------------+                 |
|              |          Provisioning            |                 |
|              +----------------------------------+                 |
|              |           Attestation            |                 |
|              +----------------------------------+                 |
|              |           Credentials            |                 |
|              +----------------------------------+                 |
|              |           Identifier             |                 |
+--------------+----------------------------------+-----------------+
]]></artwork>
        </artset>
      </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 (which likely cover what you'd expect), content digest, and the WIT itself) and supports optional response signing.</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>
  </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="29" month="December" year="2025"/>
          <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-01"/>
      </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>SGNL</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="24" month="January" year="2026"/>
          <abstract>
            <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity and authorization context across workloads
   within a trusted domain during the processing of external requests,
   such as API calls.  They ensure that this context is preserved
   throughout the call chain, even when new transactions are initiated
   internally, thereby enhancing security and consistency in complex,
   multi-service architectures.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-07"/>
      </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="3" month="November" year="2025"/>
          <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-00"/>
      </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="19" month="October" year="2025"/>
          <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-01"/>
      </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 408?>

<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>
  </back>
  <!-- ##markdown-source:
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
8Mm1AAA=

-->

</rfc>
