<?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-liu-oauth-scenario-discovery-authz-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Scenario Discovery and Authorization">Scenario-Based Service Discovery and Authorization Protocol in Agent Environments</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-oauth-scenario-discovery-authz-00"/>
    <author initials="D." surname="Liu" fullname="Dapeng Liu">
      <organization>Alibaba</organization>
      <address>
        <email>max.ldp@alibaba-inc.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <keyword>OAuth</keyword>
    <keyword>AI Agents</keyword>
    <keyword>Service Discovery</keyword>
    <keyword>Scenario-Based Authorization</keyword>
    <keyword>Protected Resource Metadata</keyword>
    <keyword>ID-JAG</keyword>
    <keyword>DPoP</keyword>
    <abstract>
      <?line 64?>

<t>AI agents act on behalf of end users across applications the agent has
no prior relationship with and cannot pre-register with. This
specification defines a scenario-based service discovery and
authorization protocol for agent environments, which lets an
application advertise its capabilities to agents, lets an agent learn
how to invoke the application, with which authorization mechanism, and
how to obtain a delegated session for the end user without ever
handling the end user's primary credentials, and lets the application
enforce runtime interaction boundaries when an agent operation exceeds
what was approved.</t>
      <t>The protocol combines two building blocks. The first is a semantic
standard for an application's scenario-based capability advertisement:
the scenaric flows the application opens to agents, the operations each
flow packages, and the authorization mechanisms and invocation surfaces
it accepts for them; what no flow opens is closed by default. The second is an attach and binding
standard that attaches the semantic to both mobile applications and web
applications, so one advertisement reaches an agent over a web origin or
through a packaged native application. The protocol reuses OAuth
standards that exist or are being defined and defines no new
authorization protocol: the advertisement is a standalone document at
its own well-known location, linked from Protected Resource Metadata;
the delegated session is established by the grants the advertisement
names; tokens are sender-constrained with DPoP; runtime boundaries are
carried by Rich Authorization Requests and verified by the
authorization schemas framework, whose reverse-guided refusals route
the agent back to re-establishment.</t>
    </abstract>
  </front>
  <middle>
    <?line 94?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A personal agent that receives an instruction such as "book the cheapest
flight to Shanghai tomorrow" must find an application that can fulfill
it, act for the user inside that application, and stop or escalate when
an operation falls outside what the user approved. Applications today
present themselves to agents through structured interfaces, an HTTP API
or increasingly a Model Context Protocol (MCP) <xref target="MCP"/> server, and
through graphical interfaces built for human eyes: a web site and a
native mobile application. The OAuth machinery for every piece of that
path already exists; what an agent lacks is the application's own
statement of how the pieces apply to it.</t>
      <t>This specification defines the scenario-based service discovery and
authorization protocol for agent environments, which lets an
application advertise its capabilities to agents; it lets an agent
learn how to invoke the application, with which authorization
mechanism, and how to obtain a delegated session for the end user
without ever handling the end user's primary credentials; and it lets
the application enforce runtime interaction boundaries when an agent
operation exceeds what was approved.</t>
      <t>The protocol combines two building blocks:</t>
      <ol spacing="normal" type="1"><li>
          <t>A semantic standard for the application's scenario-based capability
advertisement, which lets an agent discover what functions the
application has opened for agent invocation, which authorization
standards govern them, and which invocation mechanisms the
application accepts for them (<xref target="capability"/>).</t>
        </li>
        <li>
          <t>An attach and binding standard that attaches the semantic to both
mobile applications and web applications, so the same advertisement
reaches an agent over a web origin, through a packaged native
application, or over a platform channel (<xref target="attach"/>).</t>
        </li>
      </ol>
      <t>Both building blocks reuse OAuth standards that exist or are being
defined; this specification defines no new authorization protocol. The
advertisement is a standalone JSON document published at the well-known
agent-capabilities location of the application's origin, which
Protected Resource Metadata <xref target="RFC9728"/> links to with a single new
parameter; the delegated session is established by the grants the
advertisement names, the authorization code grant with Pushed
Authorization Requests <xref target="RFC9126"/> and the Identity Assertion JWT
Authorization Grant (ID-JAG)
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, with pending
delivery under <xref target="I-D.ietf-oauth-deferred-token-response"/>; the issued
tokens are sender-constrained with DPoP <xref target="RFC9449"/> and carry their
boundaries in <tt>authorization_details</tt> <xref target="RFC9396"/>; and runtime
verification and remediation run on the authorization schemas framework
<xref target="I-D.liu-oauth-authorization-schemas"/>. What the two building blocks
add is the scenario semantic, its attachment to web and native
applications, and the composition that makes the reused standards work
together.</t>
      <t>The full lifecycle of a protocol interaction therefore runs in four
phases: capability discovery, intent matching, establishment mode
selection and session establishment, and runtime enforcement with
atomic constraints and remediation. The protocol is applicable to human-driven clients as well,
but its requirements are shaped by agents: their actions are planned at
runtime, their remediation must be machine-readable, and their identity
must be demonstrated, not assumed.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology and Architecture Overview</name>
      <t>This specification uses the terms "authorization server" (AS),
"client", "resource server" (RS), and "access token" defined in
<xref target="RFC6749"/>, the authorization_details structure defined in
<xref target="RFC9396"/>, and the DPoP binding defined in <xref target="RFC9449"/>. Where the
capability document reuses the <tt>resource</tt> and <tt>authorization_servers</tt>
field names of the Protected Resource Metadata <xref target="RFC9728"/>, it does
so with the same semantics.</t>
      <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?>

<t>In addition, this specification defines the following roles and
objects:</t>
      <dl>
        <dt>Agent:</dt>
        <dd>
          <t>An autonomous OAuth client that pursues delegated work on behalf of
an end user, planning its operation sequence at runtime. In this
specification, "client" and "agent" are used interchangeably.</t>
        </dd>
        <dt>Application (Service Provider):</dt>
        <dd>
          <t>The party operating a protected resource. An application exposes its
capabilities through structured surfaces, an HTTP API or a Model
Context Protocol (MCP) <xref target="MCP"/> server, and through presentation
surfaces, a web site and a native mobile application. All surfaces
are backed by the same resource servers and authorization server.</t>
        </dd>
        <dt>Host Container:</dt>
        <dd>
          <t>The environment the agent runs in, such as a phone operating system
or a browser engine, which mediates user-facing interaction and
credential handling on the agent's behalf. The host container
renders confirmation surfaces and transmits session credentials
into web and native application surfaces; the agent itself never
handles the end user's primary credentials.</t>
        </dd>
        <dt>Establishment Mode:</dt>
        <dd>
          <t>The authorization protocol by which an agent obtains delegated
authorization for an end user, one of the modes defined in
<xref target="session"/> and advertised in <tt>establishment_modes_supported</tt>. The
Mode B profiles issue an ID-JAG; Mode A issues an access token of the
authorization code grant. Modes differ in where and when the end user
interacts, not in the claims of the token issued (<xref target="session-token"/>).</t>
        </dd>
        <dt>Authorization Schema:</dt>
        <dd>
          <t>A domain-specific authorization schema as defined in
<xref target="I-D.liu-oauth-authorization-schemas"/>: a structured definition of
behavioral boundaries, instantiated in <tt>authorization_details</tt> and
verified by the resource server through deterministic constraint
evaluation.</t>
        </dd>
        <dt>Atomic Capability:</dt>
        <dd>
          <t>A single operation the application exposes, expressible as an
operation identifier within a schema instance, such as
<tt>ecommerce.purchase</tt>.</t>
        </dd>
        <dt>Scenaric Flow:</dt>
        <dd>
          <t>A composite, higher-level intent the application packages from
atomic capabilities, such as "compare and buy", advertised with the
operations it opens and the establishment modes and invocation
surfaces it accepts.</t>
        </dd>
        <dt>Capability Document:</dt>
        <dd>
          <t>The JSON document an application publishes at the well-known
agent-capabilities location of its origin, packaging the service
description, the invocation and presentation surfaces, the scenaric
flows, and the authorization pointers that together constitute its
capability advertisement.</t>
        </dd>
      </dl>
      <t>The architecture keeps the division of labor of the underlying
specifications intact: the AS is the only issuer of authorization, the
RS is the policy enforcement point, and the agent is the execution
subject whose every operation is verified. This protocol adds the
advertisement semantic and its attachment methods, and composes the
session establishment and remediation machinery from the underlying
specifications; it does not move authorization decisions into the
agent or the host container.</t>
    </section>
    <section anchor="capability">
      <name>The Scenario Advertisement Semantic</name>
      <t>This chapter defines the first building block: the semantic standard
for the application's scenario-based capability advertisement.
Discovery is the protocol's front door. An application publishes one
capability document at the well-known agent-capabilities location of
its origin, and an agent that reads it knows, before it holds any
authorization: the service it has reached, the scenaric flows the
application opens, the operations each flow packages, and the
establishment modes and invocation surfaces each flow accepts. What no
flow opens is closed by default.</t>
      <section anchor="capability-metadata">
        <name>The Capability Document</name>
        <t>This section defines the semantics of the capability advertisement:
what an application declares and how the declaration is interpreted.
How the advertisement reaches an agent, fetched from the well-known
HTTPS location, packaged into a native application, or delivered over
any future channel, is defined separately in <xref target="attach"/>. The two are
deliberately independent: the semantics of what is declared do not
depend on the channel it arrived through, and new attachment methods
can be defined without changing this section.</t>
        <t>An application implementing this protocol publishes a capability
document: a standalone JSON document served at the well-known
<tt>agent-capabilities</tt> location of its origin (<xref target="attach-web"/>). The
document is self-sufficient: it carries its own origin binding, the
authorization pointers an agent needs, and the scenario advertisement,
so an agent that has fetched it holds everything required to select
and establish a session. Protected Resource Metadata <xref target="RFC9728"/> is
not extended by this specification; when an application publishes it,
it links to the capability document with the single
<tt>agent_capabilities_uri</tt> parameter defined in <xref target="attach-web"/>. The
fields are illustrated by the capability document of a shopping
application, in the document's reading order: the service description,
the origin and surfaces, the scenaric flows, and the authorization
pointers:</t>
        <figure anchor="fig-metadata">
          <name>Capability document example</name>
          <sourcecode type="json"><![CDATA[
{
  "service": {
    "name": "Example Shop",
    "description": "E-commerce.",
    "logo_uri": "https://shop.example/logo.png",
    "policy_uri": "https://shop.example/privacy",
    "tos_uri": "https://shop.example/tos"
  },
  "resource": "https://shop.example",
  "invocation_surfaces_supported": [
    {
      "type": "mcp",
      "url": "https://mcp.shop.example/mcp",
      "description": "Product search and cart tools.",
      "token": { "type": "bearer", "sender_constraint": "dpop" }
    },
    {
      "type": "http_api",
      "url": "https://api.shop.example",
      "description": "Orders, cart, and payment operations.",
      "token": { "type": "bearer", "sender_constraint": "dpop" }
    },
    {
      "type": "web",
      "browser_session_endpoint": "https://shop.example/agent/sso"
    },
    {
      "type": "native_app",
      "associated_origin": "https://shop.example",
      "platforms": [
        {
          "platform": "android",
          "package": "com.example.shop",
          "app_link": "shopapp://agent/handoff"
        },
        {
          "platform": "ios",
          "app_link": "shopapp://agent/handoff"
        }
      ]
    }
  ],
  "scenaric_flows_supported": [
    {
      "flow_id": "compare-and-buy",
      "name": "Compare and buy",
      "description": "Search, compare prices, and buy.",
      "schemas": ["transaction_authority"],
      "operations": ["ecommerce.search", "ecommerce.compare",
                     "ecommerce.cart.add", "ecommerce.purchase"],
      "access": ["mcp", "http_api"],
      "entry_points": ["/search", "/products"]
    },
    {
      "flow_id": "loyalty-balance",
      "name": "Loyalty balance",
      "description": "Read loyalty points and membership status.",
      "schemas": ["loyalty_account"],
      "operations": ["loyalty.read"],
      "access": ["http_api"]
    },
    {
      "flow_id": "gift-card-send",
      "name": "Send a gift card",
      "description": "Buy and send a gift card to an email address.",
      "schemas": ["transaction_authority"],
      "operations": ["ecommerce.giftcard.purchase",
                     "ecommerce.giftcard.send"],
      "establishment_modes": ["par", "id-jag", "id-jag-pending"],
      "access": ["http_api"]
    }
  ],
  "authorization_servers": ["https://as.shop.example"],
  "establishment_modes_supported": [
    "par", "id-jag", "id-jag-pending", "id-jag-silent"
  ],
  "authorization_schemas_supported": [
    {
      "type": "transaction_authority",
      "description": "E-commerce transaction boundaries.",
      "schema_uri": "https://shop.example/schemas/transaction_v2"
    },
    {
      "type": "loyalty_account",
      "description": "Loyalty points and membership boundaries.",
      "schema_uri": "https://shop.example/schemas/loyalty_v1"
    }
  ]
}
]]></sourcecode>
        </figure>
        <t>The fields are defined as follows, in the document's reading order:
the service description, the origin and surfaces, the scenaric flows,
and the authorization pointers.</t>
        <dl>
          <dt>service:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. An object of display data describing the application
itself, for agent-side user interfaces, consent surfaces, and audit
records. Its members are not identity claims: the trust anchors of
the document are <tt>resource</tt> and the channel it arrived through
(<xref target="security-metadata"/>). It contains <tt>name</tt> (<bcp14>REQUIRED</bcp14>; a
human-readable display name of the service: an agent that presents
an interaction to the end user identifies the application by this
name, together with the origin of <tt>resource</tt>), <tt>description</tt>
(<bcp14>OPTIONAL</bcp14>; a short human-readable description of the service), and
<tt>logo_uri</tt>, <tt>policy_uri</tt>, and <tt>tos_uri</tt> (all <bcp14>OPTIONAL</bcp14>; URIs of a
displayable logo, the privacy policy, and the terms of service).
Display members <bcp14>MAY</bcp14> carry language tag suffixes, such as
<tt>name#zh-CN</tt>, so that one service can present itself in several
languages.</t>
          </dd>
          <dt>resource:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The HTTPS origin of the application, with the same name
and semantics as the <tt>resource</tt> metadata parameter of <xref target="RFC9728"/>.
It is the document's self-binding anchor: a capability document
fetched from a web origin is authentic for exactly that origin, and
a packaged copy is bound to the <tt>resource</tt> it carries through the
verification of <xref target="attach-native"/>.</t>
          </dd>
          <dt>invocation_surfaces_supported:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. An array of objects, one per surface through which an
agent can act on this application. It is the surface catalog: the
URL and the token carriage of each surface are declared once here,
and every scenaric flow's <tt>access</tt> refers to entries of this array
by their <tt>type</tt>. The <tt>type</tt> of each entry <bcp14>MUST</bcp14> be unique within the
array. Each object contains:
</t>
            <dl>
              <dt>type:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. The surface type. This specification defines <tt>http_api</tt>,
<tt>mcp</tt>, <tt>web</tt>, and <tt>native_app</tt>; further types are registered in
the "Agent Surface Types" registry (<xref target="iana-surfaces"/>).</t>
              </dd>
              <dt>url:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14> for the <tt>http_api</tt> and <tt>mcp</tt> types. The base URL of the
HTTP API or of the MCP <xref target="MCP"/> server.</t>
              </dd>
              <dt>token:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14> for the <tt>http_api</tt> and <tt>mcp</tt> types. An object describing
how the agent presents its token on the surface. It contains
<tt>type</tt> (<bcp14>REQUIRED</bcp14>; the presentation mechanism; this specification
defines <tt>bearer</tt>, the Authorization header of <xref target="RFC6750"/>) and
<tt>sender_constraint</tt> (<bcp14>OPTIONAL</bcp14>; the sender-constraining mechanism;
this specification defines <tt>dpop</tt>, <xref target="RFC9449"/>). Applications
conforming to this specification <bcp14>SHOULD</bcp14> require <tt>dpop</tt>.</t>
              </dd>
              <dt>description:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>. A short human-readable description of the work possible
through this surface, intended for agent-side planning and, where
applicable, for presentation to the end user.</t>
              </dd>
              <dt>browser_session_endpoint:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14> for the <tt>web</tt> type. The endpoint at which the host
container establishes a web session by exchanging the agent's
token (<xref target="session-attach"/>).</t>
              </dd>
              <dt>associated_origin:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14> for the <tt>native_app</tt> type. The HTTPS origin whose
well-known advertisement the packaged copy mirrors
(<xref target="attach-native"/>).</t>
              </dd>
              <dt>platforms:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14> for the <tt>native_app</tt> type. An array of objects, one per
mobile platform for which a packaged application exists. Each
object contains:
</t>
                <dl>
                  <dt>platform:</dt>
                  <dd>
                    <t><bcp14>REQUIRED</bcp14>. The platform identifier, such as <tt>android</tt> or <tt>ios</tt>.</t>
                  </dd>
                  <dt>app_link:</dt>
                  <dd>
                    <t><bcp14>REQUIRED</bcp14>. A URI that opens the application on that platform,
typically the application's registered custom scheme URI. It is
the deep-link entry to the native surface: a host container on a
platform without app-to-app explicit launch opens it directly.</t>
                  </dd>
                  <dt>package:</dt>
                  <dd>
                    <t><bcp14>OPTIONAL</bcp14>. The platform application identifier, such as an
Android package name. A host container on Android <bcp14>SHOULD</bcp14> launch
the application with an explicit intent targeting this package:
explicit launch reaches the target application directly, without
URI-based resolution, so another application that registered the
same custom scheme cannot intercept the launch. The <tt>app_link</tt>
remains the deep-link entry once the application is running.</t>
                  </dd>
                </dl>
              </dd>
            </dl>
          </dd>
          <dt>scenaric_flows_supported:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. An array of objects, one per composite flow the
application opens to agents. Each object contains:
</t>
            <dl>
              <dt>flow_id:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. A stable identifier of the flow, unique within this
metadata document.</t>
              </dd>
              <dt>name:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. A short human-readable name.</t>
              </dd>
              <dt>description:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>. A human-readable description of what the flow
accomplishes, expressed in terms the end user can understand.</t>
              </dd>
              <dt>schemas:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. An array of the schema types whose atomic capabilities
the flow composes. Every type listed here <bcp14>SHOULD</bcp14> also appear in
<tt>authorization_schemas_supported</tt>.</t>
              </dd>
              <dt>operations:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. An array of the atomic capabilities the flow opens.
Each operation identifier belongs to the value space of the
schema types the flow composes.</t>
              </dd>
              <dt>establishment_modes:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>. An array of establishment mode identifiers naming the
modes a session covering this flow's operations may use. Each
identifier <bcp14>MUST</bcp14> also appear in <tt>establishment_modes_supported</tt>;
when the member is absent, every advertised mode is accepted. A
flow <bcp14>MAY</bcp14> narrow the list to modes whose end user interaction is
synchronous: the <tt>gift-card-send</tt> flow of <xref target="fig-metadata"/>
excludes silent establishment, so a session that moves value to a
third party is always established with user interaction, even
when it renews.</t>
              </dd>
              <dt>access:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. An array of surface type names, one per structured
surface through which the flow's operations are reachable. Each
name <bcp14>MUST</bcp14> match the <tt>type</tt> of an entry in
<tt>invocation_surfaces_supported</tt>; the URL and the token carriage
of that entry apply to every operation of this flow invoked on
that surface. A flow <bcp14>MAY</bcp14> accept a subset of the application's
structured surfaces.</t>
              </dd>
              <dt>entry_points:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>. An array of resource paths or URIs at which the flow
typically starts, for agents that navigate resource structures
directly.</t>
              </dd>
            </dl>
          </dd>
        </dl>
        <t>Flows are the unit of exposure. An atomic capability is open to
agents exactly when it appears in the <tt>operations</tt> of at least one
advertised flow; an operation no advertised flow opens is closed by
default, whatever an approved instance says. The resource server <bcp14>MUST
NOT</bcp14> execute a closed operation, and the authorization server <bcp14>SHOULD</bcp14>
decline an instance whose boundary includes one. An application
willing to accept a capability outside any packaged flow <bcp14>MUST</bcp14> open
it, by advertising a flow that lists it.</t>
        <dl>
          <dt>authorization_servers:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. An array of authorization server issuer URLs, with the
same name and semantics as the <tt>authorization_servers</tt> metadata
parameter of <xref target="RFC9728"/>: the agent fetches each issuer's AS
metadata document <xref target="RFC8414"/> to obtain the token endpoint and the
remaining endpoints. The capability document carries the pointer
itself, so an agent that has fetched the document can begin
establishment without any other metadata document of the
application. When the application also publishes Protected Resource
Metadata, its <tt>authorization_servers</tt> value <bcp14>MUST</bcp14> be identical to
this one.</t>
          </dd>
          <dt>establishment_modes_supported:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. An array of establishment mode identifiers, one per
authorization establishment mode (<xref target="session"/>) the application's
authorization servers accept for this resource: <tt>par</tt> (Mode A),
<tt>id-jag</tt> (Mode B1), <tt>id-jag-pending</tt> (Mode B2), or <tt>id-jag-silent</tt>
(Mode B3), registered in the "Agent Establishment Mode Identifiers"
registry (<xref target="iana-profiles"/>). These are identifiers of this
specification, not OAuth parameters. A grant type alone often does
not determine the authorization protocol an agent is expected to
run: the three ID-JAG modes share one grant type, and the mode
identifier distinguishes them.</t>
          </dd>
        </dl>
        <t>Applications conforming to this specification <bcp14>MUST</bcp14> advertise and
support Mode A, the interoperability baseline, and <bcp14>SHOULD</bcp14> additionally
advertise an ID-JAG profile for agent-native deployments. An agent
implements one or more modes and selects an advertised entry it
implements; agents deployed outside the end user's device cannot run
Mode B1 (<xref target="session-establishment"/>). If the authorization server
rejects the selected entry, it responds with the error of the
underlying grant specification, and the agent reselects from the
advertisement. The authorization server endpoints are not duplicated
in the advertisement: the agent obtains the token endpoint and the
remaining AS endpoints from the AS metadata document <xref target="RFC8414"/>,
discovered from an issuer URL listed in <tt>authorization_servers</tt>. An
application <bcp14>MUST NOT</bcp14> advertise a grant type that none of its listed
authorization servers supports, and <bcp14>MUST NOT</bcp14> advertise a mode that
none of them implements.</t>
        <dl>
          <dt>authorization_schemas_supported:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. An array of objects, one per authorization schema the
resource servers of this application accept in
<tt>authorization_details</tt>. Each object contains:
</t>
            <dl>
              <dt>type:</dt>
              <dd>
                <t><bcp14>REQUIRED</bcp14>. The authorization details type identifier of the schema,
as defined in <xref target="I-D.liu-oauth-authorization-schemas"/>. Type
identity is exact string match.</t>
              </dd>
              <dt>description:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>. A short human-readable description of the capability
area the schema governs, intended for agent-side planning and,
where applicable, for presentation to the end user.</t>
              </dd>
              <dt>schema_uri:</dt>
              <dd>
                <t><bcp14>OPTIONAL</bcp14>. A URI dereferencing to a JSON Schema document describing
the structure of conforming instances. The dereferenced document
is a descriptive input for instance construction, not an
authorization.</t>
              </dd>
            </dl>
          </dd>
        </dl>
        <t>The <tt>http_api</tt> and <tt>mcp</tt> entries declare the structured surfaces, the
primary path of <xref target="session-attach"/>; the <tt>web</tt> and <tt>native_app</tt> entries
declare the presentation surfaces.</t>
        <t>An application has exactly one capability document. Whatever channel
an agent obtains it through, the declaration <bcp14>MUST</bcp14> carry the same
semantics; how channel-specific copies are kept consistent with the
document is defined by the attachment methods in <xref target="attach"/>.</t>
      </section>
      <section anchor="capability-matching">
        <name>Intent Matching</name>
        <t>When an agent receives an end user instruction, it matches the
instruction against the advertised capabilities: a vague intent such as
"buy the cheapest flight to Shanghai tomorrow" maps to a scenaric flow
(<tt>compare-and-buy</tt>) when the application advertises one, or is
composed from the <tt>operations</tt> of several flows otherwise. The
advertisement is an input to the agent's planning: the agent composes
its session request from the flows the application opened, within the
boundary the end user approves at establishment.</t>
        <t>This specification deliberately defines only the data format of the
advertisement, not the matching algorithm. Matching quality is an
agent-side competitive property; interoperability requires only that
every application describe itself in the same shape.</t>
        <t>One property of the advertisement is worth stating explicitly, because
agents reach applications through more than one structured surface.
An atomic capability opened by a flow is the same capability whether
the agent invokes it as a direct HTTP API operation or as a tool of an
MCP <xref target="MCP"/> server the flow's <tt>access</tt> declares: it is authorized by
the same schema instance and verified by the
same resource server.
Applications that expose an MCP server <bcp14>SHOULD</bcp14> map each advertised
atomic capability to an MCP tool, invoked with the agent's token and
a DPoP proof like any API call.</t>
      </section>
      <section anchor="session-challenge">
        <name>The 401 Challenge: Runtime Error Correction</name>
        <t>An authorization challenge is a runtime signal, not an entry point
into discovery. When an agent calls an application without a
sufficient session, the resource server responds with the
reverse-guided authorization challenge of Section 5 of
<xref target="I-D.liu-oauth-authorization-schemas"/>, which this specification
uses as defined there: the <tt>insufficient_authorization</tt> error code
with the <tt>schema_profile_uri</tt> parameter when the deficiency is
structural, <tt>insufficient_scope</tt> <xref target="RFC6750"/> when it is scope-based.
The response also carries the <tt>resource_metadata</tt> parameter of
<xref target="RFC9728"/>:</t>
        <figure anchor="fig-challenge">
          <name>Reverse-guided 401 challenge</name>
          <sourcecode type="http"><![CDATA[
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="insufficient_authorization",
  schema_profile_uri="https://shop.example/profiles/compare-and-buy",
  resource_metadata=
    "https://shop.example/.well-known/oauth-protected-resource"
Content-Type: application/json

{
  "error": "insufficient_authorization",
  "error_description": "A delegated session is required."
}
]]></sourcecode>
        </figure>
        <t>The <tt>resource_metadata</tt> URI addresses the application's Protected
Resource Metadata document, which links to the capability document
with the <tt>agent_capabilities_uri</tt> parameter (<xref target="attach-web"/>). The
agent follows the chain, fetches the capability document, selects the
scenaric flow or atomic capabilities matching its intent, and
constructs the schema instance it will request, following the adaptive
behavior defined in <xref target="I-D.liu-oauth-authorization-schemas"/>. Because
the well-known location of the capability document is itself
guessable, an agent that knows which origin it addressed <bcp14>MAY</bcp14> instead
retry discovery directly at that origin's <tt>agent-capabilities</tt>
location; the challenge path additionally covers the case where the
origin addressed is not the application's canonical <tt>resource</tt>.</t>
        <t>The challenge is error correction, and the reverse path is a fallback
rather than the primary one. An agent that obtained the capability
document through one of the forward channels of <xref target="attach"/> (a
well-known fetch, a packaged copy in the application, or a platform
channel) matches its intent against the document and proceeds to
establishment mode selection (<xref target="session"/>) without any call being
refused first. The reverse entry point serves the agent that arrives
at a resource endpoint holding nothing but a URL, a deep link, an
address handed over by another agent, or one found in content, or an
agent whose held advertisement is stale; such an agent learns where
the capability document lives from the refusal itself. The same
challenge structure carries the remediation signpost when an operation
later exceeds the approved authorization
(<xref target="enforcement-remediation"/>). Nothing in this step is specific to
this protocol beyond the document the chain leads to.</t>
      </section>
    </section>
    <section anchor="attach">
      <name>Attaching the Advertisement to Web and Native Applications</name>
      <t>This section defines the second building block: the attach and binding
standard that attaches the advertisement semantic to both mobile
applications and web applications. The attachment methods defined here
are transport for the same semantics: an agent that discovers the
application over a web origin, through a packaged native application,
or over any future channel defined elsewhere, interprets one
advertisement and runs one protocol. An agent that already holds the
advertisement, fetched from the well-known location, read from a
packaged copy, or delivered by a platform channel, proceeds directly
to intent matching (<xref target="capability-matching"/>) and establishment mode
selection (<xref target="session"/>); the 401 challenge of
<xref target="session-challenge"/> is the error-correction fallback for an agent
that arrives holding nothing but a resource URL. The binding of an
established session to the web and native presentation surfaces is
defined in <xref target="session-attach"/>.</t>
      <t>Additional attachment methods <bcp14>MAY</bcp14> be defined in future
specifications; they need only deliver the advertisement and the
session credentials in accordance with the isolation requirements of
<xref target="security-credentials"/>, and change nothing in <xref target="capability"/>,
<xref target="session"/>, or <xref target="enforcement"/>.</t>
      <section anchor="attach-web">
        <name>Web Applications</name>
        <t>For an application that operates a web origin, the capability document
is published at the well-known location <tt>agent-capabilities</tt> under
that HTTPS origin:</t>
        <sourcecode type="http"><![CDATA[
GET /.well-known/agent-capabilities
Host: shop.example
]]></sourcecode>
        <t>The location is guessable in the manner of the AS metadata well-known
of <xref target="RFC8414"/>: an agent that knows the origin fetches the capability
document without any prior registration, and the document returned
over authenticated TLS under that origin is authentic for it. The
document is served as <tt>application/json</tt>. All
protocol interactions over the structured surfaces run over standard
HTTPS. Use of the web presentation surface follows
<xref target="session-attach"/>: the host container mediates the web credential;
the agent never holds it.</t>
        <t>The document's scope is the origin that serves it, restated in the
document's own <tt>resource</tt> member (<xref target="capability-metadata"/>); an agent
that finds the two in disagreement holds no advertisement for that
origin (<xref target="security-metadata"/>). Because any agent may fetch the
location without prior arrangement, the endpoint <bcp14>SHOULD</bcp14> be served as
static content under a cache lifetime the application controls, which
keeps discovery traffic off the application's request path.</t>
        <t>An application implementing this specification also publishes its
Protected Resource Metadata <xref target="RFC9728"/> with one additional
parameter:</t>
        <dl>
          <dt>agent_capabilities_uri:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The HTTPS URL of the application's capability document.
This is the only linkage between the two documents: the capability
document is standalone and self-sufficient, and the Protected
Resource Metadata adds nothing but the pointer. The link is what
makes the error-correction chain of <xref target="session-challenge"/> work, an
agent that skipped discovery follows it from the refused call to
the Protected Resource Metadata and on to the capability document,
and it serves OAuth clients that begin from the Protected Resource
Metadata. When both documents are published, their
<tt>authorization_servers</tt> values <bcp14>MUST</bcp14> be identical
(<xref target="capability-metadata"/>).</t>
          </dd>
        </dl>
      </section>
      <section anchor="attach-native">
        <name>Native Applications</name>
        <t>For an application that also ships a native mobile application, the
capability document is additionally packaged into the application:
the application declares, through the operating system's
associated-domain mechanisms, the same origin that serves the
well-known capability document, and ships a copy of the document in
its application package. The declared origin is the
<tt>associated_origin</tt> of the <tt>native_app</tt> surface entry when the
document includes one. The operating system verifies the association
between the application and the declared origin through the platform's
link-verification chain, for example Android App Links <xref target="APPLINKS"/>
and Universal Links <xref target="UNIVLINKS"/>.</t>
        <t>A host-side agent that wants to act on the packaged application reads
the packaged document over the local inter-process channel, without
any network access: the packaged copy is what makes offline capability
discovery possible. The application <bcp14>MUST</bcp14> treat the packaged copy as a
cache of the origin-served document: before the first remote
operation of a session, the application checks the origin-served
document and <bcp14>MUST</bcp14> use the origin-served copy whenever the two differ. A
flow the stale packaged copy still lists is open only until the first
refresh, and the application <bcp14>MUST NOT</bcp14> execute an operation that the
current origin-served document no longer opens.</t>
        <t>A host container that opens the native application uses the
<tt>platforms</tt> entries of the <tt>native_app</tt> surface. On Android, it
<bcp14>SHOULD</bcp14> launch the application with an explicit intent targeting the
declared <tt>package</tt>, which reaches the target application directly
without URI-based resolution, so another application that registered
the same custom scheme cannot intercept the launch; the declared
<tt>app_link</tt> is the deep-link entry, on Android once the application is
running, and on platforms without app-to-app explicit launch, such as
iOS, where the host container opens the <tt>app_link</tt> URI directly.
These addresses are pointers to existing platform behavior, custom
scheme registration and verified app links; this specification
defines no launch mechanism of its own. Because custom scheme
registration carries no verification, the session credentials of the
native surface are never carried in the link URI itself: they travel
over the host platform's secure channel, and where a handoff must
travel through a URL, it carries a short-lived, single-use reference
redeemable at the application, not the token
(<xref target="security-launch"/>).</t>
        <t>Native-surface session establishment runs over the same local
inter-process channel, using the host platform's secure
credential passing; the channel requirements of <xref target="session-attach"/>
apply.</t>
      </section>
      <section anchor="attach-related">
        <name>Relationship to Existing Discovery Mechanisms</name>
        <t>An origin may serve several discovery artifacts at once. AS metadata
<xref target="RFC8414"/> and Protected Resource Metadata <xref target="RFC9728"/> answer where
the authorization servers and the resource endpoints are. Both are
protocol metadata for OAuth participants, and neither carries a
description of what the application opens to agents; the capability
document points at the first and is pointed at by the second, through
<tt>agent_capabilities_uri</tt> (<xref target="attach-web"/>).</t>
        <t>API catalogs <xref target="RFC9727"/> enumerate the APIs an origin exposes, each
entry linking to a description of that API. An application that serves
both <bcp14>MAY</bcp14> link from a catalog entry to its capability document, and an
agent <bcp14>MAY</bcp14> follow the link, but this specification does not require a
catalog, and a catalog with no such link says nothing about whether the
application opens flows to agents.</t>
        <t>Agent Cards <xref target="A2A"/>, at the registered <tt>agent-card.json</tt> well-known,
describe an agent: its identity, its skills, the authentication it
requires. The capability document describes the application that agent
is calling: which flows it opens, under which grants, over which
surfaces. One origin <bcp14>MAY</bcp14> serve both, and an agent described by a card
of its own still reads the capability document of every application it
calls.</t>
        <t>A key directory for HTTP message signatures
<xref target="I-D.ietf-webbotauth-httpsig-protocol"/>, at the
<tt>http-message-signatures-directory</tt> well-known that specification
requests, identifies the agent as the caller: the agent signs the
request with <xref target="RFC9421"/>, names in <tt>Signature-Agent</tt> the URL where it
publishes its keys, and the receiving origin resolves that URL and
verifies the signature. The directory is served by the agent's own
origin, and the URL, not the key, is the identifier, so an agent
rotates keys without changing who it is. That specification defines
neither authorization nor delegation, and leaves to origin policy
whether a request is authorized: a verified signature says which agent
asked, not what the end user approved. An agent <bcp14>MAY</bcp14> sign its fetch of
the capability document and an application <bcp14>MAY</bcp14> treat signed and
unsigned fetches differently, and this specification requires neither.</t>
      </section>
    </section>
    <section anchor="session">
      <name>Authorization Establishment Modes</name>
      <t>The semantic names which authorization standards to run; this chapter
defines how an agent runs them. The capability advertisement names, in
<tt>establishment_modes_supported</tt>, the authorization establishment
modes the application's authorization servers accept. A mode is a
profile of an existing OAuth grant, not a new authorization protocol:
Mode A is the authorization code grant with Pushed Authorization
Requests <xref target="RFC9126"/>, and the Mode B family runs the Identity
Assertion JWT Authorization Grant (ID-JAG)
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>. The modes differ
in where and when the end user interacts and in
what the agent authenticates with, but not in what comes out: the Mode
B profiles issue the ID-JAG of <xref target="session-token"/>, and Mode A issues an
access token of the authorization code grant, carrying the same claims.</t>
      <t>This chapter defines the common outcome first, the authorization
server processing shared by every mode (<xref target="as-processing"/>), then the
modes in two families. Mode A (<xref target="mode-par"/>) is the front-channel mode, a profile
of the authorization code grant with Pushed Authorization Requests, in
which the end user reviews and may annotate the proposed schema
instance on the authorization server's consent surface. Mode B
(<xref target="mode-idjag"/>) is the back-channel family under the Identity
Assertion JWT Authorization Grant (ID-JAG)
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, in three
interaction profiles: host-mediated interaction before the token
request, pending approval after it, and silent establishment with no
fresh interaction.</t>
      <t>Mode A is the interoperability baseline: an application conforming to
this specification <bcp14>MUST</bcp14> support it, because it runs on machinery every
conventional authorization server already offers. The Mode B profiles
suit agent-native deployments, where the host container can mediate
user interaction without a browser round trip. An agent selects one
advertised entry that it implements: agents running inside a host
container can run any mode, while agents deployed outside the end
user's device, such as cloud agents, cannot produce host-mediated
assertions and therefore run Mode A or Mode B2. No negotiation
protocol is defined, and none is needed: the advertisement is the
complete list, and a wrong selection is corrected by the error of the
underlying grant specification.</t>
      <section anchor="session-token">
        <name>The ID-JAG</name>
        <t>The token of the Mode B profiles is the ID-JAG: the agent requests it
with <tt>requested_token_type</tt> set to
<tt>urn:ietf:params:oauth:token-type:id-jag</tt>, and the AS returns it in
the <tt>access_token</tt> parameter with <tt>token_type</tt> set to <tt>N_A</tt>, as in
the token exchange response of <xref target="RFC8693"/>. Mode A instead issues the
access token of the authorization code grant of <xref target="RFC6749"/>. Both
are JWTs whose <tt>sub</tt> claim is the end user, whose <tt>aud</tt> and client
identity identify the application and the agent respectively, whose
<tt>authorization_details</tt> carry the approved schema instance, and whose
lifetime is short. For a session with the
application of <xref target="fig-metadata"/> whose approved boundary limits
purchases to 200 USD:</t>
        <figure anchor="fig-session-token">
          <name>ID-JAG issued for the delegated session</name>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.shop.example",
  "sub": "user_712",
  "aud": "https://shop.example",
  "client_id": "https://agent.example/shopping",
  "exp": 1776326800,
  "iat": 1776326740,
  "jti": "urn:uuid:9c0d8946-58f2-4d3a-b4e7-1c8a5d2f6b90",
  "authorization_details": [
    {
      "type": "transaction_authority",
      "boundary": {
        "total_amount_limit": { "value": 200, "currency": "USD" },
        "operations": ["ecommerce.search", "ecommerce.cart.add",
                       "ecommerce.purchase"]
      }
    }
  ],
  "cnf": {
    "jkt": "NlSoUpSdoF0X-Br6xdK0UKbnj06kAs3oYSh9wg0efjM"
  }
}
]]></sourcecode>
        </figure>
        <t>The <tt>cnf</tt> claim carries the thumbprint of the agent's DPoP key
(<xref target="binding-dpop"/>); the <tt>authorization_details</tt> carry the approved
instance, possibly narrowed from the proposed one by the AS and, in
Mode A, possibly edited by the end user (<xref target="mode-par"/>). The agent
never sees the end user's primary credentials in any mode; the only
credential the agent holds is the token itself. A resource server verifies this token the same way whichever mode
issued it, and <bcp14>MUST NOT</bcp14> behave differently based on any inference
about how it was issued: the approved schema instance, not the
issuance path, is the authorization.</t>
      </section>
      <section anchor="as-processing">
        <name>Authorization Server Processing Requirements</name>
        <t>Whichever mode carries a session establishment request, the AS
executes the same verification and policy evaluation pipeline before
the token is issued. The pipeline applies across every mode:
for Mode A, from the pushed authorization request through the code
redemption; for the Mode B profiles, at the token request. Where a
step is mode-specific, it references the mode that defines it:</t>
        <ol spacing="normal" type="1"><li>
            <t>Client authentication: The AS <bcp14>MUST</bcp14> authenticate the agent as the
   client of the request, with the methods of <xref target="binding-client"/> among
   its options.</t>
          </li>
          <li>
            <t>Key binding: The agent's DPoP key <bcp14>MUST</bcp14> be presented or registered
   with the request, and the issued token <bcp14>MUST</bcp14> be bound to it
   (<xref target="binding-dpop"/>). In Mode B2 the pending authorization is bound
   to this key at the moment the request is held (<xref target="mode-b2"/>), so
   that the issued token reaches the agent that requested it, not the
   party that delivered the approval.</t>
          </li>
          <li>
            <t>End user authentication: The request <bcp14>MUST</bcp14> be completed by an
   authentication of the end user. In Mode A the end user
   authenticates on the AS's authorization surface. In Mode B1 the
   <tt>subject_token</tt> is the identity assertion of the host-mediated
   interaction, produced with a host-native credential. In Mode B2
   the AS obtains the assertion after the end user approves the
   pending request, with a credential the agent did not present
   (<xref target="mode-b2"/>). In Mode B3 the assertion is one the agent already
   holds, subject to the freshness rule of <xref target="mode-b3"/>.</t>
          </li>
          <li>
            <t>Instance validation: The proposed schema instance <bcp14>MUST</bcp14> conform to
   the definition of its declared schema type, as required by
   <xref target="I-D.liu-oauth-authorization-schemas"/>; a nonconforming instance
   is an error of that framework.</t>
          </li>
          <li>
            <t>Policy evaluation: The AS <bcp14>MUST</bcp14> review the proposed instance
   against its client registration metadata, its review policies, and
   the resource owner's consent, and <bcp14>MAY</bcp14> narrow the granted instance
   accordingly, without altering its semantic meaning
   (<xref target="I-D.liu-oauth-authorization-schemas"/>). The review is at the
   level of the proposed boundary, not of individual behaviors:
   per-behavior verification is the resource server's
   (<xref target="enforcement-constraints"/>). In Mode B3 the containment rule of
   <xref target="mode-b3"/> applies, and a widening request is routed to an
   interactive mode rather than issued silently.</t>
          </li>
          <li>
            <t>Issuance: The AS issues the ID-JAG of <xref target="session-token"/> in the
   Mode B profiles, or the access token of the authorization code
   grant in Mode A: the end user as subject, the agent as client,
   <tt>authorization_details</tt> carrying the granted instance, bound to
   the agent's DPoP key, with a short lifetime and a <tt>jti</tt> unique
   among the tokens the AS issues.</t>
          </li>
        </ol>
      </section>
      <section anchor="mode-par">
        <name>Mode A: Front-Channel Establishment with Schema Annotation</name>
        <t>Mode A is a profile of the authorization code grant of <xref target="RFC6749"/>
with Pushed Authorization Requests <xref target="RFC9126"/>, PKCE <xref target="RFC7636"/>,
and Rich Authorization Requests <xref target="RFC9396"/>. It requires no host
container: the authorization URI can reach the end user over any
channel the deployment provides, which makes it the mode every
conforming application supports and the only one always available to
agents deployed outside the end user's device.</t>
        <ol spacing="normal" type="1"><li>
            <t>The agent constructs the proposed schema instance and pushes an
   authorization request to the AS's pushed authorization request
   endpoint. The <tt>authorization_details</tt> of the pushed request carry
   the proposed instance, and the request carries the agent's client
   authentication.</t>
          </li>
          <li>
            <t>The agent hands the authorization URI to the host container or to
   the deployment's user channel. The end user opens the AS's
   authorization surface, authenticates with the AS, and reviews the
   proposed schema instance, rendered for the end user as
   <tt>authorization_details</tt> are rendered in <xref target="RFC9396"/> deployments.
   The consent surface is rendered by the AS, not by the agent. The
   end user <bcp14>MAY</bcp14> annotate the instance: adjusting the fields the AS
   exposes for end user editing, such as raising or lowering
   <tt>total_amount_limit</tt> or removing operations from the boundary. An
   annotation is a boundary the end user authored, not one the agent
   authored and the end user accepted.</t>
          </li>
          <li>
            <t>The end user completes the interaction, and the AS issues an
   authorization code reflecting the approved instance. The code
   reaches the agent over the completion channel the deployment
   provides, a front-channel redirect through the host container, or a
   polling or pushed arrangement. The agent redeems the code at the
   token endpoint, authenticating as a client and
   presenting a DPoP proof <xref target="RFC9449"/>.</t>
          </li>
          <li>
            <t>The token response carries the granted <tt>authorization_details</tt>.
   Because the end user may have annotated the instance, the granted
   details <bcp14>MAY</bcp14> differ from the proposed ones: the agent <bcp14>MUST</bcp14> read the
   granted instance before operating under it, and an agent that
   cannot operate under the granted boundary <bcp14>MUST NOT</bcp14> use the token
   and <bcp14>SHOULD</bcp14> report the divergence to the end user.</t>
          </li>
        </ol>
        <t>The pushed authorization request of step 1 is, for a session with the
application of <xref target="fig-metadata"/> whose proposed boundary limits
purchases to 200 USD:</t>
        <figure anchor="fig-par-request">
          <name>Pushed authorization request carrying the proposed schema instance</name>
          <sourcecode type="http"><![CDATA[
POST /oauth2/par HTTP/1.1
Host: as.shop.example
Content-Type: application/x-www-form-urlencoded

response_type=code
&client_id=https://agent.example/shopping
&redirect_uri=https://agent.example/callback
&code_challenge=(a challenge derived from the PKCE verifier)
&code_challenge_method=S256
&authorization_details=(the schema instance proposed for the
  session, as a JSON array)
]]></sourcecode>
        </figure>
        <t>The AS returns a <tt>request_uri</tt> per <xref target="RFC9126"/>; the authorization
URI handed to the user channel in step 2 is the AS's authorization
endpoint with <tt>client_id</tt> and <tt>request_uri</tt>.</t>
        <t>Which fields of a schema instance a consent surface exposes to end
user editing, and how annotations round-trip to agents, are open
questions (<xref target="open-issues"/>).</t>
      </section>
      <section anchor="mode-idjag">
        <name>Mode B: Back-Channel Establishment under ID-JAG</name>
        <t>Mode B is the back-channel family: the agent drives the token endpoint
directly, under the Identity Assertion JWT Authorization Grant
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, with the mode
advertised in <tt>establishment_modes_supported</tt>, at the
token endpoint of an authorization server listed in
<tt>authorization_servers</tt>, whose address the agent obtained from its AS
metadata <xref target="RFC8414"/>. The token request is the same in all three
profiles, and is specified in <xref target="session-establishment"/>; the profiles
differ in the timing of end user interaction:</t>
        <dl>
          <dt>B1, host-mediated assertion:</dt>
          <dd>
            <t>The end user interacts first: the host container opens an
authorization interaction, the end user authenticates with a
host-native credential and consents to the proposed schema instance,
and the resulting identity assertion becomes the <tt>subject_token</tt> of
the token request (<xref target="session-establishment"/>).</t>
          </dd>
          <dt>B2, pending approval:</dt>
          <dd>
            <t>The token request comes first: the AS holds it pending, solicits the
end user's approval, and issues the ID-JAG once the approval
arrives (<xref target="mode-b2"/>).</t>
          </dd>
          <dt>B3, silent establishment:</dt>
          <dd>
            <t>No fresh interaction: the agent holds a valid identity assertion,
and the requested boundary is contained in what the end user already
approved (<xref target="mode-b3"/>).</t>
          </dd>
        </dl>
        <section anchor="session-establishment">
          <name>Mode B1: Host-Mediated Assertion</name>
          <t>In Mode B1, the end user interacts before the token request:</t>
          <ol spacing="normal" type="1"><li>
              <t>The agent asks the host container to open an authorization
   interaction. The interaction surface is rendered by the host
   container or by the AS directly, not by the agent. The end user
   authenticates with a host-native credential, such as a passkey
   <xref target="WEBAUTHN"/> or platform biometric, and consents to the proposed
   schema instance.</t>
            </li>
            <li>
              <t>The resulting identity assertion is presented to the AS as the
   subject of the ID-JAG request. The AS processes the request
   through the pipeline of <xref target="as-processing"/>: it authenticates the
   agent as the client, validates the assertion, and reviews the
   schema instance against its policies as required by
   <xref target="I-D.liu-oauth-authorization-schemas"/>.</t>
            </li>
            <li>
              <t>The AS issues the ID-JAG, whose shape is the mode-independent one
   of <xref target="session-token"/>.</t>
            </li>
            <li>
              <t>The agent presents the ID-JAG, with a DPoP proof
   <xref target="RFC9449"/>, on every structured call to the application, whether
   a direct API operation or an MCP tool call.</t>
            </li>
          </ol>
          <t>The token request of step 2 is, for a session with the application of
<xref target="fig-metadata"/> whose proposed boundary limits purchases to 200 USD:</t>
          <figure anchor="fig-token-request">
            <name>ID-JAG token request for a delegated session</name>
            <sourcecode type="http"><![CDATA[
POST /oauth2/token HTTP/1.1
Host: as.shop.example
Content-Type: application/x-www-form-urlencoded
DPoP: eyJ...

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&requested_token_type=urn:ietf:params:oauth:token-type:id-jag
&audience=https://shop.example
&subject_token=eyJ...
&subject_token_type=urn:ietf:params:oauth:token-type:id_token
&authorization_details=(the schema instance proposed for the
  session, as a JSON array)
]]></sourcecode>
          </figure>
          <t>The <tt>subject_token</tt> carries the identity assertion produced by the
interaction of step 1; its format and validation follow
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>. The agent
authenticates at the token endpoint as a client (<xref target="binding-client"/>)
and presents a DPoP proof. In Mode B2 the initial request
carries no <tt>subject_token</tt>: the AS obtains the assertion after the end
user approves the pending request (<xref target="mode-b2"/>). In Mode B3 the
assertion is one the agent already holds (<xref target="mode-b3"/>).</t>
        </section>
        <section anchor="mode-b2">
          <name>Mode B2: Pending Approval</name>
          <t>In Mode B2, the interaction follows the request rather than preceding
it. The agent posts the token request of <xref target="session-establishment"/>
without a <tt>subject_token</tt>, with <tt>completion_mode</tt> set to <tt>deferred</tt>,
as defined in the Deferred Token Response
<xref target="I-D.ietf-oauth-deferred-token-response"/>. The AS validates the
request as far as it can, creates a pending authorization, and returns
the deferred response of that specification, carrying a
<tt>deferral_code</tt> and a polling interval. The AS then solicits the end
user's approval through a deployment-defined channel, such as a host
container notification or a message to one of the end user's devices;
the end user approves on the interaction surface, authenticating with
a host-native credential or an equivalent platform mechanism; the AS
thereupon obtains the identity assertion and resolves the deferred
request. The agent retrieves the ID-JAG by polling the token endpoint
with the <tt>deferral_code</tt>, or receives it at a registered deferred
client notification endpoint, and continues other work in the
meantime.</t>
          <t>The carriage of the pending indication and the completion signal is
that of <xref target="I-D.ietf-oauth-deferred-token-response"/>, including the
sender-constraining of the pending authorization to the agent's DPoP
key (Section 10.1 of that specification) and the bounded lifetime and
error reporting of a request that is denied or expires (Sections 5.4,
5.6, and 7). What this specification fixes are the properties any
Mode B2 deployment <bcp14>MUST</bcp14> preserve on top of that carriage:</t>
          <ol spacing="normal" type="1"><li>
              <t>Instance fidelity: The approval surface <bcp14>MUST</bcp14> present the proposed
   schema instance, and the issued token carries that instance,
   possibly narrowed by the AS.</t>
            </li>
            <li>
              <t>Approver authentication: The approval <bcp14>MUST</bcp14> authenticate the end
   user with a credential the agent did not present: a host-native
   credential or an equivalent platform mechanism.</t>
            </li>
          </ol>
        </section>
        <section anchor="mode-b3">
          <name>Mode B3: Silent Establishment</name>
          <t>Mode B3 serves renewal and continuation: the end user interacted once,
and sessions within the same boundary do not interrupt again. The
agent posts the token request of <xref target="session-establishment"/> with an
identity assertion it already holds or can obtain without user
interaction. The AS <bcp14>MAY</bcp14> issue the ID-JAG without any fresh end
user interaction, subject to three rules:</t>
          <ol spacing="normal" type="1"><li>
              <t>Freshness: The assertion <bcp14>MUST</bcp14> satisfy the AS's freshness policy
   for the schema instance being issued: an assertion acceptable at
   one assurance level does not silently authorize an instance that
   demands more.</t>
            </li>
            <li>
              <t>Containment: The requested schema instance <bcp14>MUST</bcp14> be no wider than
   the instance the end user previously approved for the same end
   user, agent, application, and schema type, preserving the
   monotonic narrowing principle of
   <xref target="I-D.liu-oauth-authorization-schemas"/>. A widening request <bcp14>MUST
   NOT</bcp14> be issued silently: the AS routes it to Mode B1 or Mode B2.</t>
            </li>
            <li>
              <t>Unchanged runtime enforcement: A silently established session is
   subject to exactly the same runtime enforcement and remediation
   semantics (<xref target="enforcement"/>) as any other: silence at issuance never
   implies silence at runtime.</t>
            </li>
          </ol>
          <t>What granularity of prior consent suffices for containment, and how
consent records age out, are open questions (<xref target="open-issues"/>).</t>
        </section>
      </section>
      <section anchor="session-attach">
        <name>One Session, All Surfaces, One Primary Path</name>
        <t>A delegated session is honored across all of the application's
surfaces without re-authentication of the end user, but the surfaces
are not peers. Structured surfaces are the primary path for executing
work; presentation surfaces are the secondary path for low-risk
operations.</t>
        <dl>
          <dt>Structured surfaces (primary path):</dt>
          <dd>
            <t>The agent performs application work through structured calls: direct
HTTP API operations, or tool calls through an MCP server the
application exposes (<xref target="capability-matching"/>). The agent presents
its token in the Authorization header, with a DPoP proof,
on every structured call. High-stakes operations, such as payment
and booking, belong on this path: they are authorized by schema
instances, verified at the resource server, and remediated through
<xref target="enforcement-remediation"/>.</t>
          </dd>
          <dt>Presentation surfaces (secondary path):</dt>
          <dd>
            <t>The web and native application surfaces are for operations the end
user is meant to see: browsing, inspecting results, and other
low-risk interactions.
Deployments <bcp14>SHOULD</bcp14> confine presentation-surface work to low-risk
operations.
An operation outside the approved boundary does not become
presentation-surface work by moving it to a
presentation surface, because the boundary is evaluated at the
resource server, not at the surface.</t>
          </dd>
        </dl>
        <t>When the agent does use a presentation surface on the end user's
behalf, the host container mediates the credentials:</t>
        <dl>
          <dt>Web surface:</dt>
          <dd>
            <t>The host container establishes a web session for the end user by
exchanging the agent's token with the application, at the
<tt>browser_session_endpoint</tt> of the <tt>web</tt> surface when the
advertisement declares one, over the front channel or a back-channel
defined by the deployment. The web
credential that results, such as a session cookie, is set by and
visible to the host container only. The agent <bcp14>MUST NOT</bcp14> be able to
read, copy, or replay web session credentials. Concretely, where a
cookie is used, it is stored in the host container's cookie store,
scoped to the application's origin, and never exposed to agent code.</t>
          </dd>
          <dt>Native application surface:</dt>
          <dd>
            <t>The host container passes the agent's token to the target
application over a local inter-process channel provided by the
operating system. The receiving application validates the token as
it would any other presented token. The channel <bcp14>MUST</bcp14> authenticate
the receiving application as the one associated with the token's
audience, using the operating system's application identity
mechanisms.</t>
          </dd>
        </dl>
        <t>The unification rule is one-directional: one delegated session covers
all surfaces. It does not create any new authority: an operation
performed on a presentation surface is still verified by the resource
server against the approved schema instance, exactly as it would be on
a structured surface.</t>
      </section>
    </section>
    <section anchor="binding">
      <name>Agent Identity and Token Binding</name>
      <section anchor="binding-client">
        <name>Agent Client Authentication</name>
        <t>The agent is an OAuth client, and the AS authenticates it at the token
endpoint like any other client. Deployments that operate a SPIFFE
trust domain that covers the agent <bcp14>MAY</bcp14> authenticate it with the SPIFFE
client authentication methods of
<xref target="I-D.ietf-oauth-spiffe-client-auth"/>, verified against that domain's
bundle, which the AS obtains out of band the way it obtains client
registration metadata. A trust domain covers an agent in either shape:
an agent running as a workload of the domain presents its own SVID, and
a mobile agent obtains a short-lived SVID from an authority of its
vendor's domain, typically the agent vendor's backend, after that
backend has authenticated the installation. How the domain establishes
the identity of the entities it covers is domain-internal: a vendor
backend <bcp14>MAY</bcp14> run device risk control before issuing or renewing an SVID,
and refusing renewal revokes the agent's client identity without
involving the AS. An agent no trust domain covers authenticates with
the client authentication of the underlying grant, as any other OAuth
client.</t>
        <t>Two boundaries keep the composition clean. SPIFFE client
authentication authenticates the agent as the client; the identity
assertion of the Mode B profiles authenticates the end user as the
subject: two different parties on the same request, evaluated
independently. And whatever authenticates the client, every issued
token remains DPoP-bound (<xref target="binding-dpop"/>): the spiffe client
authentication is used at the token endpoint, never as a token
binding.</t>
      </section>
      <section anchor="binding-dpop">
        <name>DPoP Binding</name>
        <t>Every token this protocol issues <bcp14>MUST</bcp14> be DPoP-bound <xref target="RFC9449"/>: the
AS records the agent's public key in the <tt>cnf</tt> claim, and the agent
presents a fresh proof with every request, ID-JAG and access token
alike, whichever mode issued it and whichever instance it carries. A
token intercepted on the network or extracted from a log is therefore
not replayable.</t>
      </section>
    </section>
    <section anchor="enforcement">
      <name>Runtime Enforcement and Remediation</name>
      <section anchor="enforcement-constraints">
        <name>Atomic Constraint Verification</name>
        <t>For every agent operation, the resource server answers the two-part
question of <xref target="I-D.liu-oauth-authorization-schemas"/>: is the
authorization bound to the token still active, and is this operation
within its bounds? Before that, the presented token is validated as
the JWT it is, per the rules of its issuer: signature, issuer,
audience, expiration, and the DPoP proof of <xref target="RFC9449"/>. Whether the
token is an ID-JAG or a conventional access token changes nothing in
what follows. The verification is deterministic constraint
evaluation against the approved schema instance, including the
cumulative constraints and task-in-work evaluation defined there. This
specification adds no new verification machinery at this layer.</t>
      </section>
      <section anchor="enforcement-remediation">
        <name>Remediation Through Re-Establishment</name>
        <t>When an operation violates the approved boundary, the resource server
refuses it with the
reverse-guided error response of Section 5 of
<xref target="I-D.liu-oauth-authorization-schemas"/>: the
<tt>insufficient_authorization</tt> error code with a <tt>schema_profile_uri</tt>
parameter dereferencing to a schema profile document, which describes
machine-readably the authorization the refused operation requires: the
schema type, the boundary constraints the required instance must
carry, and, when the refusal is confirmation-covered,
<tt>confirmation_required</tt> set. The HTTP status code follows the
conventions of <xref target="RFC6750"/>: 401 when no valid token is presented,
which is the session challenge of <xref target="session-challenge"/>, and 403 when
a valid token lacks the required authorization. When the deployment
chooses not to offer remediation, the resource server denies the
request with the plain error responses of the underlying
specifications, and this specification states nothing further. For the
session of <xref target="fig-session-token"/>, an agent that attempts a 210 USD
purchase under the 200 USD limit receives:</t>
        <figure anchor="fig-refusal">
          <name>Refusal with remediation guidance for an out-of-bound purchase</name>
          <sourcecode type="http"><![CDATA[
HTTP/1.1 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_authorization",
  schema_profile_uri="https://shop.example/profiles/purchase"
Content-Type: application/json

{
  "error": "insufficient_authorization",
  "error_description": "Additional authorization is required for
    this purchase."
}
]]></sourcecode>
        </figure>
        <t>Whether the refusal is confirmation-covered is decided at runtime by
the authorization server and expressed in the schema profile: when the
profile sets <tt>confirmation_required</tt>, the refusal is how the resource
server communicates the need, and the user interaction of the
establishment mode is where the end
user satisfies it. For an operation within the approved boundary that
the profile covers by confirmation, the required instance is the
approved one; for an
operation that exceeds the boundary, the profile constrains the
minimal widening.</t>
        <t>The remediation is re-establishment, following the adaptive behavior
of Section 5.6 of <xref target="I-D.liu-oauth-authorization-schemas"/>: the agent
fetches the profile document, constructs the required schema instance,
and requests it through an establishment mode of <xref target="session"/>, exactly
as it established the session. Four properties govern the composition:</t>
        <ol spacing="normal" type="1"><li>
            <t>Agent suspension: An agent that receives a remediable refusal
   <bcp14>MUST</bcp14> suspend the affected task: it <bcp14>MUST NOT</bcp14> retry the refused
   operation with the original token, and <bcp14>MUST NOT</bcp14> silently continue
   other work that depends on it. An agent that cannot or will not
   obtain the required instance reports the condition to the end user
   and terminates the task.</t>
          </li>
          <li>
            <t>Mode conformance: The mode the agent runs must match what the
   profile demands. A confirmation-covered refusal requires a mode
   whose user interaction collects the end user's confirmation: Mode
   A, Mode B1, or Mode B2. Mode B2 fits the asynchronous case
   exactly: the agent sends the token request with
   <tt>completion_mode=deferred</tt>
              <xref target="I-D.ietf-oauth-deferred-token-response"/>, the AS solicits the
   end user's approval out of band, and the agent polls or receives
   the callback per that specification while it continues other work.
   Mode B3 remains available only when the containment rule of
   <xref target="mode-b3"/> holds, which a widening never does.</t>
          </li>
          <li>
            <t>Narrow re-issuance: The agent <bcp14>SHOULD</bcp14> request the minimal instance
   the profile describes, scoped to the refused operation; the AS
   reviews the proposal through the pipeline of <xref target="as-processing"/> and
   <bcp14>SHOULD</bcp14> keep the issued token narrow, with a lifetime on the order
   of minutes. Deployments <bcp14>MAY</bcp14> make the remediation token single-use
   by rejecting a second presentation of its <tt>jti</tt>.</t>
          </li>
          <li>
            <t>Retry semantics: The agent retries exactly the refused operation
   with the remediation token and a fresh DPoP proof, over the same
   structured surface as the refused call, and then continues its
   chain with the original token: the remediation token widens
   nothing else. The resource server accepts the retry through the
   ordinary verification of <xref target="enforcement-constraints"/>: the retry
   succeeds because the presented instance is the required one, not
   because of any resume state.</t>
          </li>
        </ol>
        <t>A resource server that wants to declare the exact widening rather
than accept an agent-proposed instance <bcp14>MAY</bcp14> serve a request-specific
profile document: the <tt>schema_profile_uri</tt> of the refusal can
reference the refused request, so the profile it returns describes
the minimal instance that request requires.</t>
        <t>An agent that repeatedly triggers remediable refusals for the same
session is a signal, not an attack: the AS <bcp14>MAY</bcp14> decline further
remediation issuances for the session, in which case the agent <bcp14>MUST</bcp14>
treat the condition as a final refusal for the session.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="security-credentials">
        <name>Credential Isolation</name>
        <t>The protocol's credential story is one sentence: the agent holds
exactly one credential, the DPoP-bound token, and nothing
else. The end user's primary credentials, the web session
credentials, and the native inter-process channel credentials all live
in the host container. Implementations <bcp14>MUST NOT</bcp14> expose web session
cookies, platform credential stores, or inter-process channel handles
to agent code, and <bcp14>MUST NOT</bcp14> design host container APIs that would let
agent code enumerate or copy them. A deployment that cannot enforce
this isolation <bcp14>MUST NOT</bcp14> enable the web and native surfaces of
<xref target="session-attach"/>.</t>
      </section>
      <section anchor="security-modes">
        <name>Establishment Mode Equivalence</name>
        <t>The four modes differ in when the end user interacts and in what the
agent authenticates with, and they must not differ in what an
attacker gains:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Mode</th>
              <th align="left">End user interaction</th>
              <th align="left">Agent authentication at issuance</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">A (<xref target="mode-par"/>)</td>
              <td align="left">on the AS consent surface; may annotate the instance</td>
              <td align="left">pushed request and code redemption, with client authentication and PKCE</td>
            </tr>
            <tr>
              <td align="left">B1 (<xref target="session-establishment"/>)</td>
              <td align="left">host-native credential, before the token request</td>
              <td align="left">client authentication and DPoP at the token endpoint</td>
            </tr>
            <tr>
              <td align="left">B2 (<xref target="mode-b2"/>)</td>
              <td align="left">approval of a pending request, after the token request</td>
              <td align="left">client authentication and DPoP at the token endpoint</td>
            </tr>
            <tr>
              <td align="left">B3 (<xref target="mode-b3"/>)</td>
              <td align="left">none</td>
              <td align="left">client authentication and DPoP at the token endpoint</td>
            </tr>
          </tbody>
        </table>
        <t>Three invariants hold across all modes. The end user's primary
credentials are presented to the AS or to the host container, never to
the agent. The issued token is DPoP-bound (<xref target="binding-dpop"/>) in every
mode, so a stolen token is equally non-replayable regardless of how it
was obtained. And the establishment mode is not an
authorization input: the resource server <bcp14>MUST NOT</bcp14> accept or reject
operations based on any inference about how the token was issued,
because the approved schema instance, not the issuance path, is the
authorization.</t>
        <t>Each mode carries its own residual risk. In Mode A the granted
instance may differ from the proposed one, and an agent that ignores
the granted <tt>authorization_details</tt> operates outside what the end
user approved. In Mode B2 a pending authorization is a standing target
for approval spoofing, bounded by the binding rules of <xref target="mode-b2"/>.
In Mode B3 the containment rule is the only barrier between renewal
and silent widening, which is why a widening request <bcp14>MUST</bcp14> be rerouted
to an interactive mode.</t>
      </section>
      <section anchor="security-phishing">
        <name>Remediation Guidance Authenticity</name>
        <t>The remediation of <xref target="enforcement-remediation"/> routes the end user to
the consent or approval surface of an establishment mode, rendered by
the AS or by the host container, never by the agent. The trust in that
surface is the trust the underlying specifications already define: the
AS's origin, its TLS certificate, and its authentication of the end
user. The one new pointer this protocol introduces is the schema
profile document of the refusal, which an attacker able to serve a
forged copy could use to steer the agent toward a wider instance than
the operation needs, or toward an authorization server the application
did not list. Agents <bcp14>MUST</bcp14> fetch the profile over TLS, <bcp14>MUST</bcp14> cross-check
its <tt>auth_server</tt> value against the <tt>authorization_servers</tt> of the
capability advertisement, and <bcp14>MUST</bcp14> reject mismatches; the narrow
re-issuance of <xref target="enforcement-remediation"/> bounds what a successfully
misled agent can obtain. Residual risk remains: an end user who
confirms without reading confirms what is on the surface. Deployments
<bcp14>SHOULD</bcp14> design consent surfaces that make the material facts of the
refused operation prominent.</t>
      </section>
      <section anchor="security-fatigue">
        <name>Confirmation Fatigue</name>
        <t>Confirmations that are demanded frequently train the end user to
confirm mechanically. Authorization servers <bcp14>SHOULD</bcp14> calibrate which
refusals they mark <tt>confirmation_required</tt> so that confirmations are
rare enough to remain meaningful, and <bcp14>SHOULD NOT</bcp14> demand confirmation
for operations the deployment considers routine. The AS-side rate
consideration of
<xref target="enforcement-remediation"/> is the complementary control: unlimited
remediation for one session is not an entitlement.</t>
      </section>
      <section anchor="security-tokens">
        <name>Token Lifetime and Revocation</name>
        <t>The issued tokens are short-lived JWTs; their exposure window is bounded
by their lifetime, and DPoP binding makes interception non-replayable.
Remediation tokens issued for a refused operation carry the widened or
re-confirmed boundary, so their lifetime <bcp14>SHOULD</bcp14> be minutes and they
<bcp14>SHOULD</bcp14> be single-operation: an implementation <bcp14>SHOULD</bcp14> reject a second
use of the same remediation token <tt>jti</tt>. All tokens of a session are
revoked with the session: when the delegated session ends, by
withdrawal, termination, or expiry, the AS <bcp14>MUST</bcp14> revoke the remediation
tokens issued under it, and the resource server treats further
remediation attempts as final refusals.</t>
      </section>
      <section anchor="security-metadata">
        <name>Advertisement Integrity</name>
        <t>The capability document steers agent planning and defines the open
set of flows and operations. An attacker able to serve a forged
document can steer agents toward attacker-chosen surfaces or away
from flows the application actually opens. The web-surface
document inherits HTTPS origin protection: the <tt>agent-capabilities</tt>
well-known of <xref target="attach-web"/> is fetched over authenticated TLS under
the origin it is authentic for, and an agent <bcp14>SHOULD</bcp14> verify that the
origin serving the document matches the document's <tt>resource</tt>. For
the packaged copy of native applications, integrity rests on the
application package's own signature and the platform's
associated-domain verification; a device with a compromised package
verification mechanism compromises the packaged copy, which is why
<xref target="attach-native"/> requires the origin-served copy to win every
conflict.</t>
        <t>The well-known location adds a deployment risk that a purpose-built
endpoint does not: administrators are frequently unaware of the
<tt>.well-known</tt> path, as <xref target="RFC8615"/> observes, and an attacker who gains
write access to an origin's static content can place or replace the
document there without any visible change to the application, steering
every agent that discovers the origin afterwards. Deployments <bcp14>SHOULD</bcp14>
treat the capability document as part of the application's release
surface, under the change control that governs the code serving it.</t>
        <t>The <tt>service</tt> members are display data, not identity claims. An agent
<bcp14>MUST NOT</bcp14> treat a display name, logo, or policy URI as proof of which
application it is interacting with; the binding is the <tt>resource</tt>
origin and the authenticated channel the document arrived through.
Consent and confirmation surfaces <bcp14>SHOULD</bcp14> pair the display name with
the origin, so that the end user approves an origin, not a string an
attacker chose. Phishing by display name is otherwise
indistinguishable from a legitimate advertisement.</t>
      </section>
      <section anchor="security-launch">
        <name>Native Surface Launch</name>
        <t>The <tt>app_link</tt> of a <tt>native_app</tt> platform entry is a launch address,
and on today's mobile platforms most such addresses are custom scheme
URIs, which carry no verification: any installed application can
register any scheme, so a malicious application can attempt to
intercept the launch and pose as the target. The protocol bounds this
in three ways. On Android, a host container <bcp14>SHOULD</bcp14> launch by explicit
intent targeting the declared <tt>package</tt>, which no scheme registration
can intercept (<xref target="attach-native"/>). Session credentials are never
carried in the link URI: they travel over the host platform's secure
channel (<xref target="security-credentials"/>). And where a handoff must travel
through a URL, it carries a short-lived, single-use reference
redeemable at the application, so that an interception captures, at
most, an expiring reference bound to one handoff, never a reusable
session credential. When the application is not installed, the
fallback is the web surface of the same application, not a download
prompt an attacker can fake.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy Considerations</name>
        <t>The capability advertisement is public by design and <bcp14>SHOULD NOT</bcp14>
contain personal data. The <tt>authorization_details</tt> of the issued token
travel with the token and are visible to anyone who can decode it, as
in <xref target="RFC9396"/>; deployments <bcp14>SHOULD</bcp14> follow the instance-content
privacy guidance of <xref target="I-D.liu-oauth-authorization-schemas"/>. The
error descriptions of the remediation flow are shown to the end user
and logged by intermediaries; they <bcp14>SHOULD</bcp14> state the triggered
condition without unrelated personal data. Schema profile documents
are public descriptions of required authorization and <bcp14>SHOULD NOT</bcp14>
contain personal data.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-wellknown">
        <name>Well-Known URI Registration</name>
        <t>This specification requests registration of the 'agent-capabilities'
well-known URI in the "Well-Known URIs" registry established by
<xref target="RFC8615"/>:</t>
        <dl>
          <dt>URI suffix:</dt>
          <dd>
            <t>agent-capabilities</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="attach-web"/> of this document</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>permanent</t>
          </dd>
          <dt>Related information:</dt>
          <dd>
            <t>The capability document advertises the scenario flows an application
opens to agents, the surfaces a session attaches over, and the
authorization pointers for each flow. Its subject is the application,
not an agent; the 'agent-card.json' well-known registered for <xref target="A2A"/>
describes an agent. The two documents are separate and <bcp14>MAY</bcp14> both be
served under one origin (<xref target="attach-related"/>). Security considerations
for the location are in <xref target="security-metadata"/> of this document.</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-metadata">
        <name>OAuth Protected Resource Metadata Registration</name>
        <t>This specification requests registration of the following attribute in
the "OAuth Protected Resource Metadata" registry established by
<xref target="RFC9728"/>:</t>
        <dl>
          <dt>Metadata Name:</dt>
          <dd>
            <t>agent_capabilities_uri</t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>HTTPS URL of the application's capability document, the standalone
JSON document defined by this specification that advertises the
application's scenaric flows, invocation and presentation surfaces,
and authorization pointers to agents. Defined
in <xref target="attach-web"/> of this document.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document:</dt>
          <dd>
            <t><xref target="attach-web"/> of this document</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-capability">
        <name>Agent Capability Document Fields Registry</name>
        <t>The capability document is a standalone JSON document defined by this
specification. To allow controlled extension by future
specifications, this specification requests the creation of a registry
named "Agent Capability Document Fields" with a registration policy of
Specification Required <xref target="RFC8126"/>. A registration carries a field
name, a description, a Change Controller, and a Specification
Document. The initial registrations are:</t>
        <table anchor="tbl-iana-fields">
          <name>Initial registrations, Agent Capability Document Fields</name>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>service</tt></td>
              <td align="left">Display data describing the application</td>
            </tr>
            <tr>
              <td align="left">
                <tt>resource</tt></td>
              <td align="left">HTTPS origin of the application</td>
            </tr>
            <tr>
              <td align="left">
                <tt>authorization_servers</tt></td>
              <td align="left">Authorization server issuer URLs</td>
            </tr>
            <tr>
              <td align="left">
                <tt>establishment_modes_supported</tt></td>
              <td align="left">Establishment modes accepted for the resource</td>
            </tr>
            <tr>
              <td align="left">
                <tt>authorization_schemas_supported</tt></td>
              <td align="left">Schemas accepted in <tt>authorization_details</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>scenaric_flows_supported</tt></td>
              <td align="left">Composite flows opened to agents</td>
            </tr>
            <tr>
              <td align="left">
                <tt>invocation_surfaces_supported</tt></td>
              <td align="left">Surfaces an agent can act through</td>
            </tr>
          </tbody>
        </table>
        <t>Every initial registration has Change Controller IETF and
Specification Document <xref target="capability-metadata"/> of this document.</t>
      </section>
      <section anchor="iana-profiles">
        <name>Agent Establishment Mode Identifiers</name>
        <t>The <tt>establishment_modes_supported</tt> field of the capability document
names the establishment modes an application opens to agents, and the
<tt>establishment_modes</tt> member of a scenaric flow narrows them. This
specification requests the creation of a registry named "Agent
Establishment Mode Identifiers" with a registration policy of
Specification Required <xref target="RFC8126"/>. A registration carries a mode
identifier, a description, a Change Controller, and a Specification
Document. The initial registrations are:</t>
        <table anchor="tbl-iana-profiles">
          <name>Initial registrations, Agent Establishment Mode Identifiers</name>
          <thead>
            <tr>
              <th align="left">Mode Identifier</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>par</tt></td>
              <td align="left">Front-channel establishment with Pushed Authorization Requests, in which the end user reviews and may annotate the proposed schema instance</td>
            </tr>
            <tr>
              <td align="left">
                <tt>id-jag</tt></td>
              <td align="left">Back-channel establishment with host-mediated user interaction preceding the token request</td>
            </tr>
            <tr>
              <td align="left">
                <tt>id-jag-pending</tt></td>
              <td align="left">Back-channel establishment in which the authorization server holds the token request pending and solicits the end user's approval</td>
            </tr>
            <tr>
              <td align="left">
                <tt>id-jag-silent</tt></td>
              <td align="left">Back-channel establishment without fresh user interaction, subject to assertion freshness and prior-consent containment</td>
            </tr>
          </tbody>
        </table>
        <t>Every initial registration has Change Controller IETF. The
Specification Document is <xref target="mode-par"/>, <xref target="mode-b2"/>, and <xref target="mode-b3"/>
of this document for <tt>par</tt>, <tt>id-jag-pending</tt>, and <tt>id-jag-silent</tt>; for
<tt>id-jag</tt> it is
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, which defines the
grant, profiled in <xref target="session-establishment"/> of this document.</t>
        <t>These identifiers name establishment modes of this specification's
discovery layer. They are not OAuth parameters, and this
specification requests no registration in the "OAuth Parameters"
registry <xref target="RFC6749"/>. Each mode runs over an existing OAuth grant:
the grant type of <tt>par</tt> is <tt>authorization_code</tt>, and the grant type
of <tt>id-jag</tt>, <tt>id-jag-pending</tt>, and <tt>id-jag-silent</tt> is
<tt>urn:ietf:params:oauth:grant-type:token-exchange</tt>. Authorization
server support for those grants is advertised in the authorization
server's own metadata, in <tt>grant_types_supported</tt> <xref target="RFC8414"/> and,
for the ID-JAG modes, in <tt>authorization_grant_profiles_supported</tt>, in
which <tt>urn:ietf:params:oauth:grant-profile:id-jag</tt> is registered by
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>.</t>
      </section>
      <section anchor="iana-surfaces">
        <name>Agent Surface Types Registry</name>
        <t>This specification requests creation of a registry for the surface
types used in <tt>invocation_surfaces_supported</tt>, named "Agent Surface
Types", with a registration policy of Specification Required
<xref target="RFC8126"/>. A registration carries a type name, a description, a
Change Controller, and a Specification Document. The initial
registrations are:</t>
        <table anchor="tbl-iana-surfaces">
          <name>Initial registrations, Agent Surface Types</name>
          <thead>
            <tr>
              <th align="left">Type Name</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>http_api</tt></td>
              <td align="left">A direct HTTP API of the application, addressed by its base URL</td>
            </tr>
            <tr>
              <td align="left">
                <tt>mcp</tt></td>
              <td align="left">An MCP server of the application, addressed by its URL</td>
            </tr>
            <tr>
              <td align="left">
                <tt>web</tt></td>
              <td align="left">The web presentation surface, addressed by its <tt>browser_session_endpoint</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>native_app</tt></td>
              <td align="left">A packaged native application associated with the application's origin, addressed by its <tt>associated_origin</tt></td>
            </tr>
          </tbody>
        </table>
        <t>Every initial registration has Change Controller IETF and
Specification Document <xref target="capability-metadata"/> of this document.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9728">
          <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="RFC9126">
          <front>
            <title>OAuth 2.0 Pushed Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="D. Tonge" initials="D." surname="Tonge"/>
            <author fullname="F. Skokan" initials="F." surname="Skokan"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document defines the pushed authorization request (PAR) endpoint, which allows clients to push the payload of an OAuth 2.0 authorization request to the authorization server via a direct request and provides them with a request URI that is used as reference to the data in a subsequent call to the authorization endpoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9126"/>
          <seriesInfo name="DOI" value="10.17487/RFC9126"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-assertion-authz-grant">
          <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="I-D.ietf-oauth-deferred-token-response">
          <front>
            <title>Deferred Token Response</title>
            <author fullname="Guilherme de Oliveira Niero" initials="G." surname="de Oliveira Niero">
              <organization>Itaú</organization>
            </author>
            <author fullname="Dapeng Liu" initials="D." surname="Liu">
              <organization>Alibaba Group</organization>
            </author>
            <date day="31" month="October" year="2026"/>
            <abstract>
              <t>   This document defines the Deferred Token Response (DTR) extension for
   OAuth 2.1.  In existing OAuth grants, the token endpoint either
   issues an access token or returns an error.  DTR establishes a
   generic asynchronous token request mechanism that any OAuth grant may
   plug into.  In DTR-aware flows, the authorization server returns a
   deferral_code and a polling interval, indicating that the final token
   response will be available at a later time.  The client retrieves the
   eventual response by polling the token endpoint, or by receiving a
   callback from the authorization server when one is configured.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-deferred-token-response-01"/>
        </reference>
        <reference anchor="RFC9449">
          <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="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="I-D.liu-oauth-authorization-schemas">
          <front>
            <title>Domain-Specific Authorization Schemas for OAuth 2.0</title>
            <author fullname="Dapeng Liu" initials="D." surname="Liu">
              <organization>Alibaba</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Independent</organization>
            </author>
            <author fullname="Yaron Zehavi" initials="Y." surname="Zehavi">
              <organization>Raiffeisen Bank International</organization>
            </author>
            <author fullname="Suresh Krishnan" initials="S." surname="Krishnan">
              <organization>Cisco</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This specification defines a framework for constructing fine-grained
   authorization requests in OAuth 2.0 using domain-specific
   authorization schemas: structured definitions of behavioral
   boundaries for a particular application domain.  Schema instances are
   carried in authorization requests via authorization_details; upon
   approval, the instance governs the authorization associated with the
   issued access token.  Approved instances have a lifecycle: they
   become active upon approval and end, with defined protocol
   consequences for token issuance, refresh, and resource access.
   Resource servers verify client behaviors against the approved schema
   instance at runtime through deterministic constraint evaluation.
   Authorization servers review requested schema instances against
   server-side authorization policies.  This specification also defines
   a negotiation pattern, reverse-guided authorization, allowing
   resource servers to reference a schema profile in error responses,
   guiding clients toward the authorization required for their next
   action.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-oauth-authorization-schemas-01"/>
        </reference>
        <reference anchor="RFC6749">
          <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="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="RFC6750">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="RFC8414">
          <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="RFC8693">
          <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="RFC7636">
          <front>
            <title>Proof Key for Code Exchange by OAuth Public Clients</title>
            <author fullname="N. Sakimura" initials="N." role="editor" surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Agarwal" initials="N." surname="Agarwal"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7636"/>
          <seriesInfo name="DOI" value="10.17487/RFC7636"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-spiffe-client-auth">
          <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="15" month="June" 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 X.509-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-02"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="MCP" target="https://modelcontextprotocol.io/specification/2025-06-18">
          <front>
            <title>Model Context Protocol Specification, 2025-06-18 revision</title>
            <author>
              <organization>Model Context Protocol Project</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
          <front>
            <title>Agent2Agent (A2A) Protocol Specification</title>
            <author>
              <organization>A2A Protocol Working Group</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="WEBAUTHN" target="https://www.w3.org/TR/webauthn-3/">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials, Level 3</title>
            <author>
              <organization>World Wide Web Consortium</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="APPLINKS" target="https://developer.android.com/training/app-links">
          <front>
            <title>Android App Links</title>
            <author>
              <organization>Google</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="UNIVLINKS" target="https://developer.apple.com/documentation/xcode/supporting-associated-domains">
          <front>
            <title>Supporting associated domains</title>
            <author>
              <organization>Apple Inc.</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC9727">
          <front>
            <title>api-catalog: A Well-Known URI and Link Relation to Help Discovery of APIs</title>
            <author fullname="K. Smith" initials="K." surname="Smith"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>This document defines the "api-catalog" well-known URI and link relation. It is intended to facilitate automated discovery and usage of published Application Programming Interfaces (APIs). A request to the api-catalog resource will return a document providing information about, and links to, the Publisher's APIs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9727"/>
          <seriesInfo name="DOI" value="10.17487/RFC9727"/>
        </reference>
        <reference anchor="I-D.ietf-webbotauth-httpsig-protocol">
          <front>
            <title>HTTP Message Signatures for automated traffic</title>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Sandor Major" initials="S." surname="Major">
              <organization>Google</organization>
            </author>
            <date day="29" month="October" year="2026"/>
            <abstract>
              <t>   This document describes a protocol for identifying automated traffic
   using [HTTP-MESSAGE-SIGNATURES].  The goal is to allow automated HTTP
   clients to cryptographically sign outbound requests, allowing HTTP
   servers to verify their identity with confidence.

   It defines the Signature-Agent header field for in-band key
   discovery, a key directory format based on JWKS, and a well-known URI
   at which that directory is served.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-webbotauth-httpsig-protocol-01"/>
        </reference>
        <reference anchor="RFC9421">
          <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>
      </references>
    </references>
    <?line 1716?>

<section anchor="use-case">
      <name>Complete End-to-End Use Case: Booking a Flight</name>
      <t><em>This appendix is non-normative.</em></t>
      <t>The end user says: "book me the cheapest flight to Shanghai tomorrow,
but nothing above 5000 USD without asking me." The agent runs on the
end user's phone, inside the operating system's host container.</t>
      <section anchor="use-case-discovery">
        <name>Discovery and Matching</name>
        <t>The agent has no prior relationship with the airline application. It
fetches <tt>https://airline.example/.well-known/agent-capabilities</tt> and
reads the capability document: the application supports the
<tt>travel_booking</tt> schema and composes it into a <tt>find-and-book</tt> scenaric
flow.</t>
        <t>The agent matches the instruction to the <tt>find-and-book</tt> flow and
plans the session request: a <tt>travel_booking</tt> instance whose boundary
sets <tt>total_amount_limit</tt> to 200 USD for the search-and-book work,
with the end user's 5000 USD ceiling recorded as the outer bound the
agent will seek confirmation for, at most once, if the cheapest
acceptable flight exceeds 200 USD.</t>
      </section>
      <section anchor="use-case-session">
        <name>Session Establishment</name>
        <t>Holding the capability document, the agent proceeds directly to
establishment, without any call being refused first. It drives session
establishment under
Mode B1 (<xref target="session-establishment"/>): the host container renders the AS
interaction surface, the end user authenticates with the phone's
platform biometric, sees the proposed
booking boundary (search, hold, and book, total limit 200 USD this
session), and confirms. The agent authenticates as a client at the
token request. The AS issues the
DPoP-bound ID-JAG.</t>
      </section>
      <section anchor="use-case-within">
        <name>Within Bounds</name>
        <t>The agent searches flights and holds the cheapest one, 480 USD,
presenting the ID-JAG with a DPoP proof on every call. The
resource server verifies each operation against the approved instance;
all are within bounds; no interaction is triggered.</t>
      </section>
      <section anchor="use-case-trigger">
        <name>The Refusal</name>
        <t>Prices move: the held fare expires, and the cheapest available flight
within the end user's constraints is 4980 USD. The agent attempts the
booking. The operation exceeds the approved 200 USD boundary, so the
resource server
refuses it with the reverse-guided error of
<xref target="enforcement-remediation"/>: 403 with <tt>insufficient_authorization</tt> and
a <tt>schema_profile_uri</tt> referencing a profile that describes the
authorization required for the booking: the <tt>travel_booking</tt> type,
a <tt>boundary.total_amount_limit</tt> covering 4980 USD, and
<tt>boundary.operations</tt> covering <tt>travel.book</tt>, with
<tt>confirmation_required</tt> set, because the booking widens beyond the
approved limit.</t>
        <t>The agent suspends the affected task. It does not retry with the
session token, and it does not silently substitute a different flight.
It fetches the profile, constructs the required instance, and requests
it through Mode B1: the host container opens the AS interaction
surface, the end user authenticates with the phone's platform
biometric and sees the flight, the fare, and the triggered condition,
and confirms. The AS issues a remediation token narrow to the
confirmed booking, carrying the required widening:</t>
        <figure anchor="fig-remediation-token">
          <name>Remediation token issued after end user confirmation</name>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://as.airline.example",
  "sub": "user_712",
  "aud": "https://airline.example",
  "client_id": "https://agent.example/travel",
  "exp": 1776327260,
  "iat": 1776326940,
  "jti": "urn:uuid:6bb9c2a4-6f0e-4c1d-9b3f-2e7a8c5d4e1f",
  "authorization_details": [
    {
      "type": "travel_booking",
      "boundary": {
        "total_amount_limit": { "value": 4980, "currency": "USD" },
        "operations": ["travel.book"]
      }
    }
  ],
  "cnf": {
    "jkt": "NlSoUpSdoF0X-Br6xdK0UKbnj06kAs3oYSh9wg0efjM"
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="use-case-resume">
        <name>The Retry</name>
        <t>The agent retries exactly the refused booking with the remediation
token and a fresh DPoP proof:</t>
        <figure anchor="fig-retry">
          <name>Retry of the refused booking with the remediation token</name>
          <sourcecode type="http"><![CDATA[
POST /api/bookings HTTP/1.1
Host: airline.example
Authorization: Bearer eyJ...
DPoP: eyJ...
Content-Type: application/json

{
  "flight_id": "MU5100-20261016",
  "amount": { "value": 4980, "currency": "USD" }
}
]]></sourcecode>
        </figure>
        <t>The resource server verifies the retried request against the presented
instance as it verifies every request, and executes the booking: the
retry succeeds because the instance is the required one, not because
of any resume state. The agent's chain continues with the confirmed
booking as its result, and it continues with the original ID-JAG for
everything else, such as retrieving the itinerary.</t>
        <t>The payment never moves to a presentation surface: the confirmation
happens on the consent surface of the establishment mode, and the
booking executes on the structured path, as an agent call carrying the
remediation token. Presentation surfaces in this deployment carry the
low-risk parts of the session, such as the end user browsing the
itinerary, and nothing else.</t>
      </section>
      <section anchor="use-case-audit">
        <name>The Audit Trail</name>
        <t>Afterwards, the record of what happened is reconstructable from
protocol objects: the capability advertisement declared the open
operations before anything ran; the ID-JAG's <tt>authorization_details</tt>
record the approved boundary; the refusal's schema profile document
and the remediation token's instance record exactly what was refused
and what the end user then approved; and the DPoP proofs tie every
call to the agent's key. Nothing in this trail depends on
the agent's goodwill.</t>
      </section>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t><em>This appendix is non-normative; it records questions on which
working group guidance is sought.</em></t>
      <section numbered="false" anchor="stale-packaged-advertisements">
        <name>Stale Packaged Advertisements</name>
        <t>For native applications, <xref target="attach-native"/> resolves conflicts between
the packaged and origin-served advertisements in favor of the latter,
checked before the first remote operation of a session. Whether
finer-grained freshness signals, such as advertisement version
numbers carried in session responses, are warranted is an open
question.</t>
      </section>
      <section numbered="false" anchor="silent-establishment-consent-records">
        <name>Silent Establishment Consent Records</name>
        <t>Mode B3 issues tokens against a prior consent record whose granularity
is not yet fixed: whether containment is evaluated per schema type,
per flow, or per exact instance; how consent records expire relative
to assertion freshness; and whether the advertisement can signal
which modes an authorization server will service silently for a given
schema.</t>
      </section>
      <section numbered="false" anchor="mode-a-annotation-scope">
        <name>Mode A Annotation Scope</name>
        <t>Which fields of a schema instance the Mode A consent surface exposes
for end user editing, how annotations are presented so that the end
user understands the boundary being authored, and the exact round
trip of the granted instance to the agent, need profiling work.</t>
      </section>
      <section numbered="false" anchor="mode-b2-approval-solicitation">
        <name>Mode B2 Approval Solicitation</name>
        <t>The completion carriage of Mode B2 is defined by
<xref target="I-D.ietf-oauth-deferred-token-response"/>. Which channels an
authorization server uses to reach the end user for a pending
approval, and whether the capability advertisement should be able to
declare which channels an application's authorization servers will
use, remain open.</t>
      </section>
      <section numbered="false" anchor="web-session-exchange">
        <name>Web Session Exchange</name>
        <t>The <tt>browser_session_endpoint</tt> of the <tt>web</tt> surface
(<xref target="capability-metadata"/>) is where the host container exchanges the
agent's token for a web session credential (<xref target="session-attach"/>). The
request and response format of that exchange is deployment-defined
today. Whether this specification should fix it, for example as a
POST of the agent's token answered with a session cookie scoped to
the application's origin, and how the exchange proves the host
container's mediation to the application, are open questions.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author thanks Hongru Zhu, Hui Xue, and Suresh Krishnan for
enlightening discussions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA829/XbbVpYv+P95ClxlrbLdi6Rt2XES6ub2yI5T5UrieCy7
3TW9aokgCUmIKYANkJbVjvtZ5lnmyWZ/n30AkJJTfXum/qjIEnBwPvbZ3/u3
x+NxWNaLKr8sptmyyc8241W5Hdf5dnMxbhdFlTdlPV6W7aL+UDTXY/z9f4wf
PAibcrOCVw5O9JmneVsss5Oi+VAuiuwHfSPLq2V2DG/VTfkf+aasq+xVU2/q
Rb3Kyio7Pi+qTfa8+lA2dXUJP7cHIZ/Pm+LDNNOh9w0WFvmmOK+b62nWbpah
3c4vy7aFP2yu1zC9F8/f/BjKdTPNNs223Rw+ePDdg8OwyqvzaVZU4X1xfVU3
y2kYZ7/isPDf4xc8pxZ+7i0Gf5euN53MmNZWLDbwl9dFW28bePuXYpMv800O
f33xw/ivx3+GH354Vb8KIaeX4eshg71op9kPk+zncgv/4vP4IV8X1bn8qm5g
zsercp7Pc/hncZmXq2l2mX+crJbr/yPnP4zLajFZ1JchtBvYq9N8VVcw0HXR
hvYybzan/76F+cGXzvJVW4R1OYWh4DD4kSxr62bTFGet/fv6Mv4zlNVZ3VzC
Uj8U+N4vz17hf2CAvDkvNtPsYrNZt9P79y/rZbFawBkUHzdrOexJWd9v18Wi
PCsXtFn3Dx8cfj1+8GT88FseRAjqF3w5e8ZvR1o58e+OsvhyBrRS4okf0DC6
p/jzmDdtx4jww29wVPQknE+hm5Jlx4fHwwvLD/OxLQjGvr+C99pNZ2HJcoiY
DpnM78LA93Ysaefs4Z34yru6eV8CSfy5qbfrgZm/e/70+O2bv7wcnv7V1dXk
6hFN/M3r+1fFHD9XjR+lM35XzImsYcYyN5gE3NRXLzI4/ixfLAq4YTCJV9v5
qlxkPxXX2bOmWOLzMI1R9nPxAfb70c4VwSJWy+xduSwy/BYcDJJdub0cOopX
r35+8fKnk+EFLfFL9bpoJkDsTV0ukfbvb5q8rGCC9/P1GrhZ9b716zvmJ7Pj
9Rpulv5xYJp/ruvzVTEwp7cvX/zL7Sa1Xq8KmhKw2C1yNyaQjwugyPvtdr3G
dVfn47xt60UJH1mOlzVc7CqZ8Yk9mMUHM//gENngt7MXwA56Kwjj8TjL5y3s
E5B/AI6XE8eDo91kwJ/nxUW+OsvqM2CRy2zbFg3+qalb+A+MKkTRZkAi/GZ2
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
BP5fEO+rTjtdAQA=

-->

</rfc>
