<?xml version="1.0" encoding="UTF-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="info"
     docName="draft-watts-agent-authority-transition-receipts-00"
     ipr="trust200902"
     submissionType="IETF"
     symRefs="true"
     tocInclude="true"
     tocDepth="3"
     version="3">
  <front>
    <title abbrev="Agent Authority Transition Receipts">Agent Authority Transition Receipts for Agentic Systems</title>
    <seriesInfo name="Internet-Draft" value="draft-watts-agent-authority-transition-receipts-00"/>
    <author fullname="Deonte Watts" initials="D." surname="Watts">
      <organization>Independent Researcher</organization>
      <address>
        <postal>
          <city>San Francisco</city>
          <region>California</region>
          <country>United States</country>
        </postal>
        <email>deonte@goodshyt.fun</email>
        <uri>https://orcid.org/0009-0005-8586-3650</uri>
      </address>
    </author>
    <date year="2026" month="September" day="12"/>
    <area>Security</area>
    <keyword>AI agents</keyword>
    <keyword>authorization</keyword>
    <keyword>delegation</keyword>
    <keyword>auditability</keyword>
    <keyword>provenance</keyword>
    <keyword>receipts</keyword>
    <abstract>
      <t>
        Autonomous agents increasingly act across administrative and security
        domains using workload identities, OAuth credentials, delegated
        authorization, attestations, and policy engines.  Existing mechanisms
        can establish identity, delegation, or access rights, but deployments
        still lack a common artifact that records which policy and which
        evidence were evaluated when an operation moved into an authorized,
        denied, revoked, or expired authority state.
      </t>
      <t>
        This document defines an Agent Authority Transition Receipt (AATR), a
        signed, non-bearer receipt that cryptographically binds an agent
        operation to the principal, policy, evidence set, decision, audience,
        validity interval, and predecessor authority state used for that
        decision.  AATR intentionally separates evidence from authorization
        and authorization from execution.  Missing or indeterminate required
        evidence fails closed.  AATR is designed to compose with OAuth,
        workload identity, remote attestation, transparency services, and
        agent-specific delegation protocols rather than replace them.
      </t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>
        Agentic software can discover services, invoke tools, delegate work,
        and act asynchronously on behalf of people and organizations.  The
        Internet security stack already provides strong mechanisms for
        authentication, authorization, delegation, workload identity, and
        remote attestation.  However, a recurring operational gap remains:
        after a policy engine consumes one or more pieces of evidence and
        decides whether an operation is authorized, there is no broadly
        interoperable receipt format that binds the decision to the exact
        policy, evidence, action, and authority state evaluated at that time.
      </t>
      <t>
        This document addresses that gap with the Agent Authority Transition
        Receipt (AATR).  AATR is not a new identity system, not a replacement
        for OAuth access tokens, not an attestation format, and not a
        delegation protocol.  It is a decision receipt.
      </t>
      <t>
        The design follows a non-collapse rule: evidence is not authorization,
        authorization is not execution, and successful execution is not proof
        that authorization was valid.  Each promotion between those layers
        requires an explicit decision and a verifiable artifact.
      </t>
    </section>

    <section anchor="requirements">
      <name>Conventions and Requirements Language</name>
      <t>
        The key words <bcp14>MUST</bcp14>, <bcp14>MUST NOT</bcp14>,
        <bcp14>REQUIRED</bcp14>, <bcp14>SHALL</bcp14>,
        <bcp14>SHALL NOT</bcp14>, <bcp14>SHOULD</bcp14>,
        <bcp14>SHOULD NOT</bcp14>, <bcp14>RECOMMENDED</bcp14>,
        <bcp14>NOT RECOMMENDED</bcp14>, <bcp14>MAY</bcp14>, and
        <bcp14>OPTIONAL</bcp14> in this document are to be interpreted as
        described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
        when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>

    <section anchor="terms">
      <name>Terminology</name>
      <dl>
        <dt>Principal</dt>
        <dd>The human or organizational authority on whose behalf an agent operation is proposed.</dd>

        <dt>Agent</dt>
        <dd>A software workload capable of proposing or performing operations, directly or through delegated tools.</dd>

        <dt>Operation</dt>
        <dd>A bounded action request identified by a stable request identifier and a digest over its security-relevant parameters.</dd>

        <dt>Evidence</dt>
        <dd>Machine-verifiable input used by a policy decision, such as an attestation result, delegation object, workload identity assertion, risk signal, or provenance statement.</dd>

        <dt>Policy Decision Point (PDP)</dt>
        <dd>The component that evaluates an operation, policy, and required evidence to produce an authority decision.</dd>

        <dt>Authority State</dt>
        <dd>One of PROPOSED, EVALUATED, AUTHORIZED, DENIED, REVOKED, or EXPIRED.</dd>

        <dt>AATR</dt>
        <dd>A signed, non-bearer receipt that records one authority-state transition for one operation.</dd>

        <dt>Required Evidence</dt>
        <dd>Evidence that the applicable policy declares necessary before a transition to AUTHORIZED can occur.</dd>
      </dl>
    </section>

    <section anchor="model">
      <name>Authority-State Model</name>
      <t>
        AATR models authorization as a state transition rather than as a
        property inferred from successful execution.  The normal decision
        sequence is:
      </t>
      <sourcecode type="text"><![CDATA[
PROPOSED -> EVALUATED -> AUTHORIZED
                     \-> DENIED

AUTHORIZED -> REVOKED
AUTHORIZED -> EXPIRED
      ]]></sourcecode>
      <t>
        An implementation <bcp14>MUST NOT</bcp14> issue an AUTHORIZED
        transition if any required evidence is missing, invalid, failed, or
        indeterminate.  Indeterminate evidence is not permission.
      </t>
      <t>
        AATR does not define execution-state transitions.  An authorized
        operation can still fail to execute, and an executed operation can
        still be shown later to have relied on invalid or stale authority.
        Execution receipts can be layered separately.
      </t>
    </section>

    <section anchor="claims">
      <name>AATR Claims Set</name>
      <t>
        The AATR Claims Set is a JSON object.  The security-relevant claims
        defined by this document are shown below.  Additional claims
        <bcp14>MAY</bcp14> be present, but a verifier
        <bcp14>MUST NOT</bcp14> treat an unknown extension as satisfying a
        required evidence predicate.
      </t>
      <table anchor="fields">
        <name>AATR Claims</name>
        <thead>
          <tr><th>Claim</th><th>Requirement</th><th>Description</th></tr>
        </thead>
        <tbody>
          <tr><td>ver</td><td>REQUIRED</td><td>AATR version. This document defines "1".</td></tr>
          <tr><td>rid</td><td>REQUIRED</td><td>Receipt identifier derived from the canonical core claims.</td></tr>
          <tr><td>iss</td><td>REQUIRED</td><td>Identifier of the issuing PDP or authority service.</td></tr>
          <tr><td>aud</td><td>REQUIRED</td><td>Intended relying party or resource audience.</td></tr>
          <tr><td>principal</td><td>REQUIRED</td><td>Identifier of the represented principal.</td></tr>
          <tr><td>agent</td><td>REQUIRED</td><td>Identifier of the acting agent or workload.</td></tr>
          <tr><td>request_id</td><td>REQUIRED</td><td>Stable identifier for the proposed operation.</td></tr>
          <tr><td>action_digest</td><td>REQUIRED</td><td>Digest over the security-relevant operation parameters.</td></tr>
          <tr><td>from</td><td>REQUIRED</td><td>Previous authority state.</td></tr>
          <tr><td>to</td><td>REQUIRED</td><td>New authority state.</td></tr>
          <tr><td>policy</td><td>REQUIRED</td><td>Policy identifier, version, and digest.</td></tr>
          <tr><td>evidence</td><td>REQUIRED</td><td>Array of evidence references and evaluation states.</td></tr>
          <tr><td>iat</td><td>REQUIRED</td><td>Issuance time.</td></tr>
          <tr><td>exp</td><td>REQUIRED for AUTHORIZED</td><td>Authority expiration time.</td></tr>
          <tr><td>nonce</td><td>RECOMMENDED</td><td>Freshness value bound to the operation.</td></tr>
          <tr><td>prev</td><td>OPTIONAL</td><td>Predecessor AATR identifier for chained transitions.</td></tr>
          <tr><td>reason</td><td>RECOMMENDED</td><td>Stable machine-readable decision reason code.</td></tr>
        </tbody>
      </table>
    </section>

    <section anchor="evidence-object">
      <name>Evidence Entries</name>
      <t>
        Each evidence entry <bcp14>MUST</bcp14> identify the evidence type,
        digest, status, and the policy predicate it is intended to satisfy.
        The status vocabulary defined by this document is SATISFIED, FAILED,
        UNKNOWN, and MISSING.
      </t>
      <t>
        An AUTHORIZED AATR <bcp14>MUST</bcp14> contain only SATISFIED status
        for every evidence predicate marked required by the referenced
        policy.  A relying party <bcp14>MUST</bcp14> reject an AUTHORIZED
        AATR if it cannot determine that all required predicates were
        satisfied.
      </t>
      <t>
        Raw evidence SHOULD NOT be embedded when a digest and an access-
        controlled reference are sufficient.  This reduces correlation and
        disclosure risk.
      </t>
    </section>

    <section anchor="canonicalization">
      <name>Receipt Identifier and Canonicalization</name>
      <t>
        The receipt identifier is computed over a canonical JSON
        representation of the core claims using the JSON Canonicalization
        Scheme <xref target="RFC8785"/>.  The <tt>rid</tt> claim itself and
        signature container are excluded from this calculation.
      </t>
      <sourcecode type="text"><![CDATA[
core = AATR claims excluding "rid" and signature container
canonical = JCS(core)
digest = SHA-256(canonical)
rid = "sha256:" || lowercase-hex(digest)
      ]]></sourcecode>
      <t>
        SHA-256 is used as specified by <xref target="RFC6234"/>.
        Implementations that introduce other digest algorithms require an
        explicit algorithm identifier and downgrade protections.
      </t>
    </section>

    <section anchor="signing">
      <name>Signing and Verification</name>
      <t>
        An AATR <bcp14>MUST</bcp14> be integrity protected by a signature
        mechanism that identifies the issuing authority.  This document
        profiles JSON Web Signature (JWS) <xref target="RFC7515"/> for the
        initial representation.  The JWS payload is the UTF-8 encoding of
        the AATR Claims Set including <tt>rid</tt>.
      </t>
      <t>
        A verifier <bcp14>MUST</bcp14> validate the signature, issuer,
        audience, time bounds, receipt identifier, predecessor linkage when
        present, action digest, policy digest, and evidence predicates before
        accepting the receipt.
      </t>
      <t>
        The <tt>alg</tt> value "none" <bcp14>MUST NOT</bcp14> be accepted.
        Algorithm agility follows the JOSE registries.  Deployments
        <bcp14>SHOULD</bcp14> use algorithms that meet their current
        security policy and key-management requirements.
      </t>
    </section>

    <section anchor="verify">
      <name>Normative Verification Algorithm</name>
      <ol>
        <li>Parse the JWS and reject malformed input.</li>
        <li>Verify the signature using a key trusted for the declared issuer.</li>
        <li>Verify that <tt>aud</tt> identifies the current relying party.</li>
        <li>Recompute <tt>rid</tt> from the RFC 8785 canonical core and compare it in constant time where practical.</li>
        <li>Verify <tt>iat</tt>, <tt>exp</tt>, and local freshness policy.</li>
        <li>Verify that <tt>request_id</tt> and <tt>action_digest</tt> match the operation under consideration.</li>
        <li>Resolve the referenced policy and verify its identifier, version, and digest.</li>
        <li>Determine the set of required evidence predicates from that policy.</li>
        <li>Verify each evidence reference according to its evidence type.</li>
        <li>If any required predicate is FAILED, UNKNOWN, MISSING, unverifiable, or stale, reject an AUTHORIZED transition.</li>
        <li>Verify that the <tt>from</tt> to <tt>to</tt> transition is permitted by local transition policy and predecessor state.</li>
        <li>Apply revocation checks required by the issuer, policy, or local deployment.</li>
      </ol>
    </section>

    <section anchor="example">
      <name>Example</name>
      <sourcecode type="json"><![CDATA[
{
  "ver": "1",
  "rid": "sha256:4f8e...d021",
  "iss": "https://authority.example.net/pdp",
  "aud": "https://api.example.com",
  "principal": "acct:alice@example.net",
  "agent": "spiffe://example.net/agent/finance-helper",
  "request_id": "req-7c91d4",
  "action_digest": "sha256:05bd...ab10",
  "from": "EVALUATED",
  "to": "AUTHORIZED",
  "policy": {
    "id": "payments.transfer",
    "version": "12",
    "digest": "sha256:c1aa...9204"
  },
  "evidence": [
    {
      "type": "delegation",
      "digest": "sha256:18c2...7731",
      "predicate": "principal_delegation",
      "status": "SATISFIED"
    },
    {
      "type": "workload-attestation",
      "digest": "sha256:99a4...33ef",
      "predicate": "approved_runtime",
      "status": "SATISFIED"
    }
  ],
  "iat": 1789273200,
  "exp": 1789273260,
  "nonce": "CzX7wqYq2WmV0g",
  "reason": "policy-permit"
}
      ]]></sourcecode>
      <t>
        The example is illustrative.  The receipt does not itself grant
        bearer access to the resource.  The resource server can require an
        OAuth access token or another authorization credential in addition
        to the AATR.
      </t>
    </section>

    <section anchor="composition">
      <name>Composition with Existing Protocols</name>
      <t>
        AATR is designed as a narrow composition layer.
      </t>
      <ul>
        <li>
          OAuth 2.0 Token Exchange <xref target="RFC8693"/> can represent
          delegated security tokens.  Rich Authorization Requests
          <xref target="RFC9396"/> can carry fine-grained authorization
          details.  AATR records the subsequent authority-state decision and
          the evidence/policy inputs used to make it.
        </li>
        <li>
          Demonstrating Proof of Possession at the Application Layer (DPoP)
          <xref target="RFC9449"/> binds OAuth tokens to a key.  AATR does not
          replace proof of possession.
        </li>
        <li>
          RATS <xref target="RFC9334"/> defines roles and artifacts for remote
          attestation.  An Attestation Result can be referenced as one AATR
          evidence input.
        </li>
        <li>
          WIMSE work defines workload identity mechanisms for multi-system
          environments.  AATR can identify the agent using a WIMSE-compatible
          workload identifier without defining a new workload identity scheme.
        </li>
        <li>
          Agent delegation and operation-authorization proposals can supply
          delegation or operation evidence.  AATR's distinct purpose is to
          record the policy transition from evaluated evidence to an authority
          state.
        </li>
      </ul>
    </section>

    <section anchor="nonbearer">
      <name>Non-Bearer Semantics</name>
      <t>
        An AATR is evidence of an authority decision, not a bearer
        credential.  Possession of a valid AATR alone <bcp14>MUST NOT</bcp14>
        cause a resource server to grant access unless a separate protocol
        explicitly profiles AATR as part of its authorization exchange.
      </t>
      <t>
        This distinction prevents receipt laundering, where an audit artifact
        is replayed as though it were an access token.
      </t>
    </section>

    <section anchor="revocation">
      <name>Revocation and Staleness</name>
      <t>
        An issuer can revoke authority by issuing a later AATR that
        transitions the same operation or authority lineage to REVOKED.
        Relying parties that accept chained AATRs <bcp14>MUST</bcp14> define
        how they discover later receipts or revocation status.
      </t>
      <t>
        Evidence that was fresh when an earlier decision was issued can later
        become stale.  Therefore a relying party <bcp14>MUST NOT</bcp14>
        assume that an old AUTHORIZED AATR remains usable beyond its
        expiration or local freshness policy.
      </t>
    </section>

    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>
        AATR can correlate principals, agents, actions, policies, and
        evidence.  Implementations SHOULD minimize receipt contents, avoid
        embedding natural-language prompts or raw private evidence, use
        audience restriction, and apply retention controls.
      </t>
      <t>
        Digests can still leak information when the underlying value comes
        from a low-entropy space.  Implementations MUST NOT assume that a
        digest automatically anonymizes the referenced data.
      </t>
      <t>
        Cross-domain deployments should consider pairwise or scoped
        identifiers when a globally stable identifier is unnecessary.
      </t>
    </section>

    <section anchor="security">
      <name>Security Considerations</name>
      <t>
        AATR is security-sensitive because relying parties can use it to
        decide whether a prior authorization decision is trustworthy.
        Implementations must address at least the following threats.
      </t>
      <dl>
        <dt>Replay</dt>
        <dd>Bind receipts to audience, operation digest, freshness values, and short validity windows.</dd>
        <dt>Confused deputy</dt>
        <dd>Verify both represented principal and acting agent; do not infer one identity from the other.</dd>
        <dt>Policy substitution</dt>
        <dd>Verify the exact policy digest and version, not only a human-readable policy name.</dd>
        <dt>Evidence substitution</dt>
        <dd>Verify type, digest, freshness, and required predicate for each evidence entry.</dd>
        <dt>Receipt laundering</dt>
        <dd>Do not treat AATR as a bearer token.</dd>
        <dt>Key compromise</dt>
        <dd>Support issuer key rotation, revocation, and bounded receipt lifetimes.</dd>
        <dt>Indeterminate evidence</dt>
        <dd>Unknown, missing, stale, or unverifiable required evidence must not be promoted into authorization.</dd>
        <dt>Log compromise</dt>
        <dd>Optional transparency logging can improve detection, but log inclusion alone does not establish policy correctness.</dd>
      </dl>
    </section>

    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>
        This version of the document requests no IANA actions.  A future
        revision that standardizes a dedicated media type or registry will
        specify those actions explicitly.
      </t>
    </section>

    <section anchor="deployment">
      <name>Deployment and Incremental Adoption</name>
      <t>
        AATR can be introduced without replacing an existing authorization
        stack.  A deployment can begin by issuing receipts in audit-only mode,
        compare them against existing policy decisions, and later require
        verified receipts at selected high-consequence enforcement points.
      </t>
      <t>
        This incremental profile is particularly useful for agentic workflows
        spanning multiple trust domains, where identity, delegation,
        attestation, and authorization are already produced by different
        systems.
      </t>
    </section>

    <section anchor="related">
      <name>Relationship to Current Agent Authorization Work</name>
      <t>
        Multiple active Internet-Drafts address agent identity, delegation,
        authorization, and Internet architecture.  The Delegation Receipt
        Protocol records user-to-operator delegation.  Agent Operation
        Authorization defines an operation-specific authorization framework.
        WIMSE work addresses workload identity.  Other proposals define agent
        identity and delegation tokens.  AATR is deliberately narrower:
        it standardizes the verifiable record of a policy-mediated authority
        state transition and the evidence that the policy consumed.
      </t>
      <t>
        This separation is intended to make the mechanism composable rather
        than competitive.  If existing authorization protocols later define
        equivalent receipt semantics, AATR can be profiled as a common claims
        model or folded into that work.
      </t>
    </section>

    <section anchor="open">
      <name>Open Issues for Discussion</name>
      <ul>
        <li>Whether the initial representation should remain JWS-only or also define a COSE/CBOR profile.</li>
        <li>Whether a standard transition-state registry is useful or local policy should define additional states.</li>
        <li>How revocation discovery should compose with short-lived credentials and transparency services.</li>
        <li>Whether receipt chaining should remain optional or become mandatory for multi-hop agent workflows.</li>
        <li>Which IETF venue should own the work if the community finds the problem worth standardizing.</li>
      </ul>
    </section>

    <section anchor="conclusion">
      <name>Conclusion</name>
      <t>
        Agentic systems increasingly combine identity, delegation,
        attestation, policy, and automated execution.  AATR adds a narrow
        missing object: a verifiable receipt that says which authority state
        changed, for which operation, under which policy, using which
        evidence.  By keeping evidence, authorization, and execution
        distinct, deployments can make high-consequence agent actions easier
        to audit, revoke, compare across domains, and reason about without
        requiring a new identity system or a new authorization token format.
      </t>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>

      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>

      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>

      <reference anchor="RFC7515" target="https://www.rfc-editor.org/info/rfc7515">
        <front>
          <title>JSON Web Signature (JWS)</title>
          <author initials="M." surname="Jones"/>
          <author initials="J." surname="Bradley"/>
          <author initials="N." surname="Sakimura"/>
          <date month="May" year="2015"/>
        </front>
        <seriesInfo name="RFC" value="7515"/>
        <seriesInfo name="DOI" value="10.17487/RFC7515"/>
      </reference>

      <reference anchor="RFC8785" target="https://www.rfc-editor.org/info/rfc8785">
        <front>
          <title>JSON Canonicalization Scheme (JCS)</title>
          <author initials="A." surname="Rundgren"/>
          <author initials="B." surname="Jordan"/>
          <author initials="S." surname="Erlandsson"/>
          <date month="June" year="2020"/>
        </front>
        <seriesInfo name="RFC" value="8785"/>
        <seriesInfo name="DOI" value="10.17487/RFC8785"/>
      </reference>

      <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234">
        <front>
          <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
          <author initials="D." surname="Eastlake"/>
          <author initials="T." surname="Hansen"/>
          <date month="May" year="2011"/>
        </front>
        <seriesInfo name="RFC" value="6234"/>
        <seriesInfo name="DOI" value="10.17487/RFC6234"/>
      </reference>
    </references>

    <references>
      <name>Informative References</name>

      <reference anchor="RFC8693" target="https://www.rfc-editor.org/info/rfc8693">
        <front>
          <title>OAuth 2.0 Token Exchange</title>
          <author initials="M." surname="Jones"/>
          <author initials="A." surname="Nadalin"/>
          <author initials="B." surname="Campbell"/>
          <author initials="J." surname="Bradley"/>
          <author initials="C." surname="Mortimore"/>
          <date month="January" year="2020"/>
        </front>
        <seriesInfo name="RFC" value="8693"/>
      </reference>

      <reference anchor="RFC9396" target="https://www.rfc-editor.org/info/rfc9396">
        <front>
          <title>OAuth 2.0 Rich Authorization Requests</title>
          <author initials="T." surname="Lodderstedt"/>
          <author initials="B." surname="Campbell"/>
          <author initials="J." surname="Bradley"/>
          <date month="May" year="2023"/>
        </front>
        <seriesInfo name="RFC" value="9396"/>
      </reference>

      <reference anchor="RFC9449" target="https://www.rfc-editor.org/info/rfc9449">
        <front>
          <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
          <author initials="D." surname="Fett"/>
          <author initials="B." surname="Campbell"/>
          <author initials="J." surname="Bradley"/>
          <author initials="T." surname="Lodderstedt"/>
          <author initials="M." surname="Jones"/>
          <date month="September" year="2023"/>
        </front>
        <seriesInfo name="RFC" value="9449"/>
      </reference>

      <reference anchor="RFC9334" target="https://www.rfc-editor.org/info/rfc9334">
        <front>
          <title>Remote ATtestation procedureS (RATS) Architecture</title>
          <author initials="H." surname="Birkholz"/>
          <author initials="D." surname="Thaler"/>
          <author initials="M." surname="Richardson"/>
          <author initials="N." surname="Smith"/>
          <author initials="W." surname="Pan"/>
          <date month="January" year="2023"/>
        </front>
        <seriesInfo name="RFC" value="9334"/>
      </reference>

      <reference anchor="I-D.nelson-agent-delegation-receipts" target="https://datatracker.ietf.org/doc/draft-nelson-agent-delegation-receipts/">
        <front>
          <title>Delegation Receipt Protocol for AI Agent Authorization</title>
          <author initials="R." surname="Nelson"/>
          <date month="June" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-nelson-agent-delegation-receipts-10"/>
      </reference>

      <reference anchor="I-D.liu-agent-operation-authorization" target="https://datatracker.ietf.org/doc/draft-liu-agent-operation-authorization/">
        <front>
          <title>Agent Operation Authorization</title>
          <author initials="D." surname="Liu"/>
          <author initials="H." surname="Zhu"/>
          <author initials="S." surname="Krishnan"/>
          <date month="March" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-liu-agent-operation-authorization-02"/>
      </reference>

      <reference anchor="I-D.ietf-wimse-arch" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-arch/">
        <front>
          <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
          <author/>
          <date month="July" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-08"/>
      </reference>

      <reference anchor="I-D.daniel-ai-agent-internet-architecture" target="https://datatracker.ietf.org/doc/draft-daniel-ai-agent-internet-architecture/">
        <front>
          <title>Architectural Requirements for Supporting AI Agents on the Internet</title>
          <author initials="S. D." surname="Park"/>
          <date month="August" year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-daniel-ai-agent-internet-architecture-00"/>
      </reference>
    </references>

    <section anchor="ack">
      <name>Acknowledgments</name>
      <t>
        The author thanks the IETF community members working on OAuth,
        workload identity, remote attestation, software transparency, and
        emerging agent authorization for the protocol foundations that make
        a narrow receipt layer possible.
      </t>
    </section>

    <section anchor="author">
      <name>Author's Address</name>
      <t>
        Deonte Watts<br/>
        Independent Researcher<br/>
        San Francisco, California, United States<br/>
        Email: deonte@goodshyt.fun<br/>
        ORCID: https://orcid.org/0009-0005-8586-3650
      </t>
    </section>
  </back>
</rfc>
