<?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.40 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chen-oauth-agent-authz-use-cases-03" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Authorization use cases">Agent Authorization use cases and gap analysis</title>
    <seriesInfo name="Internet-Draft" value="draft-chen-oauth-agent-authz-use-cases-03"/>
    <author initials="M." surname="Chen" fullname="Meiling Chen">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>BeiJing</city>
          <country>China</country>
        </postal>
        <email>chenmeiling@chinamobile.com</email>
      </address>
    </author>
    <author initials="J." surname="Chen" fullname="Jia Chen">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>BeiJing</city>
          <country>China</country>
        </postal>
        <email>chenjia@chinamobile.com</email>
      </address>
    </author>
    <author initials="J." surname="Yao" fullname="Jiankang Yao">
      <organization>CNNIC</organization>
      <address>
        <postal>
          <city>BeiJing</city>
          <country>China</country>
        </postal>
        <email>yaojk@cnnic.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Jiang" fullname="Yuning Jiang">
      <organization/>
      <address>
        <email>jiangyuning2@h-partners.com</email>
      </address>
    </author>
    <author initials="C. P." surname="Liu" fullname="Chunchi Peter Liu">
      <organization>Huawei</organization>
      <address>
        <email>liuchunchi@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="25"/>
    <area>Security</area>
    <workgroup>OAuth Working Group</workgroup>
    <keyword>OAuth</keyword>
    <keyword>Agent</keyword>
    <keyword>AI</keyword>
    <keyword>Artificial Intelligence</keyword>
    <keyword>Authorization</keyword>
    <keyword>Delegation</keyword>
    <keyword>Revocation</keyword>
    <keyword>Gap Analysis</keyword>
    <abstract>
      <?line 61?>

<t>This document provides a systematic analysis of these emerging agent-based use cases. It categorizes them into distinct scenarios, details their specific authorization requirements, and performs a comprehensive gap analysis against the existing OAuth 2.0 framework<xref target="RFC6749"/> and its common extensions. The analysis identifies fundamental gaps and requirements, providing a foundation for future work on new extensions within the OAuth Working Group toward creating a more secure and interoperable ecosystem for agent-based systems.</t>
    </abstract>
  </front>
  <middle>
    <?line 65?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The OAuth 2.0 Authorization Framework <xref target="RFC6749"/> has become the factual standard for delegated authorization on the internet. Its success is rooted in a well-defined model where a resource owner grants a third-party client limited access to their resources without sharing their credentials. This model primarily assumes a user-present, interactive flow where a static set of permissions (scopes) is approved upfront.</t>
      <t>However, the landscape is rapidly evolving with the advent of sophisticated AI-driven "Agents". These are not simple clients but autonomous or semi-autonomous entities that perform complex, multi-step tasks on behalf of a user or another system. Their operational characteristics include:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Delegated Autonomy:</strong> Agents act with authority delegated from a principal (user or system) over extended periods.</t>
        </li>
        <li>
          <t><strong>Complex Task Decomposition:</strong> An agent might take a high-level instruction (e.g., "plan my business trip") and decompose it into numerous discrete actions involving multiple resource servers.</t>
        </li>
        <li>
          <t><strong>Asynchronous &amp; Long-Running Operations:</strong> Tasks may run for hours, days, or indefinitely, often without direct, real-time supervision from the principal.</t>
        </li>
        <li>
          <t><strong>Dynamic &amp; Emergent Needs:</strong> The exact permissions required may not be known at the start of a task but emerge as the agent plans and executes its steps.</t>
        </li>
        <li>
          <t><strong>Composition &amp; Chaining:</strong> Agents may delegate sub-tasks to other agents, forming a chain of authority.</t>
        </li>
        <li>
          <t><strong>Cross-Domain</strong>: Chained or composited task orchestration often require calling of resources in different administrative domains.</t>
        </li>
      </ul>
      <t>This document does not propose new solutions or protocols. Instead, its purpose is to:
*   **Define the key actors and concepts in agent-based authorization scenarios.
*   **Describe a set of core use cases that exemplify the new challenges.
*   **Conduct requirement and gap analysis for each use case, identifying where the current OAuth 2.0 framework and its extensions fall short.
*   **Summarize the key security considerations.</t>
      <t>By clearly articulating these gaps, this document aims to provide a shared understanding of the problem space and stimulate focused work on developing interoperable solutions for the next generation of delegated authorization.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>In addition to the terms defined in <xref target="RFC6749"/>, this document uses the following terms:</t>
      <dl>
        <dt><strong>User (Resource Owner):</strong></dt>
        <dd>
          <t>An entity capable of granting access to a protected resource. In the context of this document, the user is the person who delegates authority to an agent. Conforms to the definition of "Resource Owner" in <xref target="RFC6749"/>.</t>
        </dd>
        <dt><strong>Authorization Server (AS):</strong></dt>
        <dd>
          <t>The server that authenticates the User and issues access tokens to the Agent after obtaining the User's authorization. Conforms to the definition in <xref target="RFC6749"/>.</t>
        </dd>
        <dt><strong>Resource Server (RS):</strong></dt>
        <dd>
          <t>The server hosting the protected resources, capable of accepting and responding to protected resource requests using access tokens. Conforms to the definition in <xref target="RFC6749"/>.</t>
        </dd>
        <dt><strong>Data Subject:</strong></dt>
        <dd>
          <t>A natural person whom accessed data describes, and who is neither the Resource Owner nor a party to the authorization exchange.</t>
        </dd>
        <dt><strong>Delegation Chain:</strong></dt>
        <dd>
          <t>A sequence of delegation events, where one actor grants a subset of its authority to another, for example: User -&gt; Agent A -&gt; Agent B.</t>
        </dd>
        <dt><strong>Intent:</strong></dt>
        <dd>
          <t>A high-level description of a goal or task that the user wants the agent to accomplish (e.g., "book me a flight to Hawaii for next week").</t>
        </dd>
        <dt><strong>Tool:</strong></dt>
        <dd>
          <t>A specific API or function that an agent can call to perform an action (e.g., a <tt>search_flights</tt> API, a <tt>send_email</tt> function).</t>
        </dd>
        <dt><strong>Grant Layer Authority:</strong></dt>
        <dd>
          <t>The set of permissions established at the time of authorization, typically represented by scopes in an access token. It defines what an agent is allowed to do in principle (e.g., "The agent has the authority to book parks"). This authority is the primary focus of the core OAuth 2.0 framework and its extensions like RAR.</t>
        </dd>
        <dt><strong>Execution Layer Evidence:</strong></dt>
        <dd>
          <t>A verifiable, non-repudiable record, generated at the moment a specific, critical action is taken. It serves as cryptographic proof of a principal's explicit consent to the concrete parameters of that single action (e.g., "The user explicitly approved booking 'Sunnyvale Park' for  $25 on this specific date"). This evidence proves <em>what</em> was done and under whose direct approval at runtime, not just what was <em>allowed</em> to be done.</t>
        </dd>
      </dl>
    </section>
    <section anchor="a-visual-overview-of-core-authorization-gaps">
      <name>A Visual overview of Core Authorization Gaps</name>
      <t>Before diving into the specific use cases, it is crucial to understand the three fundamental and recurring challenges that emerge when applying the current OAuth 2.0 framework to agent-based systems. These challenges, or "gaps," are not unique to any single use case but are common threads that run through nearly all of them. Visualizing these gaps helps to clarify the problems this document aims to address. For detailed gaps of each use case, please refer to the section of Use Cases and Gap Analysis.</t>
      <section anchor="the-authorization-context-gap">
        <name>The Authorization Context Gap</name>
        <t>The Problem: There is a disconnect between the user's high-level intention given to an agent at one point in time, and the specific, low-level permission request made by that agent at a later time. The Authorization Server (AS) and the user, when asked for consent, lack the necessary context to securely evaluate the request.</t>
        <t>Imagine a user asks their AI assistant to plan a trip. Days later, the assistant needs to book a flight.</t>
        <artwork><![CDATA[
User                 Agent                  AS (Authorization Server)
 |                    |                      |
 |---"Plan my trip"-->|                      |  Time T1: User provides high-level intent.
 | (Context: Paris)   |                      |
 .                    .                      .
 . (Hours/Days Later) .                      .
 .                    .                      .
 |                    |---1. Request Token-->|  Time T2: Agent needs to perform a specific action.
 |                    |  (scope=booking_api) |
 |                    |                      |
 |                    |<--2. Redirect for----|
 |                        User Consent       |
 |                                           |
 |<--3. AS shows Consent Prompt--------------|
 |  +------------------------------------+   |
 |  | "Allow 'AI Assistant' to           |   |
 |  |  access your Booking Service?"     |   |
 |  +------------------------------------+   |
 |       ^                                   |
 +-------|-----------------------------------+
         |
  <?>--[ THE CONTEXT GAP ]--<?>
  The user thinks: "Why now? Is this for my Paris trip, or something else?"
  The AS doesn't know the original intent ("Paris trip") to help the user decide.
]]></artwork>
        <t>Explanation of the Gap:
At Time T2, the consent prompt shown to the user is generic. It lacks the critical context from Time T1 (i.e., that this booking is for the "Paris trip"). The user is forced to either deny a legitimate request due to uncertainty or approve it blindly, creating a security risk. The AS has no standard mechanism to receive and validate this "intent" context from the initial interaction.</t>
      </section>
      <section anchor="the-delegation-chain-gap">
        <name>The Delegation Chain Gap</name>
        <t>The Problem: When a task is delegated through a series of agents (A → B → C), there is no standard, cryptographically verifiable way for the final Resource Server (RS) to confirm that the entire delegation chain is legitimate and authorized by the original user.</t>
        <t>A user's Travel Agent (A) delegates flight booking to a specialized Flight Booker (B), which in turn uses a Payment Processor (C) to complete the transaction.</t>
        <artwork><![CDATA[
User -> Agent A -----> Agent B -----> Agent C -----> Resource Server
       (Travel)      (Flights)       (Payment)         (Bank API)

THE IDEAL (but currently missing standard):
A cryptographically verifiable chain of authority.
[Token for A] -> delegates to -> [Token for B] -> delegates to -> [Token for C]

THE REALITY (The Gap):
                                                 Agent C presents its token.
                                                       |
                                                       v
                                                 Resource Server
                                                 +-------------+
                                                 | Sees Token C|
                                                 | Validates C |
                                                 +-------------+
                                                       ^
                                                       |
                                     <?>--[ THE DELEGATION CHAIN GAP ]--<?>
                                     The RS has no standard way to know that
                                     C is acting on behalf of B, which is
                                     acting on behalf of A, under the
                                     authority of the original User.
]]></artwork>
        <t>Explanation of the Gap:
The Resource Server (the Bank API) can only validate that the token from Agent C is valid for Agent C. It cannot "look back" up the chain to verify that this request originated from a legitimate delegation path starting with the user's authorization to Agent A. This prevents end-to-end security, makes auditing impossible, and complicates the enforcement of progressively narrower permissions down the chain.</t>
      </section>
      <section anchor="the-mass-revocation-gap">
        <name>The Mass Revocation Gap</name>
        <t>The Problem: When a security event occurs (e.g., a user's account is compromised, an agent is found to be malicious), there is no standard, efficient mechanism to instantly revoke all authorizations and tokens associated with a specific entity (like a user or a client). The existing one-by-one revocation process is too slow.</t>
        <t>A user's account is compromised. This user had previously granted access to multiple agents, which now hold active tokens.</t>
        <artwork><![CDATA[
      Security Event!
(User Account Compromised)
           |
           v
Authorization Server (AS)
  /          |          \
 /           |           \
Grant 1   Grant 2 ... Grant N   (Many active grants for the compromised user)
(Token A) (Token B)   (Token Z)
   |         |           |
   v         v           v
Agent 1   Agent 2 ... Agent N

THE REALITY (The Gap): One-by-one revocation (RFC 7009)
1. Admin calls: REVOKE(Token A)
2. Admin calls: REVOKE(Token B)
...
N. Admin calls: REVOKE(Token Z)
<----[ VULNERABILITY WINDOW ]---->
During this slow, sequential process, malicious actors can still use
Tokens B through Z to access resources.
]]></artwork>
        <t>Explanation of the Gap:
The time it takes to iterate through and revoke each token individually creates a dangerous "vulnerability window." Attackers can continue to exploit the still-valid tokens until the revocation process is complete. What is needed is a standardized, atomic "kill switch" to terminate all related sessions and grants instantly in response to a single event.</t>
      </section>
    </section>
    <section anchor="use-cases-and-gap-analysis">
      <name>Use Cases and Gap Analysis</name>
      <t>This section explores three categories of use cases, providing a concrete example for each, and analyzes the gaps in the existing OAuth 2.x framework. For each use case, we examine what can be achieved with existing tools and, more importantly, what is missing.</t>
      <section anchor="category-1-personal-consumer-scenarios">
        <name>Category 1: Personal &amp; Consumer Scenarios</name>
        <section anchor="authorization-requirement-summary">
          <name>Authorization Requirement Summary</name>
          <t>The personal and consumer use cases share several recurring authorization requirements that challenge the traditional, static, and upfront nature of OAuth 2.0 grants. These requirements focus on providing user-centric context, control, and lifecycle management for agent-delegated authority.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Requirement Theme</th>
                <th align="left">Use Cases and Forms</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <strong>Dynamic &amp; Contextual Authorization</strong></td>
                <td align="left">
                  <strong>UC1:</strong>  Authorization with task context; <strong>UC2:</strong> Conditional authority (based on event or time); <strong>UC4:</strong> Just-in-time permission requests.</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Granular &amp; Constrained Authority</strong></td>
                <td align="left">
                  <strong>UC1, UC3:</strong> User-defined constraints (e.g., spending limits); <strong>UC2, UC4:</strong> Fine-grained permissions (for devices, files); <strong>UC3:</strong>  Agent-specific policies (e.g., rate limits); <strong>UC5:</strong> User-defined scopes for headless services.</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Differentiated Actor Identity</strong></td>
                <td align="left">
                  <strong>UC3:</strong> Distinguishing human vs agent, between different agent classes.</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Task-Oriented Lifecycle Management</strong></td>
                <td align="left">
                  <strong>UC1, UC4:</strong> Task-bound revocation.; <strong>UC2:</strong> Bulk client revocation; <strong>UC5:</strong> Headless bootstrapping of credentials.</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Verifiable, Action-Specific Consent</strong></td>
                <td align="left">
                  <strong>UC1:</strong> Approval of final action parameters at execution time.</td>
              </tr>
            </tbody>
          </table>
          <t>The summary includes only authorization requirements that recur across multiple use cases. Use-case-specific requirements or gaps remain with the individual scenarios, such as the architectural mismatch with local OS permissions in UC4 or the need for independent per-class consent in UC3.</t>
        </section>
        <section anchor="use-case-1-personal-digital-assistant">
          <name>Use Case 1: Personal Digital Assistant</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A user gives a high-level, natural language command to their AI assistant. The assistant can decompose this command into multiple steps and interact with various services to fulfill the request.</t>
            </li>
            <li>
              <t><strong>Example:</strong> On Monday morning, Alice tells her AI assistant, "Help me plan a picnic for this Saturday." The assistant begins its work autonomously:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>It first checks Alice's calendar for availability (requires <tt>calendar.read</tt>).</t>
                </li>
                <li>
                  <t>It then checks the weather forecast for Saturday (requires <tt>weather.read</tt>).</t>
                </li>
                <li>
                  <t>Seeing the weather is good, it spends some time researching nearby parks based on Alice's past preferences (requires <tt>maps.search</tt>and profile access).</t>
                </li>
                <li>
                  <t>On Tuesday afternoon, after identifying the perfect spot, the assistant determines it needs final authorization to book the picnic spot (requires parks.book) and add the event to Alice's calendar (requires calendar.write).</t>
                </li>
                <li>
                  <t>The assistant now presents an authorization request to Alice.</t>
                </li>
              </ol>
            </li>
            <li>
              <t><strong>Challenge: Context Collapse and the Erosion of Informed Consent.</strong> This scenario highlights a fundamental challenge to the traditional OAuth 2.0 model, which stems from the temporal decoupling of task initiation and authorization.  </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Context Collapse:</strong> The authorization request Alice receives on Tuesday afternoon is a simple prompt listing scopes like parks.book and calendar.write. The original context—the "picnic planning" instruction from the previous day—is lost. To Alice, the request is at best confusing ("Why does this app want to book a park now?") and at worst, indistinguishable from a sophisticated phishing attack. The traditional OAuth consent screen, designed for immediate, in-context requests, fails to provide the necessary assurance for the user to make a safe and informed decision.</t>
                </li>
                <li>
                  <t><strong>Inadequacy of Binary Choices:</strong> Alice's only options are "Grant" or "Deny." However, her real question might be, "Which park did you choose?" or "Is there a fee?" The current framework provides no mechanism for this crucial dialogue. Denying the request causes the agent's task to fail, while granting it feels like signing a blank check.</t>
                </li>
                <li>
                  <t><strong>Task-Level Revocation:</strong> Alice should be able to say, "Cancel the picnic planning," and have all permissions and pending actions related to this specific task instantly revoked, without affecting other tasks the agent might be performing.</t>
                </li>
                <li>
                  <t><strong>Silent Execution Within a Valid Grant</strong>: where an action falls inside an existing grant, no fresh approval is triggered at all.  A high-impact or irreversible action can therefore execute with valid authority and without any human having approved that specific action. The failure is not a bad consent screen, it is the absence of one.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>  </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Authorization Context:</strong> The authorization request should carry sufficient task and action context for the user to understand why the requested authority is needed.</t>
                </li>
                <li>
                  <t><strong>Task-Scoped Revocation:</strong> The user should be able to revoke authority associated with a specific task without affecting unrelated tasks performed by the same agent.</t>
                </li>
                <li>
                  <t><strong>Pre-Authorized Constraints:</strong> Structured constraints previously approved by the user should remain associated with subsequent actions so that compliance can be checked at execution time.</t>
                </li>
                <li>
                  <t><strong>Admission-to-Execution Binding:</strong> When execution relies on an earlier admission based on originator authorization, applicable policy, or prior consent, the execution endpoint should be able to verify the admission basis and the scope and constraints attached to it.</t>
                </li>
                <li>
                  <t><strong>Action-Specific Approval:</strong> When fresh user approval is required for a high-impact or irreversible action, the approval should be bound to the concrete action parameters and verified before the action takes effect.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong> This use case does not imply that OAuth itself should be responsible for parsing user intent (the agent's job) or orchestrating the task (the agent framework's job). Instead, it reveals a critical gap in the authorization experience when interacting with autonomous systems.  </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> The OAuth Authorization Code flow can be used to get initial permissions. Refresh Tokens can maintain the agent's session.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong>
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t><strong>No Standard for Authorization Context:</strong> The core gap is the lack of a standardized mechanism to carry the justification for the request from the agent to the user via the Authorization Server. OAuth's model, designed for immediate user-initiated flows, implicitly relies on the user's short-term memory to provide context. This assumption breaks down in agentic workflows. There is no standard way for the agent to pass a cryptographically verifiable "context object" (e.g., "This is for the picnic you requested on Monday") that the AS can present to the user.</t>
                    </li>
                    <li>
                      <t><strong>No Standardized Interactive Consent Flow:</strong> There is no standard OAuth mechanism for an Authorization Server to facilitate a "clarification dialogue." The AS acts as a simple gatekeeper with a static grant/deny choice. It cannot "pause" the flow to allow the user to query the agent for more details (e.g., "Show me the park details") before consenting to the parks.book scope. This logic is currently left to complex, proprietary application-layer implementations.</t>
                    </li>
                    <li>
                      <t><strong>Impractical Task-Level Revocation:</strong> OAuth Token Revocation (<xref target="RFC7009"/>) revokes a single token. To achieve task-level revocation, the application would need to build and maintain a complex, non-standard mapping of tasks to all associated tokens. There is no standard way to issue a single command like "revoke all tokens and authority related to 'picnic-task-123'."</t>
                    </li>
                    <li>
                      <t><strong>No Standard Binding of Pre-Authorized Constraints to Execution:</strong> When the user has previously approved structured constraints on an action, existing grant-layer mechanisms do not provide a common way to bind those constraints to the concrete action performed later and verify that relationship at execution time. <xref target="I-D.yossif-agent-mandate-problem"/> states this T0-to-T1 constraint-binding problem and defines requirements without proposing a mechanism.</t>
                    </li>
                    <li>
                      <t><strong>No Standard Admission-to-Execution Binding:</strong> When a request is admitted based on originator authorization, applicable policy, or prior consent rather than a fresh user decision, existing mechanisms do not define how the execution endpoint verifies that admission basis or ensures that the concrete action remains within the admitted scope and constraints.</t>
                    </li>
                    <li>
                      <t><strong>No Standard for Execution-Layer Evidence:</strong> At the moment of financial commitment (the final "Book" step), a simple access token representing Grant-Layer Authority (e.g., a parks.book scope) is insufficient. The core requirement is for Execution-Layer Evidence: a non-repudiable, cryptographic proof that binds the user's explicit, real-time consent to the specific parameters of the transaction (e.g., "Book picnic spot at 'Sunnyvale Park', cost $25"). This evidence serves as proof of the human's decision at the moment of execution, proving what the user agreed to, not just that the agent possessed the authority to book something. The existing framework lacks a standard for generating or verifying such evidence. Where such evidence is required, it must be verified before the high-impact or irreversible effect is committed.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-2-smart-home-automation">
          <name>Use Case 2: Smart Home &amp; Automation</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A central home hub agent manages various IoT devices based on pre-defined rules or real-time events.</t>
            </li>
            <li>
              <t><strong>Example:</strong> Bob sets up a "Good Morning" routine. When his alarm goes off at 7 AM on a weekday, the home hub agent is authorized to:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>Slowly turn on the bedroom lights (device: <tt>bedroom_light</tt>, capability: <tt>brightness</tt>).</t>
                </li>
                <li>
                  <t>Set the thermostat to 70°F (device: <tt>thermostat</tt>, capability: <tt>set_temperature</tt>).</t>
                </li>
                <li>
                  <t>Start the coffee maker (device: <tt>coffee_maker</tt>, capability: <tt>on_off</tt>).</t>
                </li>
              </ol>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Persistent Delegation:</strong> After a one-time setup, the agent should be able to perform these actions daily without Bob's intervention.</t>
                </li>
                <li>
                  <t><strong>Fine-Grained Device &amp; Capability Permissions:</strong> The agent should be authorized to control the <tt>brightness</tt> of the <tt>bedroom_light</tt>, but not, for example, to unlock the <tt>front_door</tt>.</t>
                </li>
                <li>
                  <t><strong>Conditional or Event-Driven Authorization:</strong> The permissions should only be usable when specific conditions are met (e.g., <tt>time=7AM</tt> AND <tt>day=weekday</tt>).</t>
                </li>
                <li>
                  <t><strong>Bulk Revocation:</strong> When Bob sells his house, he needs a simple way to revoke all permissions for all devices from his home hub with a single action.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> Refresh Tokens are well-suited for persistent delegation. Scopes can be defined with high granularity (e.g., <tt>device:bedroom_light:brightness</tt>).</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong>      </t>
                  <ul spacing="normal">
                    <li>
                      <t><strong>"Scope Explosion" and Usability:</strong> In a home with hundreds of devices and capabilities, presenting the user with a list of thousands of scopes to approve is unmanageable. The OAuth consent screen was not designed for this scale.</t>
                    </li>
                    <li>
                      <t><strong>No Standardized Policy Enforcement:</strong> OAuth grants <em>what</em> an agent can do, but not <em>when</em> or <em>under what conditions</em>. The logic to enforce <tt>time=7AM</tt> is outside the protocol and should be custom-built into the agent or the device's resource server, leading to inconsistent and non-interoperable implementations.</t>
                    </li>
                    <li>
                      <t><strong>No Standardized Bulk Revocation:</strong> <xref target="RFC7009"/> is for revoking one token at a time. There is no standard API to "revoke all tokens for user Bob" or "revoke all tokens issued to the home hub client." This is a critical administrative and security gap, forcing reliance on proprietary AS-specific APIs.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-3-agent-as-users-full-proxy-to-access-third-party-tools">
          <name>Use Case 3: Agent as User's Full Proxy to Access Third-Party Tools</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A user authorizes an agent to use a third-party service on their behalf. The service, however, was designed for human interaction and has no built-in awareness of automated agents, leading to potential misuse or policy violations.</t>
            </li>
            <li>
              <t><strong>Example1:</strong>  Charlie authorizes his personal research assistant agent to use his subscription to an academic paper database. The agent, acting as Charlie, begins downloading hundreds of papers for a literature review. The database service detects this high-frequency activity, flags it as a potential DDoS attack or data scraping, and temporarily locks Charlie's account, disrupting both the agent's task and Charlie's own access.</t>
            </li>
            <li>
              <t><strong>Example2:</strong> The database service later adds its own built-in AI features: an AI summarizer that processes users' saved papers. Charlie now faces three distinct classes of caller against the same API surface: his own interactive sessions, the service's built-in AI, and his external research agent. He may be comfortable with the built-in summarizer processing his library but not an external agent, or the reverse. His consent decision for one class says nothing about the others.</t>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Agent-User Differentiation:</strong> The third-party service should be able to reliably distinguish between requests coming directly from Charlie and requests made by his agent.</t>
                </li>
                <li>
                  <t><strong>Agent-Specific Policies:</strong> The service needs a way to apply different policies (e.g., stricter rate limits, restricted API access) to the agent without impacting the human user's normal access rights.</t>
                </li>
                <li>
                  <t><strong>Delegated Authority with Constraints:</strong> The authorization given to the agent should be a constrained subset of the user's full permissions (e.g., "can search and download, but no more than 100 papers per hour").</t>
                </li>
                <li>
                  <t><strong>Caller-Class Differentiation:</strong> Beyond distinguishing the agent from its user, the service should be able to distinguish among classes of caller (at minimum the interactive human session, the application's own platform-native AI, and external user-delegated agents) in a way the caller cannot self-select.</t>
                </li>
                <li>
                  <t><strong>Independent Per-Class Consent:</strong> The user should be able to grant or deny consent for each caller class independently, with no inheritance between classes, consent for one class must not imply consent for any other.</t>
                </li>
                <li>
                  <t><strong>An Attachment Point for Internal-AI Consent:</strong> The application's own AI features typically never traverse the authorization layer at all, so there is currently nothing to attach a consent decision to for that class.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (partially):</strong> OAuth allows a user to delegate access to a client (the agent). The scope parameter can limit which APIs the agent can call.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong>
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t><strong>Lack of Reliable Caller-Class Differentiation:</strong>  There is no standard mechanism for a resource server to reliably distinguish between different classes of callers, such as a human user's interactive session, a platform's internal AI feature, and an external, user-delegated agent. This forces services to rely on unreliable heuristics (e.g., traffic patterns, User-Agent strings) to apply class-specific policies like rate limits or to detect abuse. Furthermore, because the caller class cannot be determined from a trustworthy signal that the caller cannot self-select, users cannot grant or deny consent on a per-class basis (e.g., "allow my external agent but not the platform's internal AI").</t>
                    </li>
                    <li>
                      <t><strong>Confused Deputy Vulnerability:</strong> Even with clear caller identification, an agent with legitimate authority can be tricked (e.g., through prompt injection or cross-request data contamination) into misusing its authority for an unauthorized purpose or principal. Caller identification does not solve this, as the agent's identity and credentials are valid. The gap is the lack of a standard mechanism to bind the delegated authority to the specific, originating principal or task context and to verify this binding at the resource server before an action is performed. While RFC 8693 can represent the actor chain, it does not provide a standard way to ensure the initiating context is invariantly bound to the final action.</t>
                    </li>
                    <li>
                      <t><strong>Inability to Express Granular Constraints:</strong> The standard scope mechanism is binary (permission is granted or not). It cannot express or enforce nuanced constraints like rate limits, data volume caps, or time-of-day restrictions as part of the authorization grant itself.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-4-agent-as-users-proxy-to-access-operating-system-resources">
          <name>Use Case 4: Agent as User's Proxy to Access Operating System Resources</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> An agent running on a user's device (e.g., a laptop or smartphone) needs to perform tasks that require access to local resources like files, applications, or system settings.</t>
            </li>
            <li>
              <t><strong>Example:</strong> Diana asks her desktop agent, <em>"Clean up my downloads folder and free up disk space."</em> To do this, the agent needs permission to read and delete files within <tt>/home/diana/downloads</tt>. However, to be "helpful," the agent might also try to clear system-wide caches, which requires elevated, system-level permissions.</t>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Fine-Grained Resource Access:</strong> The agent should be granted access only to the specific files or settings needed for a task (e.g., a single folder), not the user's entire home directory or full system access.</t>
                </li>
                <li>
                  <t><strong>Task-Scoped Permissions:</strong> Permissions should be granted for the duration of a specific task and automatically revoked upon completion. The task lifecycle is typically maintained by a remote agent service, and the OS should have a way to understand or be informed of task boundaries so that permissions can be properly bound to the task's lifetime.</t>
                </li>
                <li>
                  <t><strong>Secure Privilege Escalation:</strong> If a task requires elevated permissions, there should be a secure, user-approved mechanism for the agent to request them just-in-time, rather than running with high privileges constantly. Such a mechanism account for the fact that the requester is an autonomous agent—a non-human subject with uncertain operational status—rather than assuming a fully capable and responsible human user is always present and in control.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> Modern operating systems have their own permission models (e.g., app sandboxing, runtime permission prompts).</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>Architectural Mismatch:</strong> OAuth is a framework for network-based delegated authorization. It is not designed to manage local, process-level OS permissions. There is a fundamental mismatch between the two models.</t>
                </li>
                <li>
                  <t><strong>No Protocol-Level Link Between Task Lifecycle and Permission Lifecycle:</strong> There is no standard protocol to connect an agent's high-level task intent (often determined in the cloud or maintained by a remote agent service) to a secure, fine-grained grant of local OS permissions on the device. More fundamentally, even if a task lifecycle is tracked by the agent service, the OS has no visibility into that lifecycle and no standard way to understand when a task begins, updates, or completes. Without a protocol-level link between task state and permission state, the OS cannot bind a permission grant to the duration of a specific task or automatically revoke it upon task completion.</t>
                </li>
                <li>
                  <t><strong>No Elevation Mechanism Suitable for Agent Subjects:</strong> While operating systems provide privilege escalation mechanisms (e.g., sudo, UAC, macOS authorization dialogs), these are designed for human users who are capable of acting autonomously and taking responsibility for their actions. Their core assumption is that the requester is a responsible human subject. An autonomous agent, however, is a non-human subject with uncertain operational status—it may make errors, enter unexpected states, or require human intervention. Existing elevation mechanisms do not support a non-human subject requesting elevation on behalf of a user, nor do they provide a way to attribute accountability when an agent's elevated action causes harm. As a result, developers are forced to choose between two undesirable outcomes: either the agent runs with persistent broad permissions (violating least privilege), or every elevation request requires human intervention (defeating the purpose of automation). The gap is not merely the absence of a mechanism for one-time elevation, but the absence of a mechanism designed for agents as a distinct subject type with built-in safety and accountability guardrails.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-5-first-connection-to-a-service-with-no-authorization-front-channel">
          <name>Use Case 5: First Connection to a Service with No Authorization Front Channel</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A user wants their agent to access a service that has no authorization server relationship, its own or a delegated one, and exposes no browser-facing authorization endpoint. The agent runs in a headless or remote environment with no co-located browser. Neither side can present the front channel that existing flows assume.</t>
            </li>
            <li>
              <t><strong>Example:</strong> Dana subscribes to a note-taking service that exposes a plain REST API with no authorization server and no browser-facing authorization endpoint, as is common for services and MCP servers that predate or do not implement an authorization framework. She wants her personal assistant agent, which runs on a cloud host, to file notes for her. To make the first connection, Dana needs to:  </t>
              <ol spacing="normal" type="1"><li>
                  <t>Grant the agent scoped access (notes.write, but not account.manage).</t>
                </li>
                <li>
                  <t>Set a lifetime for that access and retain the ability to revoke it.</t>
                </li>
                <li>
                  <t>Get the resulting credential to the agent, which has no browser and cannot complete a redirect-based flow.</t>
                </li>
              </ol>
            </li>
          </ul>
          <t>Today her only practical option is to copy a static API key into the agent's environment variables: long-lived, all-or-nothing, and invisible to her after setup.</t>
          <ul spacing="normal">
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Front-Channel-Free Bootstrapping:</strong> The first-connection grant must be possible when neither the service nor the agent can present a browser-based interaction channel.</t>
                </li>
                <li>
                  <t><strong>User-Authored Grant:</strong> The user, not the agent, needs a way to initiate the grant and set its scopes and lifetime, since there is no authorization request for the agent to redirect her to.</t>
                </li>
                <li>
                  <t><strong>Scoped, Revocable Credential:</strong> The resulting credential must carry a constrained scope and lifetime and remain revocable by the user, in contrast to the static API key it replaces.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> The Device Authorization Grant [RFC8628] removes the co-located browser requirement on the client side. Static API keys work operationally, which is why they are the de facto practice.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>A verification page is still assumed:</strong> [RFC8628] presumes an authorization server with a browser-facing verification page, and the client initiates the request and proposes the scopes. It does not cover the case where no such page exists because the service has no front channel at all.</t>
                </li>
                <li>
                  <t><strong>No standard first-connection grant:</strong> There is no standardized way for the user to grant scoped, revocable access and for the agent to obtain the resulting credential when no front channel exists on either side. This precedes the flows in the existing use cases; Use Case 1's gap analysis, for example, notes that the Authorization Code flow can obtain the initial permissions, which assumes that front channel is available.</t>
                </li>
                <li>
                  <t><strong>The workaround is the anti-pattern:</strong> Environment-variable API keys are long-lived, over-broad, and invisible to the user after setup; these are the same over-privileging properties Section 5 warns against.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="category-2-enterprise-business-process-scenarios">
        <name>Category 2: Enterprise &amp; Business Process Scenarios</name>
        <section anchor="authorization-requirement-summary-1">
          <name>Authorization Requirement Summary</name>
          <t>The enterprise and business-process use cases share several recurring authorization requirements, although the form of each requirement depends on the workflow structure and trust boundaries involved.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Requirement Theme</th>
                <th align="left">Use Cases and Forms</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <strong>Constrained Delegated Authority</strong></td>
                <td align="left">
                  <strong>UC6:</strong> least privilege at each step; <strong>UC7:</strong> authority partitioned by branch; <strong>UC8:</strong> domain- and operation-specific permissions; <strong>UC9:</strong> scoped delegation to sub-providers and tenants; <strong>UC10:</strong> attenuation at each delegation hop</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Verifiable Delegation Provenance</strong></td>
                <td align="left">
                  <strong>UC6:</strong> verification of the multi-hop authorization path; <strong>UC8:</strong> verification of the Registrant--Registrar--Registry delegation; <strong>UC10:</strong> verification of attenuated authority and the represented principal across organizations</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Common Task Identifier Across Hops</strong></td>
                <td align="left">
                  <strong>UC6:</strong> common <tt>claim_id</tt>; <strong>UC8:</strong> common audit context identifier across agent hops</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Revocation &amp; Authorization Lifecycle</strong></td>
                <td align="left">
                  <strong>UC7:</strong> termination of task-group authority; <strong>UC8:</strong> task-specific revocation; <strong>UC10:</strong> revocation with bounded staleness</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>Cross-Domain Authorization</strong></td>
                <td align="left">
                  <strong>UC9:</strong> authorization across sub-provider administrative domains; <strong>UC10:</strong> authorization between independently administered organizations</td>
              </tr>
            </tbody>
          </table>
          <t>The summary includes only authorization requirements that recur across multiple use cases. Use-case-specific requirements or gaps remain with the individual scenarios, such as data-subject authorization and execution-layer evidence in UC6, aggregate constraints and late-bound members in UC7, the standardized representation of a cross-agent audit identifier in UC8, batched authorization in UC9, and stranger verifiability in UC10.</t>
        </section>
        <section anchor="use-case-6-complex-business-process-automation">
          <name>Use Case 6: Complex Business Process Automation</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A task is passed through a chain of specialized agents, each performing one step of a larger business process.</t>
            </li>
            <li>
              <t><strong>Example:</strong> An automated insurance claim process:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t><strong>Agent A (Intake):</strong> Receives a claim from a customer and is authorized to read the customer's policy. It passes the claim to the next agent.</t>
                </li>
                <li>
                  <t><strong>Agent B (Verification):</strong> Receives the claim from Agent A. It is authorized to access external databases to verify the details of the incident. It then passes the verified claim to Agent C.</t>
                </li>
                <li>
                  <t><strong>Agent C (Adjudication):</strong> Receives the verified claim from Agent B. It is authorized to run a risk assessment and approve or deny the claim. If approved, it delegates the final action to Agent D.</t>
                </li>
                <li>
                  <t><strong>Agent D (Payment):</strong> Receives the approved claim from Agent C. It is authorized <em>only</em> to execute a payment to the customer's bank account for the approved amount.</t>
                </li>
              </ol>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Verifiable Delegation Chain:</strong> The final agent (Payment Agent D) and the resource server (the bank's API) should be able to cryptographically verify the entire authorization path: <tt>Customer -&gt; Agent A -&gt; Agent B -&gt; Agent C -&gt; Agent D</tt>.</t>
                </li>
                <li>
                  <t><strong>Principle of Least Privilege at Each Step:</strong> Agent B should have no payment authority, and Agent D should have no access to the customer's policy details. The permissions must be strictly constrained at each step in the chain.</t>
                </li>
                <li>
                  <t><strong>Auditable Context:</strong> The entire process must be tied to a single, auditable <tt>claim_id</tt> that is securely passed along the chain.</t>
                </li>
                <li>
                  <t><strong>Data Subject:</strong> Where an agent accesses data describing a Data Subject (a natural person who is not the authorizing Resource Owner), the system need provide a mechanism for the Data Subject to authorize the access and be able to determine and represent the authority that permits this access.</t>
                </li>
                <li>
                  <t><strong>Execution-Layer Evidence for Final Action:</strong> The final payment action by Agent D must not only be authorized by the delegation chain (Grant-Layer Authority) but must also generate verifiable Execution-Layer Evidence. This evidence must bind the specific payment details (amount, recipient) to the full, verifiable delegation chain and the original claim_id, creating an undeniable record that the specific transaction was legitimate and explicitly sanctioned.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> OAuth 2.0 Token Exchange <xref target="RFC8693"/> introduces the <tt>act</tt> (actor) claim, which provides a primitive to show that one agent is acting on behalf of another. This is a foundational building block.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>No Native Support for Chains:</strong> A standard OAuth token represents a simple, two-party delegation (User -&gt; Agent A). It cannot natively represent a multi-step chain (<tt>User -&gt; A -&gt; B -&gt; C</tt>). While the <tt>act</tt> claim from <xref target="RFC8693"/> helps, there is no standard for how to nest these claims to create a verifiable, multi-hop chain. This is a major architectural gap.</t>
                </li>
                <li>
                  <t><strong>Lack of Standardized Context Passing:</strong> There is no standard field in an OAuth token to carry the <tt>claim_id</tt> securely through the process. Developers resort to custom claims in a JWT, which harms interoperability.</t>
                </li>
                <li>
                  <t><strong>No Standard Representation for a Third-Party Data Subject:</strong> Existing OAuth mechanisms do not define common semantics for representing that the protected data being accessed concerns a person who is distinct from the Resource Owner or authorization subject, or for indicating the authority under which that third-party data may be accessed. RFC 8693 can represent the current and prior actors in a delegation chain, but does not define a distinct Data Subject role for this purpose. RFC 9396 permits application-specific authorization details, but does not define common semantics for representing this relationship. As a result, downstream agents and Resource Servers cannot rely on an interoperable representation of the Data Subject relationship or the authority permitting access to that person's data.</t>
                </li>
                <li>
                  <t><strong>No Standard for Execution-Layer Evidence:</strong> The existing OAuth framework excels at defining Grant-Layer Authority—what an agent is allowed to do. However, it lacks a standard mechanism for generating Execution-Layer Evidence—a non-repudiable, cryptographic proof of a user's explicit consent for a specific, high-risk action at the moment it occurs. This gap is critical for auditability and dispute resolution in processes like insurance claim payments, as grant-layer tokens (representing the delegation chain) prove potential, not the legitimacy of a specific, executed transaction.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-7-coordinated-task-group">
          <name>Use Case 7: Coordinated Task Group</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A coordinating agent decomposes a user's request into subtasks and delegates them to multiple specialized agents. Unlike a delegation chain (Use Case 6), authorization in a task group may need to be partitioned across sibling branches, while some task-level constraints and lifecycle state remain shared across the group <xref target="I-D.song-oauth-ai-agent-collaborate-authz"/>.</t>
            </li>
            <li>
              <t><strong>Example 1 -- Partitioned Authorization:</strong> A payment assistant coordinates agents from multiple banks to compare promotional discounts for a payment. Each bank agent should receive only the permissions and authorization context required for its own bank. Permissions or sensitive context assigned to one branch should not automatically be available to another branch.</t>
            </li>
            <li>
              <t><strong>Example 2 -- Shared Task Constraint:</strong> A user asks a travel assistant to arrange a business trip and authorizes a total spend of at most 100 units for the trip. The assistant delegates flight booking to a flight agent and hotel booking to a hotel agent operating in separately administered domains. The user has not fixed how the limit is divided between the two. Each delegated authorization may be valid independently, while their combined use may exceed the task-level limit.</t>
            </li>
            <li>
              <t><strong>Example 3 -- Late-Bound Members:</strong> A health assistant decomposes a user's request into health-data collection, status prediction, and advice generation. Some sub-agents may be selected upfront, while others may be selected during execution as intermediate results determine which additional capabilities are needed.</t>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Branch-Level Partitioning:</strong> The authorization framework must support partitioning permissions and relevant authorization context among members according to their subtasks and resource domains.</t>
                </li>
                <li>
                  <t><strong>Task-Level Aggregate Constraints:</strong> The authorization framework must support binding multiple delegation branches to constraints that apply to and are consumed by the task as a whole.</t>
                </li>
                <li>
                  <t><strong>Late Binding of Members:</strong> Members selected during task execution must be able to obtain appropriately constrained authority under the existing task authorization.</t>
                </li>
                <li>
                  <t><strong>Group Lifecycle:</strong> Authority associated with the task group must be able to be terminated as a unit when the task ends or its authorization is revoked.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> Existing mechanisms address several parts of this problem. <xref target="I-D.song-oauth-ai-agent-collaborate-authz"/> considers centralized authorization for static and dynamic task groups. <xref target="I-D.ni-oauth-batch-authorization-delegation"/> allows a client to express how permissions and authorization context are partitioned across multiple actors in an authorization request, including scoping the permitted actor per <tt>authorization_details</tt> entry. Token Exchange <xref target="RFC8693"/>, Identity Chaining <xref target="I-D.ietf-oauth-identity-chaining"/>, and Transaction Token Chaining <xref target="I-D.fletcher-transaction-token-chaining-profile"/> provide building blocks for propagating delegated authority and context along individual delegation chains.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>No Common Task-Group Authorization Model:</strong> Existing mechanisms can authorize or constrain individual members, but do not define a common interoperable binding that relates independently delegated authorities to the same task group, including late-bound members and a common lifecycle.</t>
                </li>
                <li>
                  <t><strong>No Shared Authorization State Across Branches:</strong> Per-member partitioning does not address constraints consumed jointly by multiple branches. Across separately administered domains, there is no standard way for delegated authorizations to reference and consistently enforce the same task-level aggregate authorization state.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-8-automated-dnssec-ds-record-maintenance-agent">
          <name>Use Case 8: Automated DNSSEC DS Record Maintenance Agent</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> This case follows the multi-agent RRR (Registrant-Registrar-Registry) model defined in <tt>draft-ietf-dnsop-ds-automation-09</tt>. A corporate domain owner deploys chained agents to fully automate DS record updates during DNSSEC KSK rollovers, zone bootstrapping, and zone deletion, relying on CDS/CDNSKEY signals between child authoritative zones and parent registry systems.</t>
            </li>
            <li>
              <t><strong>Example:</strong> The whole workflow runs unattended under a one-time delegated permission from the domain registrant, forming a delegation chain: <strong>Registrant --&gt; Registrar Agent --&gt; Registry Agent.</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Zone Agent:</strong> Publishes consistent CDS/CDNSKEY records on all name servers after key rollover.</t>
                </li>
                <li>
                  <t><strong>Registrar Agent:</strong> Pulls and validates CDS data, forwards DS update requests to the registry.</t>
                </li>
                <li>
                  <t><strong>Registry Agent:</strong> Applies DS records to the parent zone and sends operation notifications.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Verifiable Delegation Chain:</strong> A cryptographically verifiable multi-hop delegation chain is required for a full audit trail.</t>
                </li>
                <li>
                  <t><strong>Fine-Grained, Constrained Authority:</strong> Permissions must be limited to a fixed set of domains and allow only DS updating, without the ability to modify other DNS records.</t>
                </li>
                <li>
                  <t><strong>Task-Scoped Revocation:</strong> The ability to revoke all DS automation permissions for a specific task without affecting other agent workflows.</t>
                </li>
                <li>
                  <t><strong>Standardized Audit Context:</strong> A standard audit context identifier must be passed across all agent hops for compliance logging.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> Client Credentials can assign identities to registry/registrar agents. RFC 8693 token exchange supports simple single-hop agent delegation.</t>
                </li>
                <li>
                  <t>**What's Missing (The Gap)</t>
                </li>
                <li>
                  <t><strong>No Standard for Multi-Hop Delegation:</strong> Current DS automation does not use OAuth. OAuth only supports two-party delegation and lacks a standard syntax for representing a multi-hop RRR delegation chain. Relying on proprietary JWT claims harms interoperability.</t>
                </li>
                <li>
                  <t><strong>No Standardized Fine-Grained Authority for DNS:</strong> While Rich Authorization Requests (RAR) <xref target="RFC9396"/> provides a syntax for expressing fine-grained permissions, there is no standardized authorization type or structure defined for DNS operations. Without a common definition, each implementation would invent its own, preventing interoperability for this specific requirement.</t>
                </li>
                <li>
                  <t><strong>Inadequate Revocation Mechanisms:</strong> OAuth has no standardized task or bulk revocation API. Securing the entire DS automation workflow via OAuth would require making numerous, slow single-token revocation calls during an incident.</t>
                </li>
                <li>
                  <t><strong>No Standard for Cross-Agent Audit ID:</strong> There is no reserved OAuth JWT claim to carry a consistent audit identifier across all agent hops, which breaks end-to-end compliance logging for the DS automation process.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-9-managed-services">
          <name>Use Case 9: Managed Services</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> The managed service model refers to an integrated end-to-end managed service solution delivered by a prime service integrator through the aggregation of infrastructure and services from multiple sub-providers. End users interact with a single, unified resource platform instead of multiple separate sub-modules. However, coordinating resources across different administrative domains introduces complex authorization challenges.</t>
            </li>
            <li>
              <t><strong>Example:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t>Telecom operator delivers a managed global secure SD-WAN orchestration service, which requires coordination of many localized regional telecom operators/ISPs and security service providers.</t>
                </li>
                <li>
                  <t>Telecom operator delivers a managed smart home + security solution through a home-hub, which integrates controls over IPTV, streaming services, smart IoT (security cameras) etc.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Cross-domain Authorization:</strong> The fast provisioning of an integrated service (take SD-WAN as an example) requires acquiring authorization from different service sub-providers in their respective administrative domains.</t>
                </li>
                <li>
                  <t><strong>Batched Authorization:</strong> The fast provisioning of the integrated service requires requesting a batch of authorizations from different service sub-providers.</t>
                </li>
                <li>
                  <t><strong>Delegated Authorization:</strong>
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>Prime service integrator may need to conditionally delegate network configuration modification privileges for specific branches to the on-site O&amp;M teams of local sub-providers. This delegation MAY be hierarchical.</t>
                    </li>
                    <li>
                      <t>End-users are often times tenants that only have renting privileges instead of ownership rights. Thus technically the prime service integrator is delegating the access privileges to the end-user to access each modular sub-service.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong></t>
                </li>
                <li>
                  <t><strong>Cross-domain Single Authorization:</strong> The OAuth allows cross-domain authorization through <xref target="RFC7523"/> OAuth 2.0 authorization grant and <xref target="I-D.ietf-oauth-identity-chaining"/> Identity Chaining. But it MUST require one access token at a time.</t>
                </li>
                <li>
                  <t><strong>Single Domain Workflow:</strong> The OAuth allows workflow orchestration through <xref target="I-D.ietf-oauth-transaction-tokens"/> Transaction Token. It only allows workflow inside one trust domain.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>No Standard for Multi-Hop, Attenuated Delegation:</strong> The scenarios involving delegation to sub-provider O&amp;M teams or end-user tenants represent a multi-hop, hierarchical delegation where permissions must be narrowed (attenuated) at each step. While OAuth 2.0 Token Exchange <xref target="RFC8693"/> supports a single delegation hop, there is no standard mechanism to represent or verify a full, attenuated delegation chain. This forces reliance on proprietary, non-interoperable solutions to ensure that a sub-provider or tenant cannot exceed the authority granted to them.</t>
                </li>
                <li>
                  <t><strong>Batched Authorization:</strong> There is no standard for requesting access permissions for a batch of resources at once, while precisely delegating fine-grained privileges to the respective sub-agents responsible for executing each sub-task.</t>
                </li>
                <li>
                  <t><strong>Cross-domain Workflow:</strong> There is no standard for request access permissions across different trust domains while ensuring the secure propagation of contextual information (claims, caller identity, rich authorization contexts, etc.).</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="use-case-10-cross-organizational-delegation-between-fully-provisioned-organizations">
          <name>Use Case 10: Cross-Organizational Delegation Between Fully-Provisioned Organizations</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> An agent operated by Organization A must invoke a service operated by Organization B. Each organization runs its own complete trust infrastructure: its own authorization server, identity provider, and workload identity systems. No trust relationship, federation agreement, key exchange, or communication channel exists between them before the first request, and none can be assumed: the interaction may be first contact. This is the ordinary condition of open agent-to-tool ecosystems (e.g., MCP tool servers, agent-mediated commerce) once agents cross organizational boundaries.</t>
            </li>
            <li>
              <t><strong>Example:</strong> A manufacturer's procurement agent, acting on behalf of a named employee, invokes a supplier's quoting and ordering API. The supplier has never onboarded the manufacturer. At request time the supplier's service must determine: (a) that the calling agent is operated by an identifiable, accountable organization; (b) that the agent holds authority for this specific operation, delegated through possibly several intermediate agents, each of which may only have narrowed it; (c) that the agent acts on behalf of the claimed human principal; and (d) that none of that authority has been revoked - all within its normal request latency, and without a synchronous callback to the manufacturer's infrastructure, whose availability and reachability it does not control.</t>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong></t>
            </li>
            <li>
              <t><strong>Stranger Verifiability:</strong> The receiving organization must be able to verify authority rooted in the sending organization using generally available infrastructure that both parties joined independently, with no interaction-specific bilateral arrangement (no pre-exchanged keys, no shared authorization server, no federation onboarding step).</t>
            </li>
            <li>
              <t><strong>Verifiable Attenuated Delegation:</strong> Presented authority may have passed through multiple agents. Each hop may only narrow it (permitted operations, resource scope, validity), and the receiver must be able to verify both the narrowing and the invariance of the on-behalf-of principal from the presented material itself, rather than by trusting the sending organization's internal policy.</t>
            </li>
            <li>
              <t><strong>Local Decision with Bounded Revocation Staleness:</strong> The receiver's authorization decision must complete without a runtime call to the sending organization, while revocation of the sender's authority must still reach the receiver with an explicit, bounded staleness that the receiver can enforce and fail safe on.</t>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>Pre-Established Trust Assumption:</strong> Existing cross-domain mechanisms presuppose arranged trust. OAuth Identity Chaining, for example, requires the participating authorization servers to have pre-established trust and exchanged key material (Section 2.1) - precisely what a first-contact interaction lacks by definition.</t>
                </li>
                <li>
                  <t><strong>Runtime Coupling to Foreign Infrastructure:</strong> Token-exchange and challenge-based patterns place the sending side's authorization server (or one federated with it) in the request path, making the availability, latency, and reachability of another organization's infrastructure a precondition for the receiver's own service.</t>
                </li>
                <li>
                  <t><strong>Delegation Opacity at the Receiver:</strong> Standard access tokens do not allow a receiving organization to independently verify multi-hop narrowing or the invariance of the acting-for principal across intermediaries; the receiver is asked to trust issuer-side policy it cannot inspect.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="category-3-security-administrative-scenarios">
        <name>Category 3: Security &amp; Administrative Scenarios</name>
        <section anchor="use-case-11-automated-security-incident-response">
          <name>Use Case 11: Automated Security Incident Response</name>
          <ul spacing="normal">
            <li>
              <t><strong>Scenario Description:</strong> A security agent detects a security threat and must take immediate, automated action to contain it.</t>
            </li>
            <li>
              <t><strong>Example:</strong> A security system detects that an employee's laptop has been compromised by malware. An automated security agent is triggered to:
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>Immediately revoke all active login sessions for that employee across all company applications (e.g., email, code repository, HR system).</t>
                </li>
                <li>
                  <t>Isolate the compromised laptop from the corporate network.</t>
                </li>
                <li>
                  <t>Temporarily suspend the user's account to prevent further unauthorized access.</t>
                </li>
              </ol>
            </li>
            <li>
              <t><strong>Authorization Requirements:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>Privileged, System-Level Authority:</strong> The security agent needs broad, pre-approved authority to perform high-impact administrative actions.</t>
                </li>
                <li>
                  <t><strong>Global Token Revocation API:</strong> The agent must be able to make a single API call to the Authorization Server to "immediately revoke all access and refresh tokens associated with user ID <tt>employee-123</tt>."</t>
                </li>
                <li>
                  <t><strong>Non-Repudiable Execution Evidence</strong>: For post-hoc audits and security forensics, simply logging the action is insufficient. A critical requirement is the generation of <strong>durable, non-repudiable, and potentially offline-verifiable evidence</strong> at the moment of execution. This evidence must cryptographically attest to the specific action performed (e.g., "Agent <tt>sec-ops-bot-01</tt> isolated host <tt>laptop-789</tt> at <tt>2024-08-21T10:00:00Z</tt> under policy <tt>POL-456</tt> in response to alert <tt>ALERT-XYZ</tt>"). This formal proof is essential for accountability, especially when an automated agent takes high-risk actions like suspending a user account.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Gap Analysis:</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><strong>What Works (Partially):</strong> The OAuth Client Credentials grant is suitable for giving the security agent its own system-level identity and authority.</t>
                </li>
                <li>
                  <t><strong>What's Missing (The Gap):</strong></t>
                </li>
                <li>
                  <t><strong>Critically Inadequate Revocation API:</strong> This is the most significant gap for this use case. The one-token-at-a-time revocation endpoint in <xref target="RFC7009"/> is completely insufficient for a security incident. The need to make potentially thousands of individual API calls to revoke tokens is too slow and unreliable during an active attack. The lack of a standardized bulk revocation API is a major operational and security failure point.</t>
                </li>
                <li>
                  <t><strong>Absence of a Standard for Verifiable Action Records</strong>: The OAuth framework focuses on granting and validating the <em>authority</em> to perform an action (i.e., possessing a valid token). It does not, however, define a standard mechanism for creating a <strong>durable, cryptographically verifiable record of the action itself</strong> at the moment of execution. In a security context, a simple log entry stating "action performed" is insufficient for high-stakes forensic analysis. What is missing is a formal, non-repudiable piece of evidence that binds the agent's identity, the specific action taken (e.g., "isolate host <tt>laptop-789</tt>"), the policy justification, and the timestamp into a single, verifiable artifact. This gap makes it difficult to construct an undeniable audit trail for automated, high-risk security operations.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="analysis-of-existing-oauth-extensions">
      <name>Analysis of Existing OAuth Extensions</name>
      <t>The OAuth 2.0 ecosystem is rich with extensions designed to address security and functionality gaps in the core specification. However, many of these powerful extensions were conceived before the rise of highly autonomous, dynamic, and often ephemeral AI agents. Their design assumptions, therefore, do not always align with the unique challenges presented by agent-centric architectures.</t>
      <t>This section analyzes several key existing extensions and related concepts to evaluate their applicability to agent authorization use cases. For each, we identify its strengths, its limitations in agentic scenarios, and potential directions for evolution.</t>
      <section anchor="rich-authorization-requests-rar-rfc9396">
        <name>Rich Authorization Requests (RAR) <xref target="RFC9396"/></name>
        <ul spacing="normal">
          <li>
            <t><strong>Applicability and Strengths:</strong> RAR represents a significant step beyond simple string-based scopes. It allows clients to request fine-grained, structured, and parameterized permissions. For example, instead of a generic <tt>transaction</tt> scope, a client can request authorization for a specific action like <tt>{"type": "payment", "amount": "50", "currency": "USD", "recipient": "X"}</tt>. This capability is invaluable for creating auditable and least-privilege grants, which is a core requirement for reining in agent capabilities.</t>
          </li>
          <li>
            <t><strong>Limitations in Agentic Scenarios:</strong> The primary limitation of RAR in agentic scenarios is its static nature. RAR defines the <em>structure</em> of a permission, but it assumes the <em>values</em> are known at the time of the authorization request. Autonomous agents often operate with non-deterministic logic; they discover the need for specific actions as they execute a task. An agent planning a picnic might not know the exact cost or booking details for a park shelter until it has already completed several other steps. This makes it difficult to request all necessary, fine-grained permissions upfront. In essence, RAR is a powerful Grant-Layer mechanism for defining the shape of authority. It cannot, by design, capture the user's specific, just-in-time consent for a transaction whose final parameters were only determined at the moment of execution. It describes the authority, not the human decision at runtime.</t>
          </li>
          <li>
            <t><strong>Potential Directions for Evolution:</strong> A potential direction is to evolve RAR or develop a complementary mechanism for "bounded capabilities". This would allow a user to grant an agent a budget or a set of constraints (e.g., "a maximum of $100 for picnic supplies within a 10-mile radius"). The agent could then use this grant to dynamically construct and justify specific RAR-formatted requests at runtime, with the authorization server validating each request against the pre-approved bounds.</t>
          </li>
        </ul>
      </section>
      <section anchor="demonstrating-proof-of-possession-dpop-rfc9449">
        <name>Demonstrating Proof-of-Possession (DPoP) [RFC9449]</name>
        <ul spacing="normal">
          <li>
            <t><strong>Applicability and Strengths:</strong> DPoP enhances security by cryptographically binding access tokens to a specific client's public/private key pair. This effectively prevents token theft and replay attacks, as a stolen token is useless without the corresponding private key. This is a critical security baseline for any system where agents handle sensitive operations.</t>
          </li>
          <li>
            <t><strong>Limitations in Agentic Scenarios:</strong> The challenge arises in highly dynamic agent architectures. DPoP's model assumes a relatively stable client with a persistent key. This assumption breaks down when a primary agent needs to delegate a task to a dynamically created, ephemeral sub-agent, or when an agent migrates between compute environments. Each new instance would require a new token bound to its new key, creating significant overhead and complexity if it requires a full round-trip to the authorization server. DPoP is a critical Grant-Layer security control, binding a token to a client to prove the legitimacy of the actor possessing the authority. However, it says nothing about the legitimacy of the specific action being performed at the Execution Layer or the user's explicit consent for that action.</t>
          </li>
          <li>
            <t><strong>Potential Directions for Evolution:</strong> Future work could explore a "multi-hop DPoP" model. In this model, a parent agent holding a DPoP-bound token could securely derive a new, more constrained token for a sub-agent, binding it to the sub-agent's ephemeral key. This would create a verifiable chain of possession and delegation without requiring constant interaction with the central authorization server, making it more suitable for chained or group agent tasks.</t>
          </li>
        </ul>
      </section>
      <section anchor="client-id-metadata-document-cimd-draft-ietf-oauth-client-metadata">
        <name>Client-ID Metadata Document (CIMD) [draft-ietf-oauth-client-metadata]</name>
        <ul spacing="normal">
          <li>
            <t><strong>Applicability and Strengths:</strong> CIMD (and the broader concept of dynamic client registration) proposes a powerful shift from static, pre-registered clients to dynamic, discoverable ones. By defining <tt>client_id</tt> as a resolvable URI, an Authorization Server can fetch client metadata on-the-fly. This enables "plug-and-play" onboarding for new agents and greatly simplifies the lifecycle management of cryptographic keys by exposing them via a <tt>jwks_uri</tt>.</t>
          </li>
          <li>
            <t><strong>Limitations in Agentic Scenarios:</strong> Despite its flexibility, CIMD's current metadata vocabulary is client-application-centric, not agent-centric.
            </t>
            <ol spacing="normal" type="1"><li>
                <t><strong>Lack of Agent Context:</strong> Standard fields (e.g., <tt>redirect_uris</tt>, <tt>client_name</tt>) fail to describe agent-specific attributes like its level of autonomy, risk profile, or operational policies.</t>
              </li>
              <li>
                <t><strong>Public URI Dependency:</strong> The reliance on a stable, public URI is problematic for ephemeral or internal sub-agents that may not have a persistent, publicly resolvable address.</t>
              </li>
              <li>
                <t><strong>Missing Delegation Traceability:</strong> While CIMD can verify an agent's identity, it does not provide a standard mechanism to describe its lineage or delegation path (i.e., "who created this agent?").</t>
              </li>
            </ol>
          </li>
          <li>
            <t><strong>Potential Directions for Evolution:</strong> To bridge these gaps, CIMD could be extended with:
            </t>
            <ol spacing="normal" type="1"><li>
                <t><strong>Agent-Specific Metadata:</strong> Introduce new fields like <tt>agent_type</tt>, <tt>max_autonomous_budget</tt>, or <tt>human_in_the_loop_policy</tt> to enable better risk assessment by Authorization Servers.</t>
              </li>
              <li>
                <t><strong>Inline or Vouched-For Metadata:</strong> Allow ephemeral agents to present their metadata directly in a request or have it "vouched for" and signed by a trusted parent agent, removing the public URI requirement.</t>
              </li>
              <li>
                <t><strong>Trust Chain Assertions:</strong> Incorporate fields like <tt>parent_agent_id</tt> or integrate concepts from specifications like OpenID Federation to build a verifiable delegation chain.</t>
              </li>
            </ol>
          </li>
        </ul>
      </section>
      <section anchor="transaction-tokens">
        <name>Transaction Tokens</name>
        <ul spacing="normal">
          <li>
            <t><strong>Applicability and Strengths:</strong> This refers to a common architectural pattern, often implemented using JWTs, where initial user context is encoded into a token and propagated through a series of internal microservices. This ensures consistent authorization and context within a trusted security domain.</t>
          </li>
          <li>
            <t><strong>Limitations in Agentic Scenarios:</strong> The fundamental gap is one of trust boundaries. This pattern is designed for use within a single, trusted system. It is ill-suited for multi-hop delegation scenarios involving untrusted third-party agents, as the tokens lack standard mechanisms for permission attenuation (reduction) or enforcement across organizational boundaries.</t>
          </li>
          <li>
            <t><strong>Potential Directions for Evolution:</strong> To be viable in agent ecosystems, this concept would need to evolve into a standardized "Attenuating Agent Token". Such a token would need a formal, interoperable mechanism for a parent agent to reduce permissions before passing it to a child agent, ensuring the child cannot exceed the parent's authority. Furthermore, embedding verifiable proofs of execution could enhance end-to-end auditability.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="summary-of-major-gaps">
      <name>Summary of Major Gaps</name>
      <t>The use cases above highlight several fundamental gaps between the needs of AI agents and the capabilities of the standard OAuth 2.x framework:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>From 'Pre-Approval' to 'Continuous Dialogue': A Paradigm Shift.</strong> OAuth's model is to get all permissions upfront. Agents need a continuous, interactive authorization model where permissions are granted dynamically and just-in-time as a task evolves from a high-level intent.</t>
        </li>
        <li>
          <t><strong>Lack of a Standardized Interactive Channel.</strong> The framework has no built-in mechanism for an agent to "pause" and securely ask the user for an intermediate decision or to respond to a real-time authorization challenge from a resource server.</t>
        </li>
        <li>
          <t><strong>Inability to Represent Delegation Chains.</strong> Standard tokens cannot securely represent a multi-step delegation chain (<tt>User -&gt; Agent A -&gt; Agent B</tt>). This is a critical blocker for automating complex, multi-agent business processes.</t>
        </li>
        <li>
          <t><strong>Insufficient Revocation Mechanisms.</strong> The single-token revocation API is inadequate. The lack of standardized APIs for task-level and bulk (per-user or per-client) revocation is a major operational and security deficiency.</t>
        </li>
        <li>
          <t><strong>Authorization Is Modeled Per-Client, Not Per-Group.</strong> OAuth has no notion of a set of clients acting as one task group under a single grant: no group membership representation, no admission of late-selected members, and no group-level lifecycle or atomic revocation.</t>
        </li>
        <li>
          <t><strong>The Grant-Layer vs. Execution-Layer Gap:</strong> The existing OAuth framework excels at defining Grant-Layer Authority—what an agent is allowed to do. However, it lacks a standard mechanism for generating Execution-Layer Evidence—a non-repudiable, cryptographic proof of a user's explicit consent for a specific, high-risk action at the moment it occurs. This gap is critical for auditability and dispute resolution, as grant-layer tokens prove potential, not the legitimacy of a specific, executed transaction.</t>
        </li>
      </ol>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>As we design new authorization mechanisms for agents, security must be the primary concern. The autonomy of agents amplifies the risk of any vulnerability.</t>
      <ul spacing="normal">
        <li>
          <t><strong>Risk of Over-Privileging:</strong> The current lack of dynamic authorization tempts developers to request broad, long-lived permissions ("god tokens"), dramatically increasing the damage if an agent is compromised. Future solutions must make it easy to follow the Principle of Least Privilege.</t>
        </li>
        <li>
          <t><strong>Delegation Chain Vulnerabilities:</strong> Without a standard for secure delegation chains, custom implementations are prone to "Confused Deputy" attacks, where an agent is tricked into misusing its authority.</t>
        </li>
        <li>
          <t><strong>Revocation Timeliness:</strong> In a world of powerful, autonomous agents, the ability to instantly and completely revoke all permissions for a compromised user or agent is not a "nice-to-have"; it is an absolute necessity.</t>
        </li>
        <li>
          <t><strong>Non-Repudiation:</strong> For enterprise and B2B scenarios, actions taken by agents must be cryptographically auditable and non-repudiable, creating a strong digital paper trail.</t>
        </li>
        <li>
          <t><strong>Coordinator as a Single Point of Authority:</strong> In coordinated task groups, the leading agent both requests authorization on behalf of all members and assigns their tasks. If the coordinator is compromised, the blast radius covers the entire group; its authority to act as an applier for others must therefore be separately authenticated, authorized, and auditable.</t>
        </li>
        <li>
          <t><strong>Durable Record of the Authorization Grant:</strong> While agent actions must be non-repudiable, this is insufficient without a durable record of the authorization grant event itself. This record must capture the identity of the authorizing principal, the exact scopes granted, the time of the grant, and the policy version in effect, which disappear when a grant ends, this event record must persist to provide a verifiable source of truth for post-hoc audits and to answer the critical question: "What did the human actually authorize?".</t>
        </li>
        <li>
          <t><strong>Agent-Operable Consent Surfaces:</strong> AI agents can click "Approve" buttons themselves, so a simple click is no longer proof of human consent. We need approval methods that agents can't fake, like a confirmation on your phone or a fingerprint scan.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The analysis and use cases in this document are derived from observations of emerging AI agent technologies and their application trends across various industries. Thanks are due to the OAuth community for their past and ongoing efforts in building a secure and interoperable authorization framework, upon which this work is built.</t>
      <t>The authors would like to thank Blake Morrison, Mohamad Khalil Yossif, niyuan, Dick Hardt, Michael Jones, Christopher Emerson, morganLR,Eric Leleu, Thi Nguyen-Huu and Jeff for commenting, contributing and providing feedback on this draft.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <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="RFC7009">
        <front>
          <title>OAuth 2.0 Token Revocation</title>
          <author fullname="T. Lodderstedt" initials="T." role="editor" surname="Lodderstedt"/>
          <author fullname="S. Dronia" initials="S." surname="Dronia"/>
          <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
          <date month="August" year="2013"/>
          <abstract>
            <t>This document proposes an additional endpoint for OAuth authorization servers, which allows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed. This allows the authorization server to clean up security credentials. A revocation request will invalidate the actual token and, if applicable, other tokens based on the same authorization grant.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7009"/>
        <seriesInfo name="DOI" value="10.17487/RFC7009"/>
      </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="RFC7523">
        <front>
          <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="B. Campbell" initials="B." surname="Campbell"/>
          <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7523"/>
        <seriesInfo name="DOI" value="10.17487/RFC7523"/>
      </reference>
      <reference anchor="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="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.song-oauth-ai-agent-collaborate-authz">
        <front>
          <title>OAuth2.0 Extension for Multi-AI Agent Collaboration</title>
          <author fullname="Yurong Song" initials="Y." surname="Song">
            <organization>Huawei</organization>
          </author>
          <author fullname="LUN LI" initials="L." surname="Lun">
            <organization>Huawei</organization>
          </author>
          <author fullname="Yuning Jiang" initials="Y." surname="Jiang">
            <organization>Huawei Singapore</organization>
          </author>
          <author fullname="Faye Liu" initials="F." surname="Liu">
            <organization>Huawei Singapore</organization>
          </author>
          <date day="30" month="June" year="2026"/>
          <abstract>
            <t>   This method extends OAuth 2.0 by adding fields to token and message
   flows, enabling sub-agents to act as a task group.  It simplifies
   authorization for task groups, avoids repeated interactions between
   sub-agents and the authorization server, and bounds the authority
   delegated to the group and to each member while maintaining
   compatibility with existing OAuth 2.0 workflows.


            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-song-oauth-ai-agent-collaborate-authz-02"/>
      </reference>
      <reference anchor="I-D.ni-oauth-batch-authorization-delegation">
        <front>
          <title>Batch Authorization Delegation</title>
          <author fullname="Ni Yuan" initials="N." surname="Yuan">
            <organization>Huawei</organization>
          </author>
          <author fullname="Peter Chunchi Liu" initials="P. C." surname="Liu">
            <organization>Huawei</organization>
          </author>
          <date day="3" month="July" year="2026"/>
          <abstract>
            <t>   This document describes a mechanism for Batch Authorization
   Delegation, which enables a batch of fine-grained, actor-bound
   permissions in a single request and securely delegates them to
   multiple collaborating actors.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ni-oauth-batch-authorization-delegation-00"/>
      </reference>
      <reference anchor="I-D.ietf-oauth-identity-chaining">
        <front>
          <title>OAuth Identity and Authorization Chaining Across Domains</title>
          <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
            <organization>Defakto Security</organization>
          </author>
          <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
            <organization>Defakto Security</organization>
          </author>
          <author fullname="Kelley Burgin" initials="K." surname="Burgin">
            <organization>MITRE</organization>
          </author>
          <author fullname="Michael J. Jenkins" initials="M. J." surname="Jenkins">
            <organization>NSA-CCSS</organization>
          </author>
          <author fullname="Brian Campbell" initials="B." surname="Campbell">
            <organization>Ping Identity</organization>
          </author>
          <author fullname="Aaron Parecki" initials="A." surname="Parecki">
            <organization>Okta</organization>
          </author>
          <date day="19" month="July" year="2026"/>
          <abstract>
            <t>   This specification describes a mechanism for preserving identity and
   authorization information across trust domains that use the OAuth 2.0
   Framework.  A JSON Web Token (JWT) authorization grant, obtained
   through an intra-domain OAuth 2.0 Token Exchange, facilitates the
   cross-domain acquisition of an access token.  The relevant identity
   and authorization information is chained throughout the flow by being
   conveyed in the respective artifacts exchanged at each step of the
   process.  Chaining across multiple domains is achieved by using the
   same protocol every time a trust domain boundary is crossed.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-17"/>
      </reference>
      <reference anchor="I-D.fletcher-transaction-token-chaining-profile">
        <front>
          <title>Transaction Token Authorization Grant Profile for OAuth Identity and Authorization Chaining</title>
          <author fullname="George Fletcher" initials="G." surname="Fletcher">
            <organization>Practical Identity LLC</organization>
          </author>
          <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
            <organization>Defakto Security</organization>
          </author>
          <author fullname="Sean O'Dell" initials="S." surname="O'Dell">
            <organization>CVS Health</organization>
          </author>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>   This specification defines a profile of the OAuth Identity and
   Authorization Chaining Across Domains
   [I-D.ietf-oauth-identity-chaining] mechanism that uses a Transaction
   Token (Txn-Token) [I-D.ietf-oauth-transaction-tokens] as the subject
   token in a Token Exchange [RFC8693] request to obtain a JWT
   Authorization Grant for crossing a trust boundary.

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

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-fletcher-transaction-token-chaining-profile-02"/>
      </reference>
      <reference anchor="I-D.yossif-agent-mandate-problem">
        <front>
          <title>Problem Statement: Verifiable Human Mandates for Autonomous Agent Actions</title>
          <author fullname="Mohamad Khalil Yossif" initials="M. K." surname="Yossif">
            <organization>Yuthent</organization>
          </author>
          <date day="22" month="July" year="2026"/>
          <abstract>
            <t>   An autonomous software agent commonly acts under authority a human
   granted at an earlier moment: the human expresses and authorizes an
   intent at one time, and the agent executes one or more concrete
   actions at a later time.  The credentials and session state the agent
   carries at execution time establish that some agent is authorized to
   act, but they do not establish that this specific action, with these
   specific parameters, falls within the constraints the human actually
   signed.  As agent autonomy and action throughput grow, the population
   of executed actions that no human individually bounded grows with it.
   This document is a problem statement.  It characterizes the gap
   between an authorized agent and an authorized action, explains why
   existing delegation, logging, and payment-mandate mechanisms do not
   close it, and states the requirements any solution would have to
   satisfy.  It defines no protocol or mechanism.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-yossif-agent-mandate-problem-00"/>
      </reference>
      <reference anchor="I-D.ietf-oauth-transaction-tokens">
        <front>
          <title>Transaction Tokens</title>
          <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
            <organization>CrowdStrike</organization>
          </author>
          <author fullname="George Fletcher" initials="G." surname="Fletcher">
            <organization>Practical Identity LLC</organization>
          </author>
          <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
            <organization>Defakto Security</organization>
          </author>
          <date day="30" month="July" year="2026"/>
          <abstract>
            <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity, workload identity and authorization context
   throughout the Call Chain within a trusted domain during the
   processing of external requests (e.g. such as API calls) or requests
   initiated internally within the Trust Domain.  Txn-Tokens ensure that
   this context is preserved throughout the Call Chain thereby enhancing
   security and consistency in complex, multi-service architectures.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
      </reference>
    </references>
    <?line 622?>

<section anchor="references">
      <name>References</name>
      <dl>
        <dt><xref target="RFC6749"/></dt>
        <dd>
          <t>Hardt, J., Ed., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, October 2012, <eref target="https://www.rfc-editor.org/info/rfc6749">https://www.rfc-editor.org/info/rfc6749</eref>.</t>
        </dd>
        <dt><xref target="RFC7009"/></dt>
        <dd>
          <t>Lodderstedt, T., Ed., Dronia, S., and M. Scurtescu, "OAuth 2.0 Token Revocation", RFC 7009, DOI 10.17487/RFC7009, August 2013, <eref target="https://www.rfc-editor.org/info/rfc7009">https://www.rfc-editor.org/info/rfc7009</eref>.</t>
        </dd>
        <dt><xref target="RFC8693"/></dt>
        <dd>
          <t>Jones, M., Nadalin, A., Campbell, B., Ed., Bradley, J., and C. Mortimore, "OAuth 2.0 Token Exchange", RFC 8693, DOI 10.17487/RFC8693, January 2020, <eref target="https://www.rfc-editor.org/info/rfc8693">https://www.rfc-editor.org/info/rfc8693</eref>.</t>
        </dd>
        <dt><xref target="RFC9396"/></dt>
        <dd>
          <t>Lodderstedt, T., Richer, J., and B. Campbell, "OAuth 2.0 Rich Authorization Requests", RFC 9396, DOI 10.17487/RFC9396, May 2023, <eref target="https://www.rfc-editor.org/info/rfc9396">https://www.rfc-editor.org/info/rfc9396</eref>.</t>
        </dd>
        <dt><xref target="I-D.ni-oauth-batch-authorization-delegation"/></dt>
        <dd>
          <t>Ni, Y., "Batch Authorization Delegation for OAuth 2.0", Work in Progress, Internet-Draft, draft-ni-oauth-batch-authorization-delegation-00, <eref target="https://datatracker.ietf.org/doc/html/draft-ni-oauth-batch-authorization-delegation-00">https://datatracker.ietf.org/doc/html/draft-ni-oauth-batch-authorization-delegation-00</eref>.</t>
        </dd>
        <dt><xref target="I-D.song-oauth-ai-agent-collaborate-authz"/></dt>
        <dd>
          <t>Song, Y., Li, L., Jiang, Y., and F. Liu, "OAuth2.0 Extension for Multi-AI Agent Collaboration", Work in Progress, Internet-Draft, draft-song-oauth-ai-agent-collaborate-authz-01, 28 February 2026, <eref target="https://datatracker.ietf.org/doc/html/draft-song-oauth-ai-agent-collaborate-authz-01">https://datatracker.ietf.org/doc/html/draft-song-oauth-ai-agent-collaborate-authz-01</eref>.</t>
        </dd>
        <dt><xref target="I-D.ietf-oauth-identity-chaining"/></dt>
        <dd>
          <t>Schwenkschuster, A., Kasselman, P., Burgin, K., Jenkins, M., Campbell, B., and A. Parecki, "OAuth Identity and Authorization Chaining Across Domains", Work in Progress, Internet-Draft, draft-ietf-oauth-identity-chaining-17, 19 July 2026, <eref target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-identity-chaining-17">https://datatracker.ietf.org/doc/html/draft-ietf-oauth-identity-chaining-17</eref>.</t>
        </dd>
        <dt><xref target="I-D.fletcher-transaction-token-chaining-profile"/></dt>
        <dd>
          <t>Fletcher, G., Kasselman, P., and S. O'Dell, "Transaction Token Authorization Grant Profile for OAuth Identity and Authorization Chaining", Work in Progress, Internet-Draft, draft-fletcher-transaction-token-chaining-profile-02, 6 July 2026, <eref target="https://datatracker.ietf.org/doc/html/draft-fletcher-transaction-token-chaining-profile-02">https://datatracker.ietf.org/doc/html/draft-fletcher-transaction-token-chaining-profile-02</eref>.</t>
        </dd>
        <dt><xref target="I-D.yossif-agent-mandate-problem"/></dt>
        <dd>
          <t>Yossif, M., "Problem Statement: Verifiable Human Mandates for Autonomous Agent Actions", Work in Progress, Internet-Draft, draft-yossif-agent-mandate-problem-00, 22 July 2026, <eref target="https://datatracker.ietf.org/doc/html/draft-yossif-agent-mandate-problem-00">https://datatracker.ietf.org/doc/html/draft-yossif-agent-mandate-problem-00</eref>.</t>
        </dd>
      </dl>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2963Lc2JUu+F8RegdMng6LVCeyJNad7rabIqUqlnULkeVq
21NHRGYimSghgTwAklTa1Sf61zzARD/IPMM8Sj/JrG9d9gVIUpTcJyYmYmSH
LZHAxr6sva7fWitN0/v32i6r5m+zsq7yw6RrNvn9e8W64b+23cGjR98+Orh/
b5Z1h0lRLWp6fjNdFW1b1FW3XdMrp0/Pn92/lzV5dpic5bNNU3Tb+/euLw+T
V0ebbpn8VDfviuoy+a6pN+v79+7fm9ezKlvRm/MmW3TpbJlXaZ3Ro2l2mVdd
ir/+Nd20eTrL2rxNH32Ot7qiK+mdIzySYOC6Kf6adTSNhB5N+NGEVpJcZmv6
/6zctkVL85pOm/zq8KY37t8rs4qmmlf37727Prx/L0lSmbf8lT+nfz3V/2+6
YlHMiqxMTqsuL8uCnpnl+svwM/Kjk7zML4N/v8mv6lnw7+9ovkduvjRjHoKm
kiayTS/yosQGHi9zfqVuaMLHy6LKkhf1tCj50zPa9cPkSV78QI/yD+pN1TVb
fRI/yVdZUR4m2O+VDPkvM/xuxYNMZvXKf/OHIvuv/N4vRXbrt6p3dArJn7La
f+/ly9Pjj/vQNqt/efcvs6oqZpNZ5cf/06bC9uEzl8Hjv+DfW/7dwb8s03XW
dFXetPHcjpebiiaevM67vEmeFxs3we832XVeBOOVxWYmT//Lkn8nIyX0h24U
XZ1mRad+lTORvXl2fPD48bf2928ef/2F/f1runL296++/sL9/esvDz53z3/1
rfv7t59/+xX//TQ9mbR1dWmXqdD7NKvLMpvWTdblcrfc01Whz06zbrZMs5B4
07mjW/d8kXcLfaOY09B0NHR9swJ76B5alDkNljdp12RVm814sK5+R7fcnk3X
Tb0gOnDvbGtiKAud74puMeZKD03LfHWIS0EnkqZJNm1p0FmHf58vizYhVrJZ
gSHQs1c0JeIASbttuxxbPXNsIKkXSbfM6dLnq7y5BDXIp6bEA+aeG0yS047+
1uWX2AYajV5aEdvr6mRetF1RzbqkneVV1hR1O07meUcnz08VTdKu8xkYQxJt
Y9Lk/2NTNDlmSa+AQa3zBsSAuRKFrJucLkhLhBFxLpog7VXbYfAkf89fv1SO
ejB5lCwaos9rYq1/UTL5mccuuhaDrujD+fsO49YVLeucBnEjy9EtClrfYkNb
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
4JfGSUXru/qqWsPGQKhCzlVp3frbS1uVCiyqy+c+U9Wfz9jrMDsDGoFx5DrF
8AWS5jgWsvROPt5uS2VJTvKVbBSP8Bouj5T++1ptJ1hTJ6/r1yrZv/ji27tL
drxHJsoSAYFAC6VLNDSZrJZBHKkQ/d22SqQqoDHINp59BvEEFgrta50VVmQ2
l+RMrsqqrlfD1NJeLDoruFxmW7WYpeodzL665FKkeFZcCNxcM0xJJbEnTqS5
IbB1CmEVVeew84smdQXuNuEClfPKC2RUJQPt1JyTX6xeWM9w+DjZ6VRdkltF
yxhxU8GtSopen0jb5WOjTZaEJJODmULBeFdbURRUy9FEn6BLrt+NoLGyZl+h
yqU15DbpHrqluTS24ve1Ih5TQXSluKgt6W/eVnDgSUagRY2EIeUk+8Tl8RM3
2sStUg2aUOWMY+44iBWnyGX8SyEOKY2BEBmQNfRjWnJQIjpUYSG50aZVq0Rw
uhHrYgtpzWe5IpKMzf24Ui62Zi0nd1x6OaQerYUiLvIbNDVZ7u6C+Xq7YYUb
qd3YDYo1qtdCPNvmTYlETFxos4XppT0vk2xqt2Y4aF/3laK23i+s8s572mVh
QaO4m+praktSZ7d8jGx7tmGhrlkjOH18gluEJyMf+cTuj+SGsOLB3J//ORb1
yIH2GIwm+46XUiOcd0yG+IArcAxQ3pWSGRncdRO0kMntHTUcPLXbuRbe126/
xAa5C+LvpFD1jsLQvg/L2nP/oAKmwVBwqEK3DHuoK6kwF6IBnMjSwk03wJI0
uI4m5+x8CF3RVgoEXmlpraSu9PadE17i105PT5IXpKBy6bqTerYRqNTx6YsT
EltBXRJJcxCiT1f6xt3lGQZM9szPxPGzvDG7nssbKFvVa2WZ8Fjyvm/WGGil
7bJYaHlmsVkkHicvciQ1MGedr8TsAUFDVuDZT7Zej72Qd7h6dqYFhkkr46d/
fHMKq3d3NA3m6gJVm2wBtkWARNGS00VpNESiBh1vyUQtN5cpbUkKcToKkWU4
Q3DGoJbxJWgO8gOWPNJBRVv1FUkl1dA03Li6LvccnG6lXbRyoRXnM2fJxS/X
79q3xPEuPlJOnpAoR1oXl6oEY7agDs6a7o9VpnY7wZ0okdvExrSSUlg7Wl1I
onhHXqVJ2FnIaqhrExJfEuIsKpTuVNcL60WLVbYXY3fKQP9e7AsEimWn2AH6
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

-->

</rfc>
