<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-wimse-aims-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="AIMS">AI Identity Management System</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-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>OpenAI</organization>
      <address>
        <email>steele@openai.com</email>
      </address>
    </author>
    <author fullname="Aaron Parecki">
      <organization>Okta</organization>
      <address>
        <email>aaron@parecki.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <workgroup>WIMSE</workgroup>
    <keyword>OAuth</keyword>
    <keyword>WIMSE</keyword>
    <keyword>SPIFFE</keyword>
    <keyword>Shared Signals Framework</keyword>
    <keyword>AI Agent Authentication and Authorization</keyword>
    <abstract>
      <?line 127?>

<t>This document proposes best practices 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://ietf-wg-wimse.github.io/draft-ietf-wimse-aims/draft-ietf-wimse-aims.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-wimse-aims/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WIMSE Working Group mailing list (<eref target="mailto:wimse@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/wimse/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/wimse/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims"/>.</t>
    </note>
  </front>
  <middle>
    <?line 131?>

<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="document-status">
      <name>Document Status</name>
      <t>This document profiles existing standards and emerging specifications from the IETF, CNCF, and OpenID Foundation, as well as third-party protocols and mechanisms, for the AI agent use case. It defines best current practices for combining these and identifies new requirements specific to agent authentication and authorization.</t>
    </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="256" width="416" viewBox="0 0 416 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,176 L 8,240" fill="none" stroke="black"/>
              <path d="M 80,176 L 80,240" fill="none" stroke="black"/>
              <path d="M 136,32 L 136,80" fill="none" stroke="black"/>
              <path d="M 144,176 L 144,240" fill="none" stroke="black"/>
              <path d="M 184,88 L 184,112" fill="none" stroke="black"/>
              <path d="M 184,144 L 184,168" fill="none" stroke="black"/>
              <path d="M 216,88 L 216,112" fill="none" stroke="black"/>
              <path d="M 216,144 L 216,168" fill="none" stroke="black"/>
              <path d="M 248,176 L 248,240" fill="none" stroke="black"/>
              <path d="M 272,32 L 272,80" fill="none" stroke="black"/>
              <path d="M 312,176 L 312,240" fill="none" stroke="black"/>
              <path d="M 408,176 L 408,240" 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,176 L 80,176" fill="none" stroke="black"/>
              <path d="M 144,176 L 248,176" fill="none" stroke="black"/>
              <path d="M 312,176 L 408,176" fill="none" stroke="black"/>
              <path d="M 88,192 L 104,192" fill="none" stroke="black"/>
              <path d="M 120,192 L 136,192" fill="none" stroke="black"/>
              <path d="M 256,192 L 272,192" fill="none" stroke="black"/>
              <path d="M 288,192 L 304,192" fill="none" stroke="black"/>
              <path d="M 88,224 L 104,224" fill="none" stroke="black"/>
              <path d="M 120,224 L 136,224" fill="none" stroke="black"/>
              <path d="M 256,224 L 272,224" fill="none" stroke="black"/>
              <path d="M 288,224 L 304,224" fill="none" stroke="black"/>
              <path d="M 8,240 L 80,240" fill="none" stroke="black"/>
              <path d="M 144,240 L 248,240" fill="none" stroke="black"/>
              <path d="M 312,240 L 408,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
              <polygon class="arrowhead" points="264,224 252,218.4 252,229.6" fill="black" transform="rotate(180,256,224)"/>
              <polygon class="arrowhead" points="224,168 212,162.4 212,173.6" fill="black" transform="rotate(90,216,168)"/>
              <polygon class="arrowhead" points="192,88 180,82.4 180,93.6" fill="black" transform="rotate(270,184,88)"/>
              <polygon class="arrowhead" points="144,192 132,186.4 132,197.6" fill="black" transform="rotate(0,136,192)"/>
              <polygon class="arrowhead" points="96,224 84,218.4 84,229.6" fill="black" transform="rotate(180,88,224)"/>
              <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="132">(2)</text>
                <text x="216" y="132">(3)</text>
                <text x="44" y="196">User</text>
                <text x="112" y="196">1</text>
                <text x="172" y="196">AI</text>
                <text x="208" y="196">Agent</text>
                <text x="280" y="196">4</text>
                <text x="360" y="196">Tools</text>
                <text x="44" y="212">or</text>
                <text x="196" y="212">(workload)</text>
                <text x="356" y="212">Services</text>
                <text x="44" y="228">System</text>
                <text x="112" y="228">6</text>
                <text x="280" y="228">5</text>
                <text x="360" y="228">Resources</text>
              </g>
            </svg>
          </artwork>
          <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>
        </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>Note: The arrows in <xref target="fig-ai-agent-workload"/> indicate the direction in which information flows between the participants and do not imply a particular interaction style. The model applies equally to request and response exchanges and to streaming interactions.</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, provisioning services, authorization servers, policy engines, and runtime enforcement points).</t>
      <t>AIMS ensures that the right Agent has access to the right resources and tools at the right time for the right reason. Such a 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 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 AIMS components.</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="256" width="560" viewBox="0 0 560 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,240" fill="none" stroke="black"/>
              <path d="M 128,32 L 128,240" fill="none" stroke="black"/>
              <path d="M 408,32 L 408,240" fill="none" stroke="black"/>
              <path d="M 552,32 L 552,240" 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 8,240 L 552,240" 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">Credentials</text>
                <text x="260" y="228">Identifier</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
+--------------+----------------------------------+-----------------+
|    Policy    |     Monitoring, Observability    |    Compliance   |
|              |          & Remediation           |                 |
|              +----------------------------------+                 |
|              |          Authorization           |                 |
|              +----------------------------------+                 |
|              |          Authentication          |                 |
|              +----------------------------------+                 |
|              |          Provisioning            |                 |
|              +----------------------------------+                 |
|              |           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 instance of the WIMSE identifier model <xref target="WIMSE-ID"/>. 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>
      <t>The lifecycle of an agent identifier is distinct from the lifecycle of the credentials bound to it. Credentials are short-lived and expire while the identifier persists. When an agent is retired, its identifier must not be reassigned to a different agent, and the records that reference it (audit logs, authorization decisions, delegation records and security signals) remain interpretable for as long as the deployment's retention policy requires, which is typically longer than the agent's operational lifetime. The registry or namespace in which agent identifiers are allocated, and the retention period applied to retired identifiers, are deployment-specific and out of scope for this document.</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 defines two credential formats in <xref target="WIMSE-CRED"/>: the Workload Identity Token (WIT) and the transport-layer X.509 Workload Identity Certificate (WIC), both of which bind a cryptographic key to a workload identifier for use in authentication. SPIFFE defines three credential formats: the X.509-SVID <xref target="SPIFFE-X509-SVID"/>, WIT-SVID <xref target="SPIFFE-WIT-SVID"/>, and JWT-SVID <xref target="SPIFFE-JWT-SVID"/>. X.509-SVID is compatible with WIC, while WIT-SVID profiles WIT. JWT-SVIDs are short-lived bearer credentials used for JWT-based authentication. The choice of credential format depends on the deployment’s 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_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.</t>
      <t>Credential provisioning is also the assessment point to confirm that the Agent and its runtime environment satisfy the posture requirements. In this document, posture assessment refers to the evaluation of signals about the Agent, its software, deployment context, runtime environment, and operational state. These signals can influence whether a credential is issued, which identifier is bound to the credential, what type of credential is issued, what attributes are included in the credential, and how long the credential remains valid.</t>
      <t>Posture assessment mechanisms are deployment and risk specific. They may include hardware-backed evidence, trusted execution environment (TEE) evidence, software integrity measurements, supply-chain provenance, platform or orchestration-layer metadata, workload placement information, configuration state, operator assertions, or other environment-specific signals. Depending on the risk involved, a single signal may be sufficient, while higher-risk deployments may require multiple independent signals before credentials are issued or renewed.</t>
      <t>Deployed workload identity systems commonly perform some form of posture assessment as part of credential provisioning. For example, SPIFFE implementations can evaluate platform and environment-specific information about a workload before binding it to a SPIFFE identifier and issuing an SVID. At a high level, a provisioning component gathers workload and execution context signals, verifies them according to local policy, and, if verification succeeds, issues short-lived credentials for subsequent authentication and authorization.</t>
      <t>An AIMS implementation may incorporate multiple posture assessment mechanisms and implementations. The selection of mechanisms depends on deployment constraints, such as the underlying platform, available identity signals, and desired level of trust assurance. This document does not require any particular posture assessment mechanism, evidence format, or verifier architecture.</t>
      <t>Agent credential provisioning must operate autonomously, scale to high-churn environments, and integrate closely with the posture assessment mechanisms used to establish trust in the Agent at each issuance or rotation event.</t>
      <t>Posture assessment at provisioning time establishes trust at the moment a credential is issued or renewed. It does not by itself establish that the posture still holds when a particular request is made. Higher-risk deployments, and interactions that cross trust domain boundaries, may require posture evidence that is closer to the time of the request. Two approaches are available with existing mechanisms:</t>
      <ol spacing="normal" type="1"><li>
          <t>Shortening credential lifetimes so that renewal, and with it re-assessment, occurs more frequently.</t>
        </li>
        <li>
          <t>Using the eventing mechanisms described in <xref target="agent_monitoring_and_remediation"/> so that a change in posture detected after issuance results in revocation or down-scoping of the agent's credentials and tokens.</t>
        </li>
      </ol>
      <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, posture assessment results, 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>
        <li>
          <t><strong>Deprovisioning</strong>: The termination of an agent's credentials when the agent is retired, when its posture no longer satisfies policy, or when its identity is believed to be compromised. At a minimum, deprovisioning stops renewal so that outstanding short-lived credentials expire and are not replaced. Where the change must take effect before expiry, the issuer signals the status change to relying parties and to the issuers of any credentials derived from the agent's primary credential, so that the derived credentials are revoked or cease to be accepted as well.</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>
      <t>The Large Language Model <bcp14>MUST NOT</bcp14> have access to an agent's credentials or to credentials that may be needed to access tools and services. This prevents the Large Language Model from using, exposing, or being manipulated via prompt injection into disclosing the credentials.</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 anchor="long_lived_sessions">
        <name>Long-Lived Sessions and Streams</name>
        <t>In a long lived session or a streaming connection, the Agent is authenticated when the session is established, using the mechanisms described above, and the authorization granted at that point is bounded by the lifetime of the credential or token presented. Because a session may outlive the credential or token used to establish it, the Agent keeps its credentials current through the automated rotation described in <xref target="agent_credential_provisioning"/>, the party accepting the session re-validates authorization when the credential or token expires, and both act on revocation or risk signals (<xref target="agent_monitoring_and_remediation"/>) by terminating or down-scoping the session rather than allowing it to run to completion. Where individual messages within a session require their own proof of possession, WPTs (<xref target="wpt"/>) can be applied to those messages.</t>
      </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="agent-mission">
        <name>Agent Mission</name>
        <t>An Agent receives a Mission from a User, a System, or another Agent. The Mission is the task or objective the Agent will pursue. It is typically expressed in natural language and may require decomposition as it is mapped from a broad objective into specific resource requirements and corresponding access requests. The translation of a mission into authorization requirements is expected to occur as a planning step before the Agent requests authorization. The process through which the mission is translated into authorization requriements is out of scope of this specification. Once the required resources and their associated authorization requirements are determined, the Agent <bcp14>SHOULD</bcp14> use the mechanisms described in this section to obtain access.</t>
      </section>
      <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 inputs, as described in <xref target="policy_based_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="policy_based_systems">
        <name>Interaction with Policy-Based Systems</name>
        <t>In some deployments the claims in an access token are sufficient for a resource server to make an authorization decision on their own. Where they are not, the access token becomes one input to a decision made by a policy-based authorization system (for example a policy-, attribute- or role-based system), which evaluates it together with other inputs. The authenticated identity of the requester (<xref target="agent_authentication"/>), the resource and action requested, the delegated User or System context, posture and risk signals (<xref target="agent_credential_provisioning"/>, <xref target="agent_monitoring_and_remediation"/>), and environmental attributes such as time or network location. The policy itself, and the language in which it is expressed, are local to the resource server and its trust domain.</t>
        <t>Within a trust domain the components are operated by one organization and the use of a policy langugage within that domain is a deployment choice. Across trust domains, the mechanisms in <xref target="cross_domain_access"/> convey the outcome of a policy decision made in one domain to another domain as a token with defined claims and scope, rather than conveying the policy itself. Each domain continues to evaluate its own policy against the tokens it receives. A common policy language is therefore not required for the mechanisms in this document to interoperate across trust domains.</t>
        <t>Where policy is managed centrally or shared by several resource servers, a resource server may request decisions from an external policy decision point rather than evaluating policy itself. A common interface for that interaction is defined by the OpenID AuthZEN Authorization API <xref target="AuthZEN-API"/>.
Access tokens may be sender-constrained to mitigate the risk of accidental token leakage or deliberate token theft, so that a token obtained by an attacker cannot be used without the corresponding key. Sender-constraining may use certificate-bound access tokens <xref target="OAUTH-CLIENTAUTH-MTLS"/>, when the Agent presents an X.509 credential over mutual TLS, or Demonstrating Proof of Possession (DPoP) <xref target="OAUTH-DPOP"/>, when transport-layer binding is not feasible. The use of sender-constrained access tokens is described in the OAuth 2.0 Security Best Current Practice <xref target="OAUTH-BCP"/> and the FAPI 2.0 Security Profile <xref target="FAPI"/>.</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 delegates authorization to an Agent, the Authorization Code Grant as described in Section 4.1 of <xref target="OAUTH-FRAMEWORK"/> is the appropriate mechanism. This redirection-based flow involves an interactive authorization process, typically in a web browser, in which the user authenticates to the authorization server and explicitly approves the requested access. Users <bcp14>SHOULD</bcp14> be authenticated using phishing-resistant authentication mechanisms such as a passkey. Once the user has approved the request, the authorization server returns an authorization code to the Agent via the redirect.</t>
          <t>The Agent, acting as an OAuth client, then makes a token request to the authorization server to redeem the authorization code for an access token. When making this token request, the Agent authenticates itself directly to the authorization server using the credentials described in <xref target="agent_credentials"/> with a compatible OAuth client authentication mechanism, and not with the use of static, long-lived client secrets. Compatible OAuth client authentication mechanisms are defined in <xref target="OAUTH-CLIENTAUTH-JWT"/>, <xref target="OAUTH-CLIENTAUTH-MTLS"/> and <xref target="OAUTH-SPIFFE"/>. The OAuth client authentication step is distinct from, and occurs after, the user authentication and approval described above. 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. The use of OAuth negates the need for the Agent to have access to a User's credentials when accessing a resource on the User's behalf.</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 the credentials described in <xref target="agent_credentials"/> with a compatible OAuth client authentication mechanism listed in previous section, 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. The scope of access conveyed by each token in this sequence of exchanges can never exceed that of the token presented to obtain it. At each exchange the authorization server (or transaction token service) evaluates its authorization policy and makes the final decision on whether to issue a token and with what scope.</t>
        <t>A transaction token may be presented in an OAuth 2.0 Token Exchange <xref target="OAUTH-TOKEN-EXCHANGE"/> to obtain an access token for another service (e.g. another Agent, Tool or LLM). Obtaining an access token for a service in another trust domain when the Agent has a transaction is described in <xref target="cross_domain_access"/>.</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 Figure 1 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"/> or , Transaction Token Authorization Grant Profile for OAuth Identity and Authorization Chaining <xref target="OAUTH-TXN-ASSERTION"/>, to obtain an access token from the relevant authorization servers. The agent first exchanges its current access token or transaction token for a JWT authorization grant (Section 2.3 of <xref target="OAUTH-ID-CHAIN"/>) and then presents that grant to obtain an access token for the target resource (Section 2.4 of <xref 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, can use the OpenID Client Initiated Backchannel Authentication (CIBA) protocol (<xref target="CIBA"/>). 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">
        <name>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. As recommended in <xref target="OAUTH-BCP"/>, resource servers 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="OIDC.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"/> and its profiles to receive security and authorization-relevant signals including but not limited to Continuous Access Evaluation Profile <xref target="CAEP"/>, Risk Incident Sharing and Coordination <xref target="RISC"/> or Workload Identity Security Events <xref target="WISE"/> . 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>posture assessment 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 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 within an AIMS implementation.</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>This document composes existing specifications to enable authentication and authorization between AI agents. The security considerations of each referenced specification apply in full.</t>
      <t>In addition to the guidance included in existing specifications, additional security best practices and profiles have been developed for the Oauth protocol famility. The OAuth 2.0 Security Best Current Practice <xref target="OAUTH-BCP"/> which captures current guidance on threats and mitigations that have emerged since the original OAuth 2.0 specifications were published. The FAPI 2.0 Security Profile <xref target="FAPI"/> defines a high-assurance profile of OAuth 2.0 suitable for high security applications.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>This document composes existing specifications to enable authentication and authorization between AI agents.</t>
      <t>In addition to the the privacy considerations in <xref target="privacy"/>, the privacy considerations in each referenced specification apply in full.</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:</t>
      <ul spacing="normal">
        <li>
          <t>Sean O'Dell for providing valuable input and feedback on this work.</t>
        </li>
        <li>
          <t>Karl McGuinness for his blog posts on mission shaping as a pre-cursor to authorization <xref target="MissionShaping"/></t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <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="AuthZEN-API" 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="OIDC.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="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="FAPI" target="https://openid.net/specs/fapi-security-profile-2_0-final.html">
          <front>
            <title>FAPI 2.0 Security Profile</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="WISE" target="https://openid.github.io/ssf-wise-profile/">
          <front>
            <title>OpenID WISE Profile Specification 1.0 - draft 03</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SPIFFE-X509-SVID" target="https://github.com/spiffe/spiffe/blob/main/standards/X509-SVID.md">
          <front>
            <title>The X.509 SPIFFE Verifiable Identity Document</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SPIFFE-JWT-SVID" target="https://github.com/spiffe/spiffe/blob/main/standards/JWT-SVID.md">
          <front>
            <title>The JWT SPIFFE Verifiable Identity Document</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SPIFFE-WIT-SVID" target="https://github.com/spiffe/spiffe/blob/draft-wit-svid/standards/WIT-SVID.md">
          <front>
            <title>The WIT SPIFFE Verifiable Identity Document</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>Palo Alto Networks</organization>
            </author>
            <date day="23" month="October" 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 Workload Identity
   Credentials, including X.509 certificates and JWT-based 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-04"/>
        </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>Palo Alto Networks</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Independent</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date day="30" month="October" 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 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-03"/>
        </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="30" month="July" 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-11"/>
        </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>Palo Alto Networks</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 the Bundeswehr Munich</organization>
            </author>
            <date day="6" month="July" 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-08"/>
        </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="27" month="August" 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-layer 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-02"/>
        </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>Palo Alto Networks</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Independent</organization>
            </author>
            <date day="20" month="October" 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-08"/>
        </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-DPOP">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </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-CLIENTAUTH-MTLS">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="OAUTH-SPIFFE">
          <front>
            <title>OAuth SPIFFE Client Authentication</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="Scott Rose" initials="S." surname="Rose">
              <organization>NIST</organization>
            </author>
            <author fullname="Stian Thorgersen" initials="S." surname="Thorgersen">
              <organization>IBM</organization>
            </author>
            <author fullname="Nancy Cam-Winget" initials="N." surname="Cam-Winget">
              <organization>Cisco Systems</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This specification profiles the Assertion Framework for OAuth 2.0
   Client Authentication and Authorization Grants [RFC7521], the JWT
   Profile for OAuth 2.0 Client Authentication and Authorization Grants
   [RFC7523], and OAuth 2.0 Attestation-Based Client Authentication
   [I-D.draft-ietf-oauth-attestation-based-client-auth] to enable the
   use of SPIFFE Verifiable Identity Documents (SVIDs) as client
   credentials in OAuth 2.0.  It defines how OAuth clients with SPIFFE
   credentials can authenticate to OAuth authorization servers using
   their JWT-SVIDs, WIT-SVIDs, or X509-SVIDs without the need for client
   secrets.  This approach enhances security by enabling seamless
   integration between SPIFFE-enabled workloads and OAuth authorization
   servers while eliminating the need to distribute and manage shared
   secrets such as static client secrets.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-spiffe-client-auth-03"/>
        </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>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="19" month="July" year="2026"/>
            <abstract>
              <t>   This specification describes a mechanism for preserving identity and
   authorization information across trust domains that use the OAuth 2.0
   Framework.  A JSON Web Token (JWT) authorization grant, obtained
   through an intra-domain OAuth 2.0 Token Exchange, facilitates the
   cross-domain acquisition of an access token.  The relevant identity
   and authorization information is chained throughout the flow by being
   conveyed in the respective artifacts exchanged at each step of the
   process.  Chaining across multiple domains is achieved by using the
   same protocol every time a trust domain boundary is crossed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-17"/>
        </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="30" month="October" 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 an identity provider that the downstream
   Resource Authorization Server already trusts for single sign-on
   (SSO), using OAuth 2.0 Token Exchange (RFC 8693) and the JWT Profile
   for OAuth 2.0 Authorization Grants (RFC 7523).  This pattern is
   informally referred to as Cross-App Access (XAA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-06"/>
        </reference>
        <reference anchor="OAUTH-TXN-ASSERTION">
          <front>
            <title>Transaction Token Authorization Grant Profile for OAuth Identity and Authorization Chaining</title>
            <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>
            <author fullname="Sean O'Dell" initials="S." surname="O'Dell">
              <organization>CVS Health</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This specification defines a profile of the OAuth Identity and
   Authorization Chaining Across Domains
   [I-D.ietf-oauth-identity-chaining] mechanism that uses a Transaction
   Token (Txn-Token) [I-D.ietf-oauth-transaction-tokens] as the subject
   token in a Token Exchange [RFC8693] request to obtain a JWT
   Authorization Grant for crossing a trust boundary.

   A Txn-Token is scoped to a single trust domain and represents the
   full authorization context of an in-progress transaction, regardless
   of whether that transaction was initiated by a human user calling an
   external API, by an internal system event, or by an automated
   workload.  This profile specifies how a service operating within that
   trust domain can present its Txn-Token to obtain a JWT Authorization
   Grant that carries the necessary context across a trust boundary,
   enabling an access token to be issued for a partner service, without
   exposing internal trust-domain credentials or token formats beyond
   the trust boundary.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fletcher-transaction-token-chaining-profile-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="6" month="July" 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-02"/>
        </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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="MissionShaping" target="https://notes.karlmcguinness.com/notes/the-mission-shaping-problem/">
          <front>
            <title>The Mission Shaping Problem</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 479?>

<section anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]
  -01</t>
      <ul spacing="normal">
        <li>
          <t>Editorial updates</t>
        </li>
        <li>
          <t>Clarify relationship between WIMSE and SPIFFE credentials (https://github.com/PieterKas/agent2agent-auth-framework/issues/136)</t>
        </li>
        <li>
          <t>Clarify that LLMs should not have access to Agent credentials: https://github.com/PieterKas/agent2agent-auth-framework/issues/127</t>
        </li>
        <li>
          <t>Update use of normative language (https://github.com/PieterKas/agent2agent-auth-framework/issues/123)</t>
        </li>
        <li>
          <t>Added reference to newly adopted WISE draft (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/153)</t>
        </li>
        <li>
          <t>Address concerns about circularity of using a transaction token to get an access token (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/126)</t>
        </li>
        <li>
          <t>Explicit guidance on policy langugages and policy based systems (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/124)</t>
        </li>
        <li>
          <t>Added text on sender constraining tokens (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/126)</t>
        </li>
        <li>
          <t>Make it explicit that the AIMS draft applies regardless of streaming or request/response interactions (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/129)</t>
        </li>
        <li>
          <t>Added text to clarify that posture assessment is ongoing with forward pointing references. (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/128)</t>
        </li>
        <li>
          <t>Make deprovisioning explicit (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/125)</t>
        </li>
        <li>
          <t>Re-use the AIMS term (https://github.com/ietf-wg-wimse/draft-ietf-wimse-aims/issues/135)</t>
        </li>
        <li>
          <t>fix up some reference names</t>
        </li>
      </ul>
      <t>-03</t>
      <ul spacing="normal">
        <li>
          <t>Include reference to CIBA (see https://github.com/PieterKas/agent2agent-auth-framework/issues/131)</t>
        </li>
      </ul>
      <t>-02</t>
      <ul spacing="normal">
        <li>
          <t>Add Aaron Parecki from Okta as co-author.</t>
        </li>
        <li>
          <t>Add reference to phishing resistent credentials (e.g. FIDO passkeys/authenticators) - see https://github.com/PieterKas/agent2agent-auth-framework/issues/106</t>
        </li>
        <li>
          <t>Fold attestation section into provosioning section. Change terminology to posture management.</t>
        </li>
        <li>
          <t>Clarify Oauth authentication mechanisms when an Agent acts as and OAuth client.</t>
        </li>
        <li>
          <t>Update Security Considerations section</t>
        </li>
        <li>
          <t>Add section on Agent Mission (see issue https://github.com/PieterKas/agent2agent-auth-framework/issues/107)</t>
        </li>
      </ul>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Add Nick Steele from OpenAI as co-author.</t>
        </li>
      </ul>
      <t>-00</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V963LbSJbmfz4F2o7YktwAZbtcVV3ent5iSXIVu3zRivK4
ey7rAUmQQgkEOAAoldrtiXmNjdiN2H/7HrtvMk+y55p5EgBle9zbUxEzbYG4
ZJ48ea7fOZkkyajN2yJ7Gt2bTKPpMivhz9voRVqm62wDf0Wz26bNNvdG6Xxe
Z9d034vZvdEibbN1Vd8+jfJyVY1Gy2pRpht4z7JOV22SZ+0quck3TZak8P+T
h49GzW6+yZsmr8r2dgs3Tk8vnkXR/Sgtmgpem5fLbJuVOIJ7cXQvW+ZtVedp
gX9MJ9/D/1Q1/Ov84tm9UbnbzLP66WgJg3g6WlRlk5XNrnkatfUuG8EgvxzB
e+ssfRpNzk8no5uqvlrX1W77NHoDoz8dXWW3cG35dBQl0avJrr3Ef/BP8I/Z
2fTZM/7XJbxlGc3ydQnDjJ7VMEV8Gf4G9JqskUL4PNINSAKTi9JySZdg9H+i
K6PrrNzBOKMoGEMUMR3ewPvych39gD/C1U2aF08jot13SMZxVa/hclovLp9G
l227bZ4eHeFNeCW/zsZ60xFeOJrX1U2THdHzR/jNvL3czZHAtCRrXpWjwWW6
B/cXQNOmhfv1U8FzY37dOK+G3zB8dXzZbop7o1FKZEGqw4eiaLUrCmaaM3gg
q6Of0qbJik1a0s8wpbQUGj6NTrJVetVW0Sxb7GrgUbolY2Ld29Lz3y35nnEj
99zrf+n3WVomsI7l//3fVd5Ez6vNPK2X1cAHJ29m9hs/Z6sVvPe7dJP+qSrH
i2rTf/kf07pqivQ6Oq+aapNeXQ699++aRVpktX33ba33f/cn/nX4/d/Dhiij
43SznWdFMfDuM2Qk3cX2C/OFPPTdFm7J5Y7hr7zMF1fRrM2yIhv4xCvYpJOp
fXdDt35XwQ9pPvzKCRCmjM5gMy2u8qGXXrWpfWWK93+35fvplaOyqjdw9zVt
JN6hT+kRlV/EGFl0VlfL3YJ2ohNnbt9GKxAip9dZfVuV2T1+PK3XWet3VrPN
V6uMGLxaNEe8HeRqks6rXXtUwQuu8+zmyI0kmZ4Eg3FXBz8hewimJe/V/5kX
1Ry3dnnUtCBGgDGbI/eq8WYJb0PJ8nenL5PJ2TT4YiBxIvg1ejR+OPh1XKd8
OS4znFUGU0zto0m6zZNHbx/SlqXn3aaF/5KI1/PVps6jH9I/5W1L16OornAU
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
mP346vXzE/8v/+TxqxcvTl+e8MNwNQouje69mPzxHq/IvVdnF9NXLyfP7yFr
heINeRfmPJfdCIoHVWbajNTYW+Iz3x+f/Z//9ehJ9O7dr86fHT9+9Ojb9+/l
j988+uYJ/AHbpuSvVSUYgvwnUPB2BOyYpTUxNbDAAsycNkXpj6YLyLwywg0H
1Hzw90iZf3wa/Xa+2D568ju5gBMOLirNgotEs/6V3sNMxIFLA59x1Ayudygd
jnfyx+Bvpbu5+Nv/QnI/efSb//K7EbLQRCw8kXCkkUaTUkIXOcoQvc4WQ47O
BTplxa3zNBoydeHW5+hnwf8v1zu0YDhodvD8+YtD5mBQZy0Ki4uKNPAMA964
Z/DH86ypdvUC1Td8n3cBCGd0AkEmofbc0peR2XfA9LCfI/j8hkIasNPAAF3m
vOGXGf8A3JPlJLBA0eGGhpGgQJW/6BtfNDyNMi2iolrnixhnDfIPJNiS9vsm
vYW/FxmaQ3m53bUsfFKUCjXlD4EExkAubsfAnKt8naQ5h28SJSFwKjJdQ0YE
aK1tu4PPso3Fpq7P/6UB7UmCFMWOjLCMddBlvr5M0FwsrM8nr5tn7U2WlXTj
axgojpOduDj4Dv+1f+Hi7mLFndUajaadXf2hR3jXoyFNex3ZAhawQBHL2V/W
J7Io4KxtwThqG+a/tHRu7nV1lZGC7PBhq7ZSi/5YmzZXY4rvgZEt4lQ8M2QF
IdMHRgyzq3bEus0C+BAm/S//8i9p2lyvJRng//t10vnv171b/tyl958HbomC
7TNwy0d8iP/7b9HQ4/47e347eHwYHXx5+OkP0m/XIze+Xw8NeOjir0fwJDFr
9OckOXh0mPwOLrgdQRef8EVeMBoD/gUryZ/lzx/ovjk0F520oWckoPHn3yYH
Xx8myZ8j8x9e/Ioueg74879rPsAlo3dPo/uD0oDjV39zL9zyGoS5956M+1db
5Ni0eBpd9HZydJCN12My6FswN3+u5iSNyopkHr3z0FiD6N1gBqYg4wOtF9o7
IFIksynOi45njPbwhZVJ7l0kPq8RLYDuryQ79Hlg2LFLlcDOCb1j3locqmFp
4awfssNS1CuLYrfszZaEbyxuAo5ls20bFjYSHNqK+83uD/7gtnSwoXEzw7tk
mzO56gxEKfoJYIC2sMO/5LmjygCrZFeXjTzVJVO0ShfoQLAaAs8qW6gb1tVz
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
atZmmdahYm4WTdWAW+ixh6P/B62nGZR96AAA

-->

</rfc>
