<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mcgraw-httpapi-agent-budget-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Delegation">The Delegation HTTP Authentication Scheme for Request-Bound Authority</title>
    <seriesInfo name="Internet-Draft" value="draft-mcgraw-httpapi-agent-budget-02"/>
    <author initials="J." surname="McGraw" fullname="John Paul McGraw, Jr.">
      <organization abbrev="TaskHawk">TaskHawk Systems LLC</organization>
      <address>
        <postal>
          <city>Charlottesville</city>
          <region>VA</region>
          <country>United States of America</country>
        </postal>
        <email>j.mcgraw@taskhawktech.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="15"/>
    <area>Web and Internet Transport</area>
    <workgroup>HTTPAPI</workgroup>
    <keyword>HTTP</keyword>
    <keyword>authentication</keyword>
    <keyword>delegated authority</keyword>
    <keyword>authority proof</keyword>
    <keyword>protected processing</keyword>
    <keyword>budget profile</keyword>
    <keyword>RateLimit</keyword>
    <keyword>COSE</keyword>
    <keyword>JOSE</keyword>
    <keyword>ML-DSA</keyword>
    <keyword>SLH-DSA</keyword>
    <keyword>CBOR</keyword>
    <abstract>
      <?line 90?>

<t>Delegated software requesters increasingly make HTTP requests that spend,
consume, disclose, mutate, invoke, or actuate on behalf of human or
organizational principals.  Existing HTTP authentication mechanisms indicate
whether a requester holds a credential.  RateLimit fields communicate
server-advertised quota and current service-limit information.  HTTP Message
Signatures can protect selected components of an HTTP message.  None of these
mechanisms directly defines a common origin-server challenge for a requester to
present verifiable, bounded authority from its principal before the server
performs protected processing.</t>
      <t>This document defines the "Delegation" HTTP authentication scheme, response
semantics for delegated-authority challenges using existing HTTP status codes
and Problem Details, the <tt>Delegation-Proof</tt> HTTP field, and a COSE/CBOR proof
carriage model for request-bound delegated authority.  The initial authority
profile is the Budget profile, which uses a CBOR/COSE Budget-Attestation
envelope to prove bounded authority to spend, consume metered service units, or
commit bounded resources.  The mechanism is algorithm-agile; the initial
<tt>cose-ml-dsa</tt> proof profile uses existing JOSE and COSE serializations for
ML-DSA, with ML-DSA-65 as the baseline algorithm and ML-DSA-87 available as a
high-assurance deployment policy option.  A dedicated <tt>4NN Delegated Authority
Required</tt> status code remains an open design question for HTTP Working Group
review; this revision does not depend on that status code and does not define
payment semantics.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mcgraw-httpapi-agent-budget/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTPAPI Working Group mailing list (<eref target="mailto:httpapi@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/httpapi/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/httpapi/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 116?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Delegated software requesters acting on behalf of human or organizational
principals increasingly make HTTP requests that may spend money, consume
metered service units, disclose regulated data, mutate production state,
invoke downstream services, or actuate external systems.  HTTP authentication
<xref target="RFC9110"/> addresses whether a requester holds a usable credential.  RateLimit
fields <xref target="I-D.ietf-httpapi-ratelimit-headers"/> communicate server-defined quota
policies and current service-limit information.  HTTP Message Signatures
<xref target="RFC9421"/> can provide integrity and authenticity for selected HTTP message
components.  OAuth Token Exchange <xref target="RFC8693"/> and GNAP <xref target="RFC9635"/> define ways
to obtain or negotiate authorization artifacts.</t>
      <t>Delegated authority at the protected origin is a distinct HTTP requirement:
before processing a consequential request, an origin server or gateway needs a
common way to challenge for, receive, and verify a proof that the requester has
bounded authority from its principal for that request.  This document defines
that challenge and proof-carriage layer.</t>
      <t>This document defines:</t>
      <ul spacing="normal">
        <li>
          <t>The "Delegation" HTTP authentication scheme (<xref target="auth-scheme"/>),
used in the <tt>WWW-Authenticate</tt> response field when delegated authority is
required and in the <tt>Authorization</tt> request field of a subsequent request.</t>
        </li>
        <li>
          <t>Delegation challenge response semantics (<xref target="challenge-responses"/>), using 401
(Unauthorized) when a Delegation credential is absent, invalid, incomplete,
or otherwise needs to be obtained, and 403 (Forbidden) when a Delegation
credential is understood but is insufficient under local policy.</t>
        </li>
        <li>
          <t>The <tt>Delegation-Proof</tt> HTTP field (<xref target="delegation-proof-field"/>), used when
delegated authority is additive to another origin-server authentication
mechanism already carried in <tt>Authorization</tt>.</t>
        </li>
        <li>
          <t>A proof-profile model for request-bound authority.  The initial Budget
authority profile defines the Budget-Attestation envelope (<xref target="budget-envelope"/>),
a CBOR-encoded <xref target="RFC8949"/>, COSE-signed <xref target="RFC9052"/> structure that carries
semantic claims about issuer, requester, expiry, request binding, permitted
rails, and amount.</t>
        </li>
      </ul>
      <t>The Delegation authentication scheme is algorithm-agile.  The initial
Budget <tt>cose-ml-dsa</tt> profile uses ML-DSA algorithm identifiers serialized for
JOSE and COSE by <xref target="RFC9964"/>, using the ML-DSA algorithm specified in
<xref target="FIPS204"/>.  Implementations of this profile <bcp14>MUST</bcp14> support ML-DSA-65 and <bcp14>MAY</bcp14>
support ML-DSA-87.  A deployment <bcp14>MAY</bcp14> require ML-DSA-87 or another registered
algorithm by local policy.  A deployment <bcp14>MAY</bcp14> add an optional rail-keyed
signature using SLH-DSA, aligned with the JOSE and COSE SLH-DSA work in
<xref target="I-D.ietf-cose-sphincs-plus"/> and the SLH-DSA algorithm specified in
<xref target="FIPS205"/>.  That optional signature is not a replacement for the primary
signature.</t>
      <t>This document does not define a payment protocol.  Settlement rails such
as L402 <xref target="L402"/>, x402 <xref target="X402"/>, card payments, or other systems can use
Delegation proofs or the Budget profile as input to their own policy and
settlement flows; however, their settlement semantics are outside the scope of
this document.  In particular, this document does not depend on, redefine, or
reserve any semantics for HTTP 402 (Payment Required).</t>
      <t>Scope and modularization: Sections 3 and 4 define the HTTP response semantics,
authentication challenge, credential syntax, and HTTP field semantics for
Delegation.  Section 5 defines the initial Budget authority profile to
demonstrate an interoperable cryptographic binding for one class of delegated
authority.  During standards progression, the Working Group can move one or
more proof profiles into companion documents for review by the COSE, OAuth, or
GNAP communities without changing the core HTTP semantics defined by the
authentication scheme, Problem Details members, and field carriage.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<dl>
          <dt>Principal:</dt>
          <dd>
            <t>The human, organization, service, or other authority holder on whose behalf
a delegated requester acts.</t>
          </dd>
          <dt>Issuer:</dt>
          <dd>
            <t>An entity that issues a Delegation proof on behalf of a principal.  In the
Budget authority profile, the Issuer is the entity that issues
Budget-Attestations.</t>
          </dd>
          <dt>Delegated Requester:</dt>
          <dd>
            <t>A client, workload, device, job, agent, or other software component that
presents a Delegation proof issued by an Issuer in order to make HTTP
requests within delegated bounds.</t>
          </dd>
          <dt>Agent:</dt>
          <dd>
            <t>A delegated requester.  The term "agent" remains the motivating deployment
case and appears in existing implementation field names; it is not a
protocol requirement for any specific architecture.</t>
          </dd>
          <dt>Verifier:</dt>
          <dd>
            <t>An origin server, gateway, or intermediary that receives a
Delegation proof, validates its signatures and claims, and decides whether
to perform protected processing for the bearing request.</t>
          </dd>
          <dt>Protected Processing:</dt>
          <dd>
            <t>Application processing that the Verifier will not perform until the
requester has presented a Delegation proof satisfying local policy.  Examples
include actions that spend, consume, disclose, mutate, invoke, or actuate.</t>
          </dd>
          <dt>Delegation Proof:</dt>
          <dd>
            <t>A verifiable object presented by a delegated requester to show bounded
authority from a principal for a request or class of requests.</t>
          </dd>
          <dt>Authority Profile:</dt>
          <dd>
            <t>A profile that defines the claims, proof format, bounds, and verifier checks
for a specific class of delegated authority.  Budget is the initial authority
profile in this document.</t>
          </dd>
          <dt>Budget Authority Profile:</dt>
          <dd>
            <t>The authority profile defined in <xref target="budget-envelope"/> for spending, consuming
metered service units, or committing bounded resources.</t>
          </dd>
          <dt>Budget-Attestation:</dt>
          <dd>
            <t>The CBOR-encoded, COSE-signed Delegation proof defined for the Budget
authority profile in <xref target="budget-envelope"/>.</t>
          </dd>
          <dt>Settlement Rail:</dt>
          <dd>
            <t>An out-of-band protocol or payment system used to transfer value or
record resource consumption.  Rail names can appear in field 7 of a
Budget-Attestation.  This document does not define how any settlement rail
operates.</t>
          </dd>
          <dt>Rail-Keyed Signature:</dt>
          <dd>
            <t>An optional additional signature over the Budget-Attestation envelope,
intended to bind a deployment's rail-specific policy to the same claims that
the primary Issuer signature covers.</t>
          </dd>
        </dl>
      </section>
      <section anchor="applicability">
        <name>Applicability</name>
        <t>Delegation is a general HTTP mechanism for request-bound delegated authority.
Autonomous software agents and paid-resource access are motivating deployment
cases; however, the mechanism also applies to service workloads, CI/CD jobs,
IoT or fleet devices, batch systems, scheduled data processors, delegated
administration tools, and other requesters that need to prove bounded
authority before protected processing occurs.</t>
        <t>The core mechanism is intentionally broader than budget.  Authority profiles
can define bounds for spending, service-unit consumption, compute allocation,
data disclosure, infrastructure mutation, downstream invocation, procurement
commitment, safety-relevant actuation, or other consequential actions.  The
Budget authority profile is the initial profile because it provides a concrete
interoperable proof format and a clear deployment need.</t>
        <t>Budget-Claims field 3 carries the delegated requester identifier.  Deployments
<bcp14>MAY</bcp14> populate it with an agent identifier, service-account identifier, workload
identity, device identifier, job identifier, or privacy-preserving alias.  This
field does not require the requester to be an AI system.  Deployment APIs <bcp14>MAY</bcp14>
continue using names such as <tt>agent_id</tt> at their local boundary, but that name
is not encoded in the signed CBOR claims map.</t>
      </section>
      <section anchor="relationship-to-oauth-gnap-and-token-exchange">
        <name>Relationship to OAuth, GNAP, and Token Exchange</name>
        <t>OAuth Token Exchange <xref target="RFC8693"/> defines an HTTP- and JSON-based Security Token
Service pattern for obtaining security tokens, including delegation and
impersonation cases.  GNAP <xref target="RFC9635"/> defines a grant negotiation and
authorization protocol for delegating authorization to software and conveying
the resulting artifacts.  This document does not replace either protocol.</t>
        <t>Delegation defines the protected-resource challenge and presentation layer: an
origin server or gateway can tell a requester which delegated authority proof
is required before protected processing, and the requester can present a
request-bound proof for verification.  OAuth, GNAP, an STS, an issuer-managed
key service, or another deployment-specific system can be used to obtain the
proof.  The issuance flow is outside the scope of this document.</t>
        <t>The delegation semantics in this document are closer to delegation than
impersonation: the requester remains distinct from the principal, and the
proof records that the requester is acting with bounded authority from the
principal.  The document does not define general identity authentication, user
consent, account linking, or grant negotiation.</t>
      </section>
      <section anchor="relationship-to-attribute-certificates">
        <name>Relationship to Attribute Certificates</name>
        <t>X.509 attribute certificates define an older authorization mechanism separate
from public-key identity certificates; <xref target="RFC5755"/> describes authorization as
the conveyance of privilege from one entity to another.  Delegation follows the
same broad separation between identity and authority, but does not define an
X.509 attribute-certificate profile.  It defines HTTP challenge semantics and
HTTP proof carriage for request-bound delegated authority.</t>
      </section>
      <section anchor="ratelimit-fields">
        <name>Relationship to RateLimit Fields</name>
        <t>RateLimit fields describe service limits from the server to the client.
They tell the client what quota policy applies and what capacity is
currently available under that server-defined policy.  They are useful
for throttling, backoff, and avoiding 429 responses.</t>
        <t>Delegation proofs travel in the opposite direction.  They are
client-presented credentials showing that an Issuer authorized a Delegated
Requester to act within stated bounds on behalf of a principal.  They are
evaluated before the Verifier performs protected processing.</t>
        <t>This document defines a separate mechanism rather than extending
RateLimit because a signed, bearer-presented authority proof has
different issuer, freshness, replay, and verification semantics from
server-advertised quota metadata.
Extending <tt>RateLimit-Policy</tt> would change the issuer and trust model of
RateLimit from server-authored quota advertisement into principal-authorized
delegated authority, which is a different protocol semantic rather than
a new quota parameter.</t>
        <t>The mechanisms are complementary:</t>
        <ul spacing="normal">
          <li>
            <t>A server <bcp14>MAY</bcp14> return RateLimit fields on 200, 401, 403, 429, or other
responses when it wants to communicate server-side quota state.</t>
          </li>
          <li>
            <t>A server <bcp14>MUST NOT</bcp14> treat RateLimit fields as a substitute for a Delegation
proof, because RateLimit fields are not signed authority from the
requester's principal.</t>
          </li>
          <li>
            <t>A Budget-Attestation <bcp14>MUST NOT</bcp14> be interpreted as a server quota promise.
It only states the Delegated Requester's delegated authority under the Budget
authority profile.</t>
          </li>
        </ul>
        <table>
          <thead>
            <tr>
              <th align="left">Property</th>
              <th align="left">RateLimit fields</th>
              <th align="left">Delegation proof</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Direction</td>
              <td align="left">Server to client</td>
              <td align="left">Client to verifier</td>
            </tr>
            <tr>
              <td align="left">Issuer</td>
              <td align="left">Resource server or gateway</td>
              <td align="left">Issuer acting for the principal</td>
            </tr>
            <tr>
              <td align="left">Integrity</td>
              <td align="left">HTTP field semantics</td>
              <td align="left">COSE/JOSE signature</td>
            </tr>
            <tr>
              <td align="left">Purpose</td>
              <td align="left">Advertise quota and current service limits</td>
              <td align="left">Prove bounded delegated authority</td>
            </tr>
            <tr>
              <td align="left">Failure mode</td>
              <td align="left">Client might be throttled</td>
              <td align="left">Request fails before protected processing</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="relationship-to-http-message-signatures">
        <name>Relationship to HTTP Message Signatures</name>
        <t><xref target="RFC9421"/> defines signatures over components of individual HTTP
messages.  A Delegation proof signs a portable authority object whose claims
can be evaluated independently of a single HTTP message and, when required,
bound to a particular bearing request.  The two mechanisms can be composed: a
Delegated Requester can send an HTTP-message signature that covers the request
as transmitted and a Delegation proof that covers delegated authority for the
action.</t>
      </section>
      <section anchor="relationship-to-http-402">
        <name>Relationship to HTTP 402</name>
        <t>HTTP 402 (Payment Required) is reserved by HTTP Semantics <xref target="RFC9110"/>.
Some deployed payment systems use 402 responses as part of their own
settlement flows.  This document neither depends on those deployments nor
defines their semantics.</t>
        <t>An implementation <bcp14>MAY</bcp14> use a Delegation proof or the Budget authority profile
before invoking a settlement rail.  Whether that later settlement interaction
uses HTTP 402, a 401
challenge, a signed request body, or another transport is out of scope for
this document.</t>
      </section>
    </section>
    <section anchor="overview-operation">
      <name>Overview of Operation</name>
      <t>A protected origin determines that a request requires delegated authority and
that no acceptable Delegation credential is present:</t>
      <sourcecode type="http-message"><![CDATA[
POST /datasets/regulated/export HTTP/1.1
Host: api.example
]]></sourcecode>
      <t>It returns:</t>
      <sourcecode type="http-message"><![CDATA[
HTTP/1.1 401 Unauthorized
Date: Tue, 02 Jun 2026 18:00:00 GMT
Cache-Control: no-store
Content-Type: application/problem+json
Delegation-Version: 1
WWW-Authenticate: Delegation realm="api.example",
                  version=1,
                  profile="budget",
                  proof-format="cose-ml-dsa",
                  alg="ML-DSA-65",
                  nonce="QMjVqg5Xb6yV0bO_t9X8gQ",
                  max-age=300

{
  "type": "https://example.com/problems/delegation-required",
  "title": "Delegated authority proof required",
  "status": 401,
  "detail": "A valid Delegation proof is required.",
  "authority_requirements": {
    "profile": "budget",
    "proof_formats": ["cose-ml-dsa"],
    "actions": ["dataset:export"],
    "min_amount": "2.50",
    "currency": "USD",
    "proof_required": true,
    "verifier_required": true,
    "nonce": "QMjVqg5Xb6yV0bO_t9X8gQ",
    "delegation_version": "1",
    "max_age": 300
  }
}
]]></sourcecode>
      <t>The Delegated Requester obtains a Delegation proof from its Issuer by means
outside this document and retries using body carriage.  In this example the
proof uses the Budget authority profile:</t>
      <sourcecode type="http-message"><![CDATA[
POST /datasets/regulated/export HTTP/1.1
Host: api.example
Content-Type: application/delegation-proof+cose
Content-Length: 4217

[COSE_Sign1 Budget-Attestation bytes]
]]></sourcecode>
      <t>If the attestation is valid for the request and local policy, the Verifier
performs protected processing.  If Delegation validation fails, the Verifier
returns either a 401 or 403 response as described in <xref target="challenge-responses"/>
and <bcp14>SHOULD</bcp14> include a <tt>reason</tt> extension member in the Problem Details body.</t>
    </section>
    <section anchor="challenge-responses">
      <name>Delegation Challenge Responses</name>
      <t>Delegation uses existing HTTP authentication semantics as its baseline response
model.  A Verifier that requires delegated authority and receives no Delegation
credential, an invalid Delegation credential, or a partial Delegation
credential <bcp14>SHOULD</bcp14> send a 401 (Unauthorized) response containing a
<tt>WWW-Authenticate</tt> response field with at least one <tt>Delegation</tt> challenge.
This follows the HTTP authentication model in <xref target="RFC9110"/>: the response
supplies a challenge that the client can answer by obtaining or presenting a
Delegation credential.</t>
      <t>A Verifier that receives a syntactically valid and authenticated Delegation
credential that is insufficient for the requested resource, exceeds local
policy, names an unacceptable authority profile, or otherwise does not
authorize the request <bcp14>SHOULD</bcp14> send a 403 (Forbidden) response.  A 403 response
<bcp14>MAY</bcp14> include a <tt>WWW-Authenticate</tt> response field with a <tt>Delegation</tt> challenge
when a different Delegation credential might allow the request to succeed; it
<bcp14>MUST NOT</bcp14> include that challenge when local policy forbids the request
independent of Delegation credential contents.</t>
      <t>A Delegation challenge response <bcp14>SHOULD</bcp14> include <tt>Cache-Control: no-store</tt> as
defined by HTTP caching <xref target="RFC9111"/>.  A Delegation challenge response that
contains a
nonce, requester-specific policy, or other policy-sensitive material <bcp14>MUST</bcp14>
include <tt>Cache-Control: no-store</tt>.</t>
      <t>A Delegation challenge response <bcp14>SHOULD</bcp14> include an <tt>application/problem+json</tt> or
<tt>application/problem+cbor</tt> body using <xref target="RFC9457"/>.  The Problem Details object
<bcp14>SHOULD</bcp14> contain an <tt>authority_requirements</tt> extension member when the Verifier
can describe the delegated authority needed for the protected request.  A
profile <bcp14>MAY</bcp14> define additional profile-specific members; for example, the Budget
authority profile can describe amounts, units, or accepted settlement rails.</t>
      <t>This document does not redefine HTTP 402 (Payment Required), and a Delegation
challenge response <bcp14>MUST NOT</bcp14> be interpreted as a settlement request.  A 429
(Too Many Requests) response remains the appropriate signal for server-side
quota exhaustion.</t>
      <section anchor="status-code-question">
        <name>Dedicated Status Code Design Question</name>
        <t>Earlier revisions proposed a dedicated 427 (Budget Required) status code for
Budget challenges.  The broader design question is whether HTTP needs a
dedicated status code for delegated authority challenges.  A future revision
can request registration of a <tt>4NN Delegated Authority Required</tt> status code if
the HTTP Working Group concludes that existing 401 and 403 semantics plus
<tt>WWW-Authenticate: Delegation</tt> and Problem Details are insufficient for
interoperable clients, intermediaries, and API gateways.</t>
        <t>This revision therefore uses 401 and 403 as the baseline and does not request an
HTTP status-code registration.  Implementations that experiment with an
unregistered 4xx status code <bcp14>MUST</bcp14> also support the 401/403 behavior defined in
<xref target="challenge-responses"/> for interoperability.</t>
      </section>
      <section anchor="delegation-error-tokens">
        <name>Delegation Error Tokens</name>
        <t>When a Verifier returns a Delegation challenge response because a presented
Delegation credential failed validation or did not satisfy policy, the Problem Details
object <bcp14>SHOULD</bcp14> contain a <tt>reason</tt> extension member.  The value of this member is
a token identifying the validation failure.  This document defines the following
initial tokens:</t>
        <ul spacing="normal">
          <li>
            <t><tt>token_expired</tt>: The presented Budget-Attestation expiry value is in the past
relative to the Verifier's clock.</t>
          </li>
          <li>
            <t><tt>nonce_stale</tt>: The nonce in the attestation does not match a valid,
unexpired challenge window.</t>
          </li>
          <li>
            <t><tt>nonce_replay</tt>: The nonce has already been accepted by the Verifier within
its replay-tracking window.</t>
          </li>
          <li>
            <t><tt>bad_signature</tt>: Cryptographic validation of the primary signature or a
required rail-keyed signature failed.</t>
          </li>
          <li>
            <t><tt>untrusted_issuer</tt>: The issuer identifier in Budget-Claims field 2 identifies
an issuer for which the Verifier has no explicit trust relationship.</t>
          </li>
          <li>
            <t><tt>authority_insufficient</tt>: The signed authority bounds do not satisfy the
requirement advertised by the resource server.</t>
          </li>
          <li>
            <t><tt>budget_insufficient</tt>: The signed budget bounds in Budget-Claims fields 4
and 5 do not satisfy the budget requirement advertised by the resource
server.</t>
          </li>
          <li>
            <t><tt>version_unsupported</tt>: The Budget-Claims field 1 value,
<tt>Delegation-Version</tt> field, or <tt>version</tt> challenge parameter is not supported
by the Verifier.</t>
          </li>
          <li>
            <t><tt>binding_mismatch</tt>: The request target URI, method, origin, or body digest
does not match the signed request-binding values.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="auth-scheme">
      <name>The "Delegation" Authentication Scheme</name>
      <t>The <tt>Delegation</tt> authentication scheme is used in <tt>WWW-Authenticate</tt> and
<tt>Authorization</tt> fields.</t>
      <section anchor="challenge-syntax">
        <name>Challenge Syntax</name>
        <t>The Delegation authentication scheme challenge uses the <tt>auth-param</tt> syntax
defined by <xref target="RFC9110"/>, Section 11.2:</t>
        <sourcecode type="abnf"><![CDATA[
delegation-challenge = "Delegation" 1*SP 1#auth-param
]]></sourcecode>
        <t>The <tt>realm</tt> and <tt>nonce</tt> parameters are <bcp14>REQUIRED</bcp14>.  The <tt>profile</tt> parameter
identifies an acceptable authority profile, such as <tt>budget</tt>.  The
<tt>proof-format</tt> parameter identifies an acceptable proof serialization, such as
<tt>cose-ml-dsa</tt>.  The <tt>alg</tt> parameter identifies one acceptable primary
signature algorithm for the indicated proof format.  A Verifier that accepts
multiple algorithms <bcp14>SHOULD</bcp14> send separate <tt>Delegation</tt> challenges rather than
overloading a single <tt>alg</tt> parameter with a list syntax.  A challenge <bcp14>MUST NOT</bcp14>
contain more than one <tt>alg</tt> parameter.  Authority profiles <bcp14>MAY</bcp14> define
additional challenge parameters; for example, a Budget profile can define
accepted settlement rails while leaving rail semantics out of scope for this
document.</t>
        <t>The <tt>nonce</tt> parameter <bcp14>MUST</bcp14> contain at least 128 bits of unpredictable
entropy and <bcp14>MUST</bcp14> be generated by the Verifier for the protection space
identified by <tt>realm</tt>.  A Verifier <bcp14>MUST</bcp14> accept a nonce at most once.
Replay of a nonce, absence of nonce state, or loss of the replay cache
<bcp14>MUST</bcp14> cause the Verifier to reject the request.</t>
        <t>To reduce outstanding-challenge state, Verifiers <bcp14>SHOULD</bcp14> support
self-authenticating nonce constructions.  A self-authenticating nonce contains
unpredictable bytes and integrity-protected metadata such as protection space,
issuance time, key identifier, and policy binding.  The nonce is authenticated
with a server-held secret, for example using an HMAC or AEAD construction, and
<bcp14>MUST NOT</bcp14> reveal that secret to clients.  This construction allows a Verifier to
validate the origin and age of a returned nonce without storing every issued
challenge.  It does not remove the requirement to enforce at-most-once
acceptance; Verifiers still need accepted-nonce replay tracking or an
equivalent replay-detection mechanism until the challenge can no longer be
accepted.</t>
        <t>The <tt>max-age</tt> parameter, when present, is the validity window in seconds
for the challenge parameters and nonce.  It does not extend the
Delegation proof lifetime.  A Verifier <bcp14>MUST</bcp14> reject a Delegation proof
whose nonce is older than <tt>max-age</tt> for the corresponding challenge.  If
<tt>max-age</tt> is omitted, Verifiers <bcp14>SHOULD</bcp14> apply a local default and that
default <bcp14>SHOULD NOT</bcp14> exceed 900 seconds.</t>
      </section>
      <section anchor="credentials-syntax">
        <name>Credentials Syntax</name>
        <sourcecode type="abnf"><![CDATA[
delegation-credentials = "Delegation" 1*SP delegation-token
delegation-token       = token68
]]></sourcecode>
        <t>The credential token carries a base64url-encoded Delegation proof.  If the
encoded proof would exceed practical HTTP field size limits, the requester <bcp14>MUST</bcp14>
send the proof in a request body with media type
<tt>application/delegation-proof+cose</tt> or a profile-defined media type.  The
Budget <tt>cose-ml-dsa</tt> profile <bcp14>MUST</bcp14> support request-body carriage.  Requesters
using that profile <bcp14>SHOULD</bcp14> use body carriage by default because ML-DSA-backed
COSE envelopes are large before base64url expansion and can exceed field-size
limits enforced by intermediaries.  A deployment profile <bcp14>MAY</bcp14> permit field
carriage with <tt>Authorization: Delegation</tt> only when it defines accepted
field-size limits and failure behavior.  A Verifier <bcp14>MAY</bcp14> reject oversized
field-carried credentials before CBOR or COSE decoding.  A deployment <bcp14>MAY</bcp14> bind
the body-carried proof to the request using Budget-Claims field 12 or a
profile-defined request-binding structure.</t>
        <t>When the protected operation also requires an application request body,
body-carried proof creates a packaging question: the HTTP request has only one
content stream.  A deployment profile that needs both a large Delegation proof
and an application representation in the same protected operation <bcp14>MUST</bcp14> define
one of the following before claiming interoperability:</t>
        <ul spacing="normal">
          <li>
            <t>a field-carried proof path with explicit field-size limits and failure
behavior;</t>
          </li>
          <li>
            <t>a media type that packages the proof and the application representation
together, for example a <tt>multipart/related</tt> or profile-specific envelope; or</t>
          </li>
          <li>
            <t>a preflight or two-request flow in which the proof authorizes a subsequent
request bound by nonce, target, and representation digest.</t>
          </li>
        </ul>
        <t>In all cases, the Budget profile's request-binding rules in
<xref target="request-binding"/> apply to the protected operation.  A proof body by itself
<bcp14>MUST NOT</bcp14> cause the Verifier to process an unrelated application body unless the
packaging profile defines how the two are cryptographically bound.</t>
      </section>
      <section anchor="delegation-proof-field">
        <name>Multi-Scheme Composition and the Delegation-Proof Field</name>
        <t>The <tt>Delegation-Proof</tt> field carries a Delegation proof when the request
already uses <tt>Authorization</tt> for another origin-server credential or when a
deployment wants delegated authority to be visibly additive to another
authentication scheme.</t>
        <t>The field value is a Structured Field Item <xref target="RFC9651"/> whose bare item is a
Byte Sequence containing a COSE/CBOR Delegation proof.</t>
        <sourcecode type="http-message"><![CDATA[
Delegation-Proof: :2BhA...base64-cose...kQ:
]]></sourcecode>
        <t>If both <tt>Authorization: Delegation</tt> and <tt>Delegation-Proof</tt> are present, the
Verifier <bcp14>MUST</bcp14> reject the request unless a deployment profile explicitly
defines how the two credentials compose.  This avoids ambiguity about which
signed authority object is authoritative.</t>
        <t>The <tt>Authorization</tt> field <bcp14>MUST NOT</bcp14> be used to concatenate a non-Delegation
credential and a Delegation credential into a single field value unless a future
HTTP authentication scheme explicitly defines such composition.  When identity
authentication uses <tt>Authorization</tt>, delegated authority <bcp14>SHOULD</bcp14> be carried in
the request body for the <tt>cose-ml-dsa</tt> profile or, for bounded low-footprint
deployments, in the <tt>Delegation-Proof</tt> field.</t>
        <t>When a request carries both an identity credential and a Delegation proof, the
Verifier <bcp14>MUST</bcp14> evaluate the identity authentication layer and the delegated
authority layer independently.  Failure of the identity authentication layer is
handled according to that authentication scheme, typically with 401 or 403.
Failure of the delegated authority layer is handled with the 401/403 response
semantics defined in <xref target="challenge-responses"/>.</t>
        <t>The <tt>Delegation-Proof</tt> field is not the general-purpose carriage path for
multi-kilobyte post-quantum attestations.  Implementations of the
<tt>cose-ml-dsa</tt> profile <bcp14>MUST</bcp14> support body carriage with media type
<tt>application/delegation-proof+cose</tt> or a profile-defined media type.  A
deployment profile <bcp14>MAY</bcp14> permit <tt>Delegation-Proof</tt> field carriage only when it
defines accepted field-size limits and failure behavior.  If the target request
also needs an unrelated representation body, that packaging profile <bcp14>MUST</bcp14> define
how the Delegation proof and application representation are bound to each
other.</t>
      </section>
    </section>
    <section anchor="budget-envelope">
      <name>Budget Authority Profile: Budget-Attestation Envelope</name>
      <t>The Budget authority profile defines a Budget-Attestation envelope as a COSE
object <xref target="RFC9052"/> carrying a CBOR claims set.  The claims set is encoded using
deterministic CBOR <xref target="RFC8949"/>.  The notation below uses CDDL <xref target="RFC8610"/>.
Encoders <bcp14>MUST</bcp14> follow the core deterministic
encoding requirements of <xref target="RFC8949"/>, Section 4.2.1.  Verifiers <bcp14>MUST</bcp14> reject
non-deterministic encodings and <bcp14>MUST</bcp14> verify signatures over the exact received
deterministic encoding, not over a locally reserialized variant.  This document
defines the <tt>cose-ml-dsa</tt> Budget profile using integer-labeled CBOR claims to
avoid a drift-prone translation between text claim names and signed bytes.
The text names in comments below are descriptive only and are not encoded.</t>
      <sourcecode type="cddl"><![CDATA[
Budget-Claims = {
  1  => uint,                ; version
  2  => tstr,                ; issuer identifier
  3  => tstr,                ; delegated requester identifier
  4  => tstr,                ; authorized budget total or limit
  5  => tstr,                ; remaining budget
  6  => tstr,                ; currency or metered-unit identifier
  7  => [+ tstr],            ; permitted rails/actions/classes
  8  => uint,                ; issued-at ms since Unix epoch
  9  => uint,                ; expires-at ms since Unix epoch
  10 => bstr .size (16..64), ; nonce from the Delegation challenge
  11 => bstr,                ; authorization chain or caveat proof
  12 => bstr .size 32,       ; representation/envelope/body digest
  13 => tstr                 ; verifier or merchant binding
}

Request-Binding = {
  "method"  => tstr,
  "uri-h"   => bstr .size 32,
  "origin"  => tstr,
  ? "body-h" => bstr .size 32
}

Channel-Binding = {
  "type"  => tstr,
  "value" => bstr
}
]]></sourcecode>
      <t>Fields 4 and 5 carry decimal string values rather than binary floating-point
numbers.  A Verifier <bcp14>MUST</bcp14> interpret them according to the authority profile's
currency or metered-unit policy and <bcp14>MUST</bcp14> reject values it cannot parse
unambiguously.  A Delegation challenge response using the Budget profile can
advertise a minimum budget, unit requirement, or action requirement in its
Problem Details body; that response member is an input to client policy and
does not become authoritative unless it is reflected in the signed claims.</t>
      <t>Field 11 is a profile-defined authorization chain or caveat proof.  Deployments
<bcp14>MUST</bcp14> specify the syntax and verification rules for this field before using it
for interoperability.  Field 12 is a SHA-256 digest slot used by deployments to
bind an application representation, envelope, or body-digest object.  A
Verifier <bcp14>MUST NOT</bcp14> infer that field 12 protects an application body unless the
deployment profile specifies exactly what bytes were hashed.</t>
      <t>The <tt>Request-Binding</tt> and <tt>Channel-Binding</tt> structures above are logical
structures for profile extensions.  They are not part of the integer-labeled
Budget-Claims map unless a future revision assigns claim labels for them.
They are included here to define the semantics that field 12 or a companion
profile can bind to without changing the core Delegation challenge model.</t>
      <section anchor="request-binding">
        <name>Request-Binding Canonicalization</name>
        <t>When a Budget-Attestation is bound to a bearing HTTP request, the Issuer and
Verifier <bcp14>MUST</bcp14> use the same canonical request components:</t>
        <ul spacing="normal">
          <li>
            <t><tt>method</tt> is the HTTP method token as received by the origin server.  HTTP
method tokens are case-sensitive; Verifiers <bcp14>MUST NOT</bcp14> case-normalize this
value before comparison.</t>
          </li>
          <li>
            <t><tt>origin</tt> is <tt>scheme "://" authority</tt> for the effective request URI as
reconstructed by the Verifier after applying only trusted reverse-proxy
configuration.  The scheme and host are serialized in lowercase.  A default
port for the scheme is omitted; a non-default port is included.</t>
          </li>
          <li>
            <t><tt>uri-h</tt> is SHA-256 over the UTF-8 serialization of the origin-form target:
the path-abempty component followed by <tt>"?"</tt> and the query component when a
query is present.  Verifiers <bcp14>MUST NOT</bcp14> reorder query parameters,
percent-decode and re-encode octets, remove dot segments, or otherwise
transform the target before hashing.</t>
          </li>
          <li>
            <t><tt>body-h</tt>, when used, is SHA-256 over the HTTP request content bytes after
transfer-coding removal and before application parsing or content-coding
transformation.  If a request has no content, <tt>body-h</tt> <bcp14>SHOULD</bcp14> be omitted; if
it is present, it <bcp14>MUST</bcp14> be the SHA-256 digest of the empty octet string.</t>
          </li>
        </ul>
        <t>If the Verifier cannot reconstruct these components deterministically, it <bcp14>MUST</bcp14>
reject the Delegation proof rather than process the request under an
ambiguous binding.</t>
        <t>A future profile extension can bind an attestation to an external
channel-binding value such as a TLS exporter using a structure with the
semantics of <tt>Channel-Binding</tt> above.  This document defines the
channel-binding semantics but does not assign a Budget-Claims label or define
mandatory channel-binding types.  A Verifier that implements such an extension
<bcp14>MUST</bcp14> reject a channel-binding value whose <tt>type</tt> it does not understand or
whose <tt>value</tt> does not match the locally computed channel-binding value for
that type.</t>
      </section>
      <section anchor="primary-signature">
        <name>Primary Signature</name>
        <t>Every Budget-Attestation <bcp14>MUST</bcp14> contain exactly one primary Issuer
signature.  The primary signature <bcp14>MUST</bcp14> use an ML-DSA algorithm identifier
registered for JOSE or COSE by <xref target="RFC9964"/>.</t>
        <t>The Delegation authentication scheme is algorithm-agile.  The Budget
<tt>cose-ml-dsa</tt> profile defined by this document has the following
interoperability requirements:</t>
        <ul spacing="normal">
          <li>
            <t>Implementations of this profile <bcp14>MUST</bcp14> support ML-DSA-65.</t>
          </li>
          <li>
            <t>Implementations <bcp14>MAY</bcp14> support ML-DSA-87.</t>
          </li>
          <li>
            <t>Deployments <bcp14>MAY</bcp14> require ML-DSA-87 or another registered algorithm by local
policy.</t>
          </li>
          <li>
            <t>Verifiers <bcp14>MUST</bcp14> validate that the signed protected-header algorithm matches
local policy and <bcp14>MUST</bcp14> reject algorithm downgrades.</t>
          </li>
        </ul>
        <t>Future documents can define additional authority profiles or proof formats
using other COSE or JOSE algorithm identifiers without changing the semantics
of the Delegation authentication scheme.</t>
      </section>
      <section anchor="issuer-key-discovery-and-trust">
        <name>Issuer Key Discovery and Trust</name>
        <t>A Verifier <bcp14>MUST</bcp14> establish trust in an Issuer public key before accepting
a Budget-Attestation signed by that key.  Trust can be established through
local configuration, an authenticated out-of-band agreement, or an
issuer-controlled HTTPS key-set endpoint.  A Verifier <bcp14>MUST NOT</bcp14> treat an
untrusted issuer identifier in Budget-Claims field 2 or arbitrary key URL in
an attestation as sufficient authority to trust a key.</t>
        <t>One interoperable deployment profile is an issuer-controlled HTTPS key-set
URI, for example
<tt>https://example.com/.well-known/budget-issuer-keys</tt>, returning a
COSE_KeySet with media type <tt>application/cose-key-set</tt>.  A Verifier using
this profile <bcp14>MUST</bcp14> authenticate the HTTPS origin, <bcp14>MUST</bcp14> require each accepted
key to carry a key identifier usable as <tt>kid</tt>, <bcp14>MUST</bcp14> bind each key to the
expected issuer and algorithm policy, and <bcp14>MUST</bcp14> reject the request if the key
set is unavailable or omits the referenced key.  Cached key material <bcp14>MUST NOT</bcp14>
be used beyond its authenticated freshness lifetime.  Key rotation <bcp14>SHOULD</bcp14>
provide overlap between old and new keys for already-issued attestations.</t>
        <t>Implementation-specific JSON key-set formats <bcp14>MAY</bcp14> be used by deployments during
migration, but such formats are not the interoperable key-discovery profile
defined by this document unless a future revision specifies their media type,
schema, and security processing rules.  Deployments that publish JSON transition
metadata <bcp14>SHOULD</bcp14> include enough information to map each public key to the
corresponding RFC 9964 JOSE or COSE algorithm identifier and <bcp14>MUST NOT</bcp14> publish
private AKP <tt>priv</tt> seed material.</t>
      </section>
      <section anchor="rail-keyed">
        <name>Optional Rail-Keyed Signature</name>
        <t>A Budget-Attestation <bcp14>MAY</bcp14> contain an additional rail-keyed signature.  A
rail-keyed signature <bcp14>MUST NOT</bcp14> replace the primary Issuer signature and
<bcp14>MUST NOT</bcp14> be accepted when the primary signature fails.</t>
        <t>When a deployment uses SLH-DSA for rail-keyed signatures, it <bcp14>SHOULD</bcp14> use
the JOSE or COSE serializations defined by
<xref target="I-D.ietf-cose-sphincs-plus"/> once those registrations are available.
Until then, private-use algorithm identifiers <bcp14>MUST</bcp14> be treated as
deployment-specific and <bcp14>MUST NOT</bcp14> be advertised as interoperable.</t>
        <t>Because SLH-DSA signatures can be tens of kilobytes, an attestation that
contains a rail-keyed SLH-DSA signature <bcp14>MUST</bcp14> be carried in a request body
using <tt>application/delegation-proof+cose</tt> or a profile-defined media type
rather than in an HTTP field.</t>
      </section>
      <section anchor="verification">
        <name>Verification</name>
        <t>A Verifier processing a Budget-Attestation <bcp14>MUST</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Decode the CBOR envelope and reject non-deterministic or malformed
encodings.</t>
          </li>
          <li>
            <t>Verify that Budget-Claims field 1 is supported.</t>
          </li>
          <li>
            <t>Verify the primary signature against an Issuer key authorized for the
issuer and <tt>kid</tt>.</t>
          </li>
          <li>
            <t>Verify Budget-Claims fields 8 and 9, clock skew, and maximum lifetime.
Verifiers <bcp14>MUST</bcp14> reject attestations where field 9 minus field 8 exceeds 900
seconds and <bcp14>SHOULD</bcp14> apply no more than 60 seconds of clock-skew tolerance
unless local policy is stricter.  Issuers and Verifiers <bcp14>SHOULD</bcp14> synchronize
clocks using an authenticated time source suitable for the deployment.</t>
          </li>
          <li>
            <t>Verify that Budget-Claims field 10 matches a live challenge and has not
been used before.</t>
          </li>
          <li>
            <t>Verify request binding against the bearing request, including method,
origin, target URI hash, and body hash when present.</t>
          </li>
          <li>
            <t>Verify rail, action, or resource-class policy when Budget-Claims field 7 is
present.</t>
          </li>
          <li>
            <t>Verify any rail-keyed signature required by local policy.</t>
          </li>
        </ol>
        <t>Failure at any step <bcp14>MUST</bcp14> cause the Verifier to reject the request.</t>
      </section>
    </section>
    <section anchor="versioning">
      <name>Versioning</name>
      <t>This document defines version 1 of the Delegation authentication scheme and the
initial Budget authority profile.  A Delegation challenge response <bcp14>MUST</bcp14> include
a <tt>Delegation-Version</tt> response field containing a Structured Field Integer
<xref target="RFC9651"/>.  A <tt>Delegation</tt> challenge <bcp14>SHOULD</bcp14> also include a <tt>version</tt>
auth-param when the Verifier supports more than one version or expects clients
to use a specific version.</t>
      <t>A client that receives an unknown <tt>Delegation-Version</tt> value or <tt>version</tt>
challenge parameter <bcp14>MUST NOT</bcp14> guess at wire compatibility.  It <bcp14>MAY</bcp14> retry using a
version it supports only when the server advertises that version through local
policy or a future version-negotiation mechanism.  A server that receives a
Delegation credential or <tt>Delegation-Version</tt> request value for an unsupported
version <bcp14>MUST</bcp14> reject the request using <xref target="challenge-responses"/> and a
<tt>version_unsupported</tt> reason code, unless a future revision defines a different
upgrade response.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This section follows the guidance in <xref target="RFC8126"/> and <xref target="RFC9205"/>.  The requested
registrations use the existing HTTP and media-type registries.</t>
      <section anchor="http-status-code">
        <name>HTTP Status Code</name>
        <t>This revision does not request a new HTTP status-code registration.  The
dedicated <tt>4NN Delegated Authority Required</tt> design question is tracked in
<xref target="status-code-question"/>.</t>
      </section>
      <section anchor="http-authentication-scheme">
        <name>HTTP Authentication Scheme</name>
        <t>IANA is asked to register the following entry in the "Hypertext Transfer
Protocol (HTTP) Authentication Scheme Registry" defined by <xref target="RFC9110"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Authentication Scheme Name</th>
              <th align="left">Reference</th>
              <th align="left">Notes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Delegation</td>
              <td align="left">This document, <xref target="auth-scheme"/></td>
              <td align="left">Origin-server authentication using <tt>WWW-Authenticate</tt> and <tt>Authorization</tt>; not defined for proxy authentication</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="http-field-name">
        <name>HTTP Field Name</name>
        <t>IANA is asked to register the following entry in the "Hypertext Transfer
Protocol (HTTP) Field Name Registry":</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field Name</th>
              <th align="left">Status</th>
              <th align="left">Structured Type</th>
              <th align="left">Reference</th>
              <th align="left">Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Delegation-Version</td>
              <td align="left">permanent</td>
              <td align="left">Integer</td>
              <td align="left">This document, <xref target="versioning"/></td>
              <td align="left">Version of the Delegation authentication scheme and authority-proof profile</td>
            </tr>
            <tr>
              <td align="left">Delegation-Proof</td>
              <td align="left">permanent</td>
              <td align="left">Byte Sequence</td>
              <td align="left">This document, <xref target="delegation-proof-field"/></td>
              <td align="left">Additive carriage of a Delegation proof when <tt>Authorization</tt> is used by another origin-server scheme</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="delegation-error-token-registry">
        <name>Delegation Error Token Registry</name>
        <t>IANA is asked to create a "Delegation Error Tokens" registry for tokens used in
the Problem Details <tt>reason</tt> extension member defined by
<xref target="delegation-error-tokens"/>.  The registration policy is Specification Required
<xref target="RFC8126"/>.</t>
        <t>Initial registrations are:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Token</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">token_expired</td>
              <td align="left">The proof expired.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">nonce_stale</td>
              <td align="left">The nonce is outside the accepted challenge window.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">nonce_replay</td>
              <td align="left">The nonce was already accepted in the replay-tracking window.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">bad_signature</td>
              <td align="left">A required signature failed validation.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">untrusted_issuer</td>
              <td align="left">The issuer is not trusted by the Verifier.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">authority_insufficient</td>
              <td align="left">The signed authority bounds do not satisfy the resource requirement.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">budget_insufficient</td>
              <td align="left">The signed budget bounds do not satisfy the Budget profile requirement.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">version_unsupported</td>
              <td align="left">The protocol or proof version is unsupported.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
            <tr>
              <td align="left">binding_mismatch</td>
              <td align="left">The signed request binding does not match the bearing request.</td>
              <td align="left">
                <xref target="delegation-error-tokens"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="media-type">
        <name>Media Type</name>
        <t>IANA is asked to register the following media type in the "Media Types"
registry using the template from <xref target="RFC6838"/>:</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>delegation-proof+cose</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t><tt>cose-type</tt>, with the same semantics as the <tt>cose-type</tt> parameter for
<tt>application/cose</tt> in <xref target="RFC9052"/>.</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/>.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>Implementations need to support COSE processing, deterministic CBOR, and
the algorithm identifiers profiled by this document.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>HTTP clients, gateways, and origin servers that exchange Delegation proofs,
including Budget-Attestation envelopes under the Budget authority profile.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>This media type does not support fragment identifiers.</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <t>Deprecated alias names for this type: N/A; Magic number(s): N/A; File
extension(s): N/A; Macintosh file type code(s): N/A.</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>John McGraw, j.mcgraw@taskhawktech.com</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>John McGraw</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IESG</t>
          </dd>
          <dt>Provisional registration?</dt>
          <dd>
            <t>No</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Delegation proofs are bearer credentials until verified.  HTTP exchanges
carrying them <bcp14>MUST</bcp14> use TLS.  Servers <bcp14>SHOULD</bcp14> scrub <tt>Authorization</tt> field values,
<tt>Delegation-Proof</tt> field values, and body-carried Delegation credential values
from logs.</t>
      <t>Verifiers <bcp14>MUST</bcp14> validate every check in <xref target="budget-envelope"/> before
processing the protected request.  Missing keys, unavailable verification
dependencies, malformed CBOR, non-deterministic CBOR, expired
proofs, signature failures, nonce replay, unsupported versions, and
loss of nonce state all require request rejection.</t>
      <t>The COSE or JOSE algorithm identifier is part of the signed protected
metadata.  Verifiers <bcp14>MUST</bcp14> compare it against configured policy and <bcp14>MUST
NOT</bcp14> let a challenge parameter or client preference downgrade the
algorithm.</t>
      <t>Rail-keyed signatures are additive.  They do not create authority without
a valid primary Issuer signature.</t>
      <t>Key lifecycle is security-critical.  Issuers <bcp14>SHOULD</bcp14> rotate signing keys
on a predictable schedule, publish revocation information through the same
trust channel used for key distribution, and avoid issuing attestations
whose lifetime extends beyond the authenticated lifetime of the signing
key.  Verifiers <bcp14>MUST</bcp14> reject attestations signed by revoked, expired, or
unexpected keys.</t>
      <t>Large post-quantum signatures can create denial-of-service pressure on
HTTP parsers, HTTP field-section processing, and COSE libraries.  ML-DSA-backed
COSE envelopes are commonly too large to assume safe carriage through
general-purpose HTTP fields after base64url expansion.  Implementations <bcp14>MUST</bcp14>
apply size limits before decoding, <bcp14>MUST</bcp14> bound CBOR nesting depth and map
sizes, and <bcp14>SHOULD</bcp14> reject duplicate or unknown critical protected parameters
before expensive signature verification.</t>
      <t>Verifier nonce state can itself become a resource-exhaustion target.
Verifiers <bcp14>MUST</bcp14> bound the number of outstanding nonces per issuer,
protection space, and client identity signal available to the deployment,
and <bcp14>MUST</bcp14> expire unused nonces no later than their challenge <tt>max-age</tt>.
When nonce state reaches a configured limit, the Verifier <bcp14>MUST</bcp14> reject requests
that depend on an untracked nonce or shed unauthenticated challenge issuance
rather than accept a request with an untracked nonce.
At high scale, deployments <bcp14>SHOULD</bcp14> use self-authenticating nonces as described
in <xref target="auth-scheme"/> so challenge issuance does not require allocating
distributed state for every unauthenticated request.  Such constructions reduce
outstanding-challenge state but do not remove the need for bounded
accepted-nonce replay tracking when at-most-once acceptance is required.</t>
      <t>The Budget authority profile describes channel-binding extension semantics for
deployments that need binding to a particular TLS session or exporter value.
Specific channel-binding types are not mandatory-to-implement in this revision
and need profiling before they can be assumed interoperable.  In the absence of
channel binding, short lifetimes, single-use nonces, request binding, and
replay-cache enforcement are mandatory replay controls.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>These considerations are informed by the privacy guidance in <xref target="RFC6973"/>.</t>
      <t>Delegation proofs can reveal delegated requester identifiers, principal or
issuer identifiers, requested actions, authority bounds, rail preferences, and
amount limits.  Implementations <bcp14>SHOULD</bcp14> use short lifetimes, random nonces, data
minimization in requester identifiers, and body carriage when field logging by
intermediaries would create avoidable privacy risk.</t>
    </section>
    <section anchor="references">
      <name>References</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9111">
          <front>
            <title>HTTP Caching</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
              <t>This document obsoletes RFC 7234.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="98"/>
          <seriesInfo name="RFC" value="9111"/>
          <seriesInfo name="DOI" value="10.17487/RFC9111"/>
        </reference>
        <reference anchor="RFC9205">
          <front>
            <title>Building Protocols with HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>Applications often use HTTP as a substrate to create HTTP-based APIs. This document specifies best practices for writing specifications that use HTTP to define new application protocols. It is written primarily to guide IETF efforts to define application protocols using HTTP for deployment on the Internet but might be applicable in other situations.</t>
              <t>This document obsoletes RFC 3205.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="56"/>
          <seriesInfo name="RFC" value="9205"/>
          <seriesInfo name="DOI" value="10.17487/RFC9205"/>
        </reference>
        <reference anchor="RFC9457">
          <front>
            <title>Problem Details for HTTP APIs</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <author fullname="S. Dalal" initials="S." surname="Dalal"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document defines a "problem detail" to carry machine-readable details of errors in HTTP response content to avoid the need to define new error response formats for HTTP APIs.</t>
              <t>This document obsoletes RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9457"/>
          <seriesInfo name="DOI" value="10.17487/RFC9457"/>
        </reference>
        <reference anchor="RFC9651">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields.</t>
              <t>This document obsoletes RFC 8941.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9651"/>
          <seriesInfo name="DOI" value="10.17487/RFC9651"/>
        </reference>
        <reference anchor="RFC9964">
          <front>
            <title>ML-DSA for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M. Prorock" initials="M." surname="Prorock"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document specifies JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) serializations for the Module-Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum Cryptography (PQC) digital signature scheme defined in US NIST FIPS 204.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9964"/>
          <seriesInfo name="DOI" value="10.17487/RFC9964"/>
        </reference>
        <reference anchor="FIPS204" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS PUB" value="204"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.204"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC5755">
          <front>
            <title>An Internet Attribute Certificate Profile for Authorization</title>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>This specification defines a profile for the use of X.509 Attribute Certificates in Internet Protocols. Attribute certificates may be used in a wide range of applications and environments covering a broad spectrum of interoperability goals and a broader spectrum of operational and assurance requirements. The goal of this document is to establish a common baseline for generic applications requiring broad interoperability as well as limited special purpose requirements. The profile places emphasis on attribute certificate support for Internet electronic mail, IPsec, and WWW security applications. This document obsoletes RFC 3281. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5755"/>
          <seriesInfo name="DOI" value="10.17487/RFC5755"/>
        </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="RFC9421">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="RFC9635">
          <front>
            <title>Grant Negotiation and Authorization Protocol (GNAP)</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="F. Imbault" initials="F." surname="Imbault"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>The Grant Negotiation and Authorization Protocol (GNAP) defines a mechanism for delegating authorization to a piece of software and conveying the results and artifacts of that delegation to the software. This delegation can include access to a set of APIs as well as subject information passed directly to the software.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9635"/>
          <seriesInfo name="DOI" value="10.17487/RFC9635"/>
        </reference>
        <reference anchor="I-D.ietf-httpapi-ratelimit-headers">
          <front>
            <title>RateLimit header fields for HTTP</title>
            <author fullname="Roberto Polli" initials="R." surname="Polli">
              <organization>Team Digitale, Italian Government</organization>
            </author>
            <author fullname="Alex Martínez Ruiz" initials="A. M." surname="Ruiz">
              <organization>Red Hat</organization>
            </author>
            <author fullname="Darrel Miller" initials="D." surname="Miller">
              <organization>Microsoft</organization>
            </author>
            <date day="23" month="May" year="2026"/>
            <abstract>
              <t>   This document defines the RateLimit-Policy and RateLimit HTTP header
   fields for servers to advertise their quota policies and the current
   service limits, thereby allowing clients to avoid being throttled.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpapi-ratelimit-headers-11"/>
        </reference>
        <reference anchor="I-D.ietf-cose-sphincs-plus">
          <front>
            <title>SLH-DSA for JOSE and COSE</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <date day="15" month="May" year="2026"/>
            <abstract>
              <t>   This document specifies JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for
   Stateless Hash-Based Digital Signature Standard (SLH-DSA), a Post-
   Quantum Cryptography (PQC) digital signature scheme defined in US
   NIST FIPS 205.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-sphincs-plus-08"/>
        </reference>
        <reference anchor="FIPS205" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.205.pdf">
          <front>
            <title>Stateless Hash-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="FIPS PUB" value="205"/>
          <seriesInfo name="DOI" value="10.6028/NIST.FIPS.205"/>
        </reference>
        <reference anchor="X402" target="https://www.x402.org/x402-whitepaper.pdf">
          <front>
            <title>x402: An Open Standard for Internet-Native Payments</title>
            <author>
              <organization>Coinbase, Inc.</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="L402" target="https://github.com/lightninglabs/L402">
          <front>
            <title>L402 Protocol Specification</title>
            <author>
              <organization>Lightning Labs</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1047?>

<section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This appendix follows <xref target="RFC7942"/> and is to be removed before publication
as an RFC.</t>
      <section anchor="kevros">
        <name>Kevros</name>
        <t>TaskHawk Systems operates a Kevros implementation that publishes public
Delegation discovery and health metadata for a draft-02 compatibility surface,
records reason-coded audit events, and reports proof-verification and
rail-observation counters separately.  Earlier Kevros releases experimentally
emitted 427 Budget challenges; that behavior is implementation experience for
the Budget authority profile only.  It is not a request for status-code
registration and is not required for interoperability with the 401/403 response
semantics defined by this document.</t>
        <t>The Kevros compatibility surface exposes a <tt>401</tt>/<tt>403</tt> Delegation response
mode, <tt>Delegation-Version</tt> metadata, <tt>Authorization: Delegation</tt>,
<tt>Delegation-Proof</tt>, JSON <tt>delegation_proof</tt>, and
<tt>application/delegation-proof+cose</tt> carriage for the same Budget profile proof
bytes.  It also advertises RFC 9964 ML-DSA algorithm identifiers in public
metadata while keeping private key material out of issuer-key discovery.</t>
        <t>Private no-spend proof workflows exist for Budget-Attestation verification, but
each run is evidence only for the specific commit and deployment state under
test.  Public challenge/discovery metadata, Delegation proof verification,
Budget-Attestation verification, rail observation, settlement, and revenue are
separate evidence lanes and are not equivalent.  This document makes no live
verified-use, settlement, or revenue claim.  This implementation is provided as
implementation experience only.</t>
      </section>
    </section>
    <section anchor="changes-since-01">
      <name>Changes Since -01</name>
      <ul spacing="normal">
        <li>
          <t>Refactored the core mechanism from Budget-specific language to the
<tt>Delegation</tt> HTTP authentication scheme for request-bound delegated
authority.</t>
        </li>
        <li>
          <t>Made Budget the initial authority profile rather than the protocol boundary.</t>
        </li>
        <li>
          <t>Replaced core <tt>Budget</tt> challenge examples with <tt>WWW-Authenticate:
Delegation</tt>, <tt>Delegation-Version</tt>, <tt>Delegation-Proof</tt>, and
<tt>authority_requirements</tt>.</t>
        </li>
        <li>
          <t>Made 401 and 403 with <tt>WWW-Authenticate: Delegation</tt> and Problem Details the
baseline response model for delegated-authority challenges.</t>
        </li>
        <li>
          <t>Moved the dedicated status-code question to <tt>4NN Delegated Authority
Required</tt> instead of requesting status-code registration in this revision.</t>
        </li>
        <li>
          <t>Tightened the <tt>alg</tt> challenge parameter to one algorithm per challenge.</t>
        </li>
        <li>
          <t>Kept the COSE/CBOR Budget-Attestation profile separable from the core HTTP
authentication and Problem Details semantics.</t>
        </li>
        <li>
          <t>Replaced explanatory text-claim CDDL with the integer-labeled Budget claims
map used by the initial <tt>cose-ml-dsa</tt> Budget profile.</t>
        </li>
        <li>
          <t>Added request-binding canonicalization rules and called out the packaging
question for large proof bodies plus application request bodies.</t>
        </li>
        <li>
          <t>Clarified that JSON issuer-key discovery formats are transition metadata, not
the interoperable COSE_KeySet profile.</t>
        </li>
      </ul>
    </section>
    <section anchor="changes-since-00">
      <name>Changes Since -00</name>
      <ul spacing="normal">
        <li>
          <t>Removed language implying HTTP 402 semantics are controlled by deployed
payment protocols.</t>
        </li>
        <li>
          <t>Added <xref target="applicability"/> and <xref target="ratelimit-fields"/>.</t>
        </li>
        <li>
          <t>Updated ML-DSA serialization references to <xref target="RFC9964"/> and changed the
initial <tt>cose-ml-dsa</tt> interoperability baseline to ML-DSA-65, with ML-DSA-87
available as a high-assurance deployment policy option.</t>
        </li>
        <li>
          <t>Kept rail-keyed SLH-DSA optional and body-carried.</t>
        </li>
        <li>
          <t>Made body carriage mandatory to implement for the <tt>cose-ml-dsa</tt> profile and
recommended by default for post-quantum Budget-Attestation envelopes.</t>
        </li>
        <li>
          <t>Kept <tt>Authorization: Delegation</tt> and <tt>Delegation-Proof</tt> as explicitly bounded
field-carriage options for deployment profiles that define accepted field
sizes and failure behavior.</t>
        </li>
        <li>
          <t>Added nonce replay, key-distribution, IANA, deterministic-CBOR, and
expanded security text based on review feedback.</t>
        </li>
        <li>
          <t>Aligned the attestation lifetime rule with implementation behavior:
<tt>exp - iat</tt> greater than 900 seconds is a verifier rejection condition.</t>
        </li>
        <li>
          <t>Tightened Implementation Status to separate challenge emission,
Budget-Attestation verification, rail observation, settlement, and revenue.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V96Xbb2JXu//MUuPJaN1UJQQ2e5a6kVbIr5YoHxZJT6ZWV
ZYIEKKJEAgwASmbbzrPcZ7lPdvd4BuBQVqW7f9ys7jJFAmfcZ4/f3idNU3N9
nNw3eT2rslVxnORNNu/S1eyyyW7SRdets3WZZpdF1aXTTX5ZdOnBkenKbgnP
/t4kycWiSJ4Xy+Iy68q6Sn68uDhLTjbdAl4oZ/zd+WxRrIpkXjfJu+Ifm6Lt
0u/rTZXTc3VTdluTTadNAQNxLRl4ubism+1x0na5abumyFbHycsXFz+Yct0c
J12zabujg4OnMJ4MfjxO9n4upkkG7b6suqKpii65aLKqXddNt2du6ubqsqk3
62Ma48nZS3NVbOHb/BhmkdKX9CELBk9f5TyqIqcfecT6KP2VrJu6ntN38Kkr
ZvgsfJoVbVtWl/QDrx5+Oy+XBX31Dtp8Va7Kjv46fXv+gj78pB9ev0qfn5/Q
x/NXP9rPp9+/fWeui2pT4NB7k0qSbruGvfkZ5gtdJ3/En+HbVVYujxPZ0H8v
i24+rptLw1PgJSir9jj5aZy8nv0RNh++ShKmiZ/qRZWcZZul/DRKfmrG9Ds0
cZxcZO3Vj9nNVXK+bbti1SavXp3Sr7qr+gB9OYP1Ok5OF1mzrLuuaK/LJS1H
kjTFJaz4cfKXE34QaKTD/X9flbie5x0sV5vU8+RkVTSwP/RUwRP7Zcwk++8d
9LWAvmATFuNZvTJV3axgK69psd79cPrk8OiRfHz05P4T/fbR4YF+fPrgqXx8
evDwSD8e2gfg46F+PDp4qB8fPHysHx89tA88ffQAP/7w8uz86IA+wg5lDZAC
70Z7vL9fXS/Xm2k7rsq2G1/W1/v4Ab/Zx9f237w8vxjjpzG0MF7nc26Ez+Dr
Ot8si/RV1gHJFun3WQtL9by8LLtsmZyXl1XWbZoCF6/KsybnfbGbjttOe/iG
qB1eeVm10PKmK3Ch9a2WjtUFLGlVL+vLbfINjulbaiCHXTlOjg6OHqQHT+ib
FnanALqf19xFkuzh6JOz99/vwSmFSezJ98/fvjxODg/Gjw6OnoTTNPh6uHGP
nj6+Lx8fP32g+/Lw8cOHdg+f3rebcWR34NF9euBl+nyMZG+ZWgMDX+LpSxdF
lhdNGzw1q9sibdeLspq16Xq5ad0uPvwv7+LD/i4SbS+BWyQ/Zu3i/49dfPjV
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
zf8DyM0KF6bLAAA=

-->

</rfc>
