<?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-04" category="std" consensus="true" 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-04"/>
    <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="September" day="10"/>
    <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>CBOR</keyword>
    <abstract>


<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.  This revision also defines a mandatory-to-implement
preflight flow for large proof profiles so that GET and HEAD requests do not
depend on request content, and so that requests with application
representations do not need to multiplex the application body and the proof body
in a single content stream.</t>
      <t>For implementation experience, this individual draft also includes the initial
Budget authority profile.  The HTTP authentication scheme, status-code
semantics, Problem Details members, and field-carriage rules are intentionally
separable from the COSE/CBOR Budget profile.  If a Working Group chooses to
progress the HTTP mechanism independently, the Budget authority profile can be
moved to a companion profile document without changing the Delegation
challenge semantics defined here.</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>


<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>This document currently contains both the generic HTTP Delegation mechanism and
the initial Budget authority profile so the protocol can be reviewed with a
complete running profile.  The sections are scoped so the generic HTTP
mechanism can be split from the Budget profile in a future revision if that is
cleaner for Working Group processing.</t>
      <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 ML-DSA
algorithm registered by <xref target="RFC9964"/> under local policy.  Algorithm families
outside that registration require a separately specified proof profile.
This profile has exactly one Issuer signature in a
COSE_Sign1 object.  Multi-signer, countersignature, and rail-specific
co-signature constructions are outside this version and require a separately
versioned profile.</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>


<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, or a gateway or reverse proxy explicitly authorized by the
origin for the same protection space, that receives a Delegation proof,
validates its signatures and claims, and decides whether to perform protected
processing for the Protected Target Request.  This document defines origin-server
authentication and does not define proxy authentication.  Generic forward
proxies and intermediaries that are not authoritative for the origin's
protection space do not issue, validate, or consume Delegation credentials
except as ordinary HTTP message forwarding behavior permits.</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>Proof Carrier Request:</dt>
          <dd>
            <t>The HTTP request that transports a Delegation proof.  In direct field
presentation it is also the Protected Target Request.  In preflight it is
the POST request to the preflight endpoint and is distinct from the future
Protected Target Request.</t>
          </dd>
          <dt>Protected Target Request:</dt>
          <dd>
            <t>The HTTP request whose protected processing the Delegation proof is intended
to authorize.  Request-Binding always describes this request, never a
distinct Proof Carrier Request.</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>
        </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-sender-constrained-tokens-and-dpop">
        <name>Relationship to Sender-Constrained Tokens and DPoP</name>
        <t>OAuth 2.0 Demonstrating Proof of Possession (DPoP) <xref target="RFC9449"/>
sender-constrains OAuth access and refresh tokens by binding an issued token
to a client key and requiring the client to prove possession of the
corresponding private key on protected-resource requests.  This reduces replay
risk when an OAuth token is leaked.  It does not, by itself, express bounded
delegated authority for protected processing, and a valid DPoP proof is not a
Delegation proof.</t>
        <t>A deployment <bcp14>MAY</bcp14> require the requester identity or session credential used
with Delegation to be sender-constrained, for example by DPoP, mutual TLS,
HTTP Message Signatures, or another deployment-specific mechanism.  Validation
of that credential is a separate authentication layer.  Failure of the
sender-constrained credential is handled according to that authentication
layer; failure of the Delegation proof is handled with the 401/403 response
semantics defined in <xref target="challenge-responses"/>.</t>
        <t>When OAuth DPoP and Delegation are used on the same protected request, the
implementation has to define field composition because DPoP uses the
<tt>Authorization: DPoP</tt> authentication scheme, while Delegation can use
<tt>Authorization: Delegation</tt>.  A request <bcp14>MUST NOT</bcp14> concatenate both credentials
in one <tt>Authorization</tt> field.  A deployment can carry the identity credential
in <tt>Authorization</tt> and delegated authority in <tt>Delegation-Proof</tt> or in the
base profile's preflight Proof Carrier Request.  Direct body carriage on the
Protected Target Request requires a separately selected and versioned
noncircular packaging profile.  A deployment that wants to use a preflight compact Delegation
credential on a request that must also retain <tt>Authorization: DPoP</tt> needs a
companion profile defining non-<tt>Authorization</tt> carriage and binding for the
compact Delegation credential.  This document does not define that profile.</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>
        <t>The preflight target-binding fields defined by this document describe the
protected request that will be sent after preflight.  They are not intended to
replace HTTP Message Signatures.  Where this document needs the method and
target URI of a protected request, the comparison semantics are aligned with
the corresponding HTTP Message Signatures derived components, including
<tt>@method</tt> and <tt>@target-uri</tt>.  Where this document needs a representation digest,
deployments <bcp14>SHOULD</bcp14> use the digest algorithm and syntax defined for HTTP Digest
Fields <xref target="RFC9530"/>, and the digest accepted during preflight <bcp14>SHOULD</bcp14> match the
protected request's <tt>Content-Digest</tt> field when that field is present.  A
deployment can additionally require an HTTP-message signature over the
protected request, including <tt>@method</tt>, <tt>@target-uri</tt>, <tt>content-digest</tt>, and
<tt>authorization</tt>, when it needs message-level integrity in addition to delegated
authority.</t>
        <t>This document uses target-binding fields in the preflight request because the
protected request has not yet been sent when the full proof is presented.  The
fields identify the future protected request for verifier policy and compact
credential binding; they do not sign or otherwise authenticate the preflight
HTTP message itself.</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 /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",
                  preflight-uri="https://api.example/preflight",
                  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,
    "preflight_uri": "https://api.example/preflight",
    "nonce": "QMjVqg5Xb6yV0bO_t9X8gQ",
    "max_age": 300
  }
}
]]></sourcecode>
      <t>The Delegated Requester obtains a Delegation proof from its Issuer by means
outside this document and submits the large proof to the advertised preflight
URI.  In this example the proof uses the Budget authority profile:</t>
      <sourcecode type="http-message"><![CDATA[
POST /preflight HTTP/1.1
Host: api.example
Content-Type: application/delegation-proof+cose
Delegation-Target-Method: "POST"
Delegation-Target-URI: "https://api.example/export"
Delegation-Target-Content-Digest: sha-256=:<base64-sha-256-digest>:
Content-Length: 4217

[COSE_Sign1 Budget-Attestation bytes]
]]></sourcecode>
      <t>Angle-bracketed values in examples are placeholders, not wire syntax.</t>
      <t>If the attestation is valid for the request and local policy, the Verifier
returns a compact, verifier-issued Delegation credential bound to the original
method, origin, target, nonce, expiry, and representation digest:</t>
      <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: application/json

{
  "credential_type": "delegation-compact",
  "credential": "kdc1.Pz9leGFtcGxlLW9wYXF1ZS10b2tlbg",
  "authorization": "Delegation kdc1.Pz9leGFtcGxlLW9wYXF1ZS10b2tlbg",
  "expires_in": 120,
  "target": {
    "method": "POST",
    "uri": "https://api.example/export",
    "content_digest": "sha-256=:<base64-sha-256-digest>:"
  }
}
]]></sourcecode>
      <t>The requester then retries the original protected request using normal HTTP
semantics.  The final request carries the compact Delegation credential in the
<tt>Authorization</tt> field.  If the protected request has an application
representation, that representation remains the request content:</t>
      <sourcecode type="http-message"><![CDATA[
POST /export HTTP/1.1
Host: api.example
Authorization: Delegation kdc1.Pz9leGFtcGxlLW9wYXF1ZS10b2tlbg
Content-Type: application/json

{"format":"jsonl","limit":1000}
]]></sourcecode>
      <t>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>
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.
When a value is represented both in a <tt>WWW-Authenticate</tt> challenge parameter
and in the Problem Details body, the challenge parameter is authoritative for
authentication processing.  The Problem Details body is explanatory and
actionable metadata for clients; it does not relax, override, or extend the
<tt>WWW-Authenticate</tt> challenge.</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.  Conformant implementations use the 401/403
behavior defined in <xref target="challenge-responses"/> unless and until a future revision
registers a dedicated status code.</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 Issuer 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>preflight-uri</tt> parameter is <bcp14>OPTIONAL</bcp14>.  When present, it identifies the
preflight endpoint for the challenged protection space.  A profile that
requires preflight for a challenged request <bcp14>SHOULD</bcp14> include <tt>preflight-uri</tt> in
the <tt>Delegation</tt> challenge or advertise the same endpoint through an
authenticated discovery mechanism.  A Problem Details
<tt>authority_requirements.preflight_uri</tt> member can mirror or further explain the
preflight endpoint, but it does not override a <tt>preflight-uri</tt> challenge
parameter.</t>
        <t>The interoperable profile identifier for the authority profile defined in this
document is <tt>budget</tt>.  Deployments <bcp14>MAY</bcp14> use private-use or local profile
identifiers when those identifiers are mapped by authenticated configuration or
discovery metadata to the same Budget claim and verification semantics.  Such
private-use identifiers are deployment-specific and <bcp14>MUST NOT</bcp14> be assumed
interoperable by other implementations unless a future specification registers
or otherwise defines them.</t>
        <t>After <tt>auth-param</tt> parsing, the <tt>nonce</tt> value <bcp14>MUST</bcp14> be the canonical base64url
encoding without padding defined by <xref target="RFC4648"/>, Section 5.  A Verifier <bcp14>MUST</bcp14>
reject an invalid or noncanonical encoding.  The decoded value <bcp14>MUST</bcp14> be 16 to
64 octets.  Budget-Claims field 10 is the CBOR bstr containing exactly those
decoded octets; it is not the encoded challenge text.  The Issuer and Verifier
<bcp14>MUST</bcp14> compare those octets exactly.</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 or a
verifier-issued compact Delegation credential derived from a previously
verified proof.  If the encoded proof would exceed practical HTTP field size
limits, the requester <bcp14>MUST NOT</bcp14> assume that the proof can be carried in an HTTP
field.  The Budget <tt>cose-ml-dsa</tt> profile <bcp14>MUST</bcp14> support the preflight flow
defined in <xref target="preflight-flow"/> as the mandatory-to-implement fallback for large
proofs.</t>
        <t>Before decoding an <tt>Authorization: Delegation</tt> token, the Verifier <bcp14>MUST</bcp14> know
whether the selected credential kind is a full Delegation proof or a compact
credential from challenge/preflight state or from a non-overlapping,
authenticated local token syntax.  Failure to validate the selected kind <bcp14>MUST</bcp14>
cause rejection and <bcp14>MUST NOT</bcp14> trigger decoding as the other kind.  Because this
document leaves compact-token syntax implementation-specific, a deployment
that enables both kinds in one protection space <bcp14>MUST</bcp14> configure a disjoint
authenticated discriminator or equivalent state that selects exactly one kind
before decoding.  Without such a discriminator, it <bcp14>MUST NOT</bcp14> enable both kinds
for that protection space.</t>
        <t>A client <bcp14>MUST NOT</bcp14> reuse a Delegation credential solely because a later request
is in the same realm or protection space.  Delegation credentials are bounded
by their authority profile, nonce, expiry, request binding, and compact
credential replay rules.  A client can reuse a compact Delegation credential
only when the credential's profile explicitly permits that reuse and the
requested operation remains within the credential's verified binding.</t>
        <t>Requesters using the Budget <tt>cose-ml-dsa</tt> profile <bcp14>SHOULD</bcp14> use preflight by
default because ML-DSA-backed COSE envelopes are large before base64url
expansion and can exceed field-size limits enforced by intermediaries.
<xref target="RFC9958"/> describes the larger key, ciphertext, and signature sizes of PQC
mechanisms as a protocol-design consideration rather than a transparent
algorithm rollover.  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.</t>
        <t>The content of GET and HEAD requests has no generally defined semantics in
HTTP.  The Budget <tt>cose-ml-dsa</tt> profile <bcp14>MUST NOT</bcp14> rely on GET or HEAD request
content for Delegation proof carriage.  When a GET or HEAD request needs a
large Delegation proof, the requester <bcp14>MUST</bcp14> use the preflight flow in
<xref target="preflight-flow"/> or another explicitly negotiated profile that does not
depend on GET or HEAD request content.  This requirement does not mean that
every authenticated GET or HEAD request needs a new preflight exchange:
small credentials that fit within deployment field-size limits, previously
issued compact credentials whose profile explicitly permits the requested use,
or future profile-defined proof-reference mechanisms can avoid the extra
round trip.  The Budget <tt>cose-ml-dsa</tt> profile only makes preflight mandatory to
implement as the fallback when the proof itself is too large for ordinary field
carriage.</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.  The mandatory interoperability fallback for the Budget
<tt>cose-ml-dsa</tt> profile is preflight.  In the base Budget profile,
<tt>application/delegation-proof+cose</tt> request-content carriage is used only for
the Proof Carrier POST to the preflight endpoint; direct presentation on the
Protected Target Request uses field carriage subject to its configured size
limit.  A deployment profile <bcp14>MAY</bcp14> additionally
define a same-request packaging media type, for example a <tt>multipart/related</tt>
or profile-specific envelope, but such a media type is an additional profile
and not the baseline interoperability requirement.  A packaging profile <bcp14>MUST</bcp14>
define an unambiguous, noncircular extraction of the proof object and protected
application-content octets, how those application octets are hashed without
including the signature that covers the hash, and how the two are
cryptographically bound before claiming interoperability.</t>
        <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="proof-content-completeness">
        <name>HTTP Message Completeness and Incremental Processing</name>
        <t>Regardless of carriage location, a Verifier <bcp14>MUST NOT</bcp14> accept a Delegation proof,
issue a compact Delegation credential, expose verified claims, or perform the
Protected Target Request until the Proof Carrier Request is complete.  For
direct field presentation, where the carrier is the Protected Target Request,
the Verifier also <bcp14>MUST</bcp14> wait for all protected application content and any
trailer-carried <tt>Content-Digest</tt> to be complete and validated.  A field-carried
proof can be parsed after receipt of the field section, but successful parsing
does not satisfy this complete-message gate.  If the HTTP stack has not
supplied its end-of-message indication, the message is incomplete even if the
available proof bytes decode.  Abort, timeout, missing completion, or failed
bound-content validation <bcp14>MUST</bcp14> cause rejection without an authority-bearing
effect.</t>
        <t>When a Delegation proof is carried in request content using
<tt>application/delegation-proof+cose</tt>, TLS record boundaries, HTTP message and
frame boundaries, transfer-coding syntax, transport read sizes, and
implementation buffer boundaries are not part of a Delegation proof.  A
Verifier <bcp14>MAY</bcp14> consume proof content incrementally, but it <bcp14>MUST</bcp14> derive the proof
media-type data by processing exactly the ordered sequence of Proof Carrier
Request content octets and then decoding any accepted content coding.  Given
the same complete content octets and Verifier state, every partition of those
octets across TLS records, HTTP frames, reads, or internal buffers <bcp14>MUST</bcp14> produce
the same derived proof data and verification result.  An incremental
implementation <bcp14>MUST NOT</bcp14> omit, duplicate, insert, or reorder octets.  This
specification defines no proof chunk format or chunk size.  An authority
profile that defines another proof media type <bcp14>MUST</bcp14> specify its top-level object
framing and completeness rules.</t>
        <t>For body carriage, the resulting media-type data <bcp14>MUST</bcp14> contain exactly one
complete tagged or untagged COSE_Sign1 value permitted by
<xref target="budget-envelope"/>, with no trailing octets.  Every accepted content coding
<bcp14>MUST</bcp14> be successfully decoded before verification.  Incomplete content,
content-decoding or proof-decoding failure, and trailing octets <bcp14>MUST</bcp14> cause
verification failure.  Values obtained from partial decoding <bcp14>MUST NOT</bcp14> be
treated as verified claims or used as a basis for protected processing.</t>
        <t>A Verifier <bcp14>MUST</bcp14> enforce cumulative coded-content limits while receiving a
body-carried proof and cumulative decoded-proof limits after or during content
decoding.  Counter overflow <bcp14>MUST</bcp14> cause rejection.  When either configured
body-carriage limit is exceeded, the Verifier <bcp14>SHOULD</bcp14> use 413 (Content Too
Large).  Field-carried proofs are instead subject to the field-size limits and
failure behavior required by <xref target="auth-scheme"/> and
<xref target="delegation-proof-field"/>; coded-content and decoded-proof body limits do not
synthetically apply to a field value.  A profile-defined field-value limit <bcp14>MUST</bcp14>
be applied to the serialized field value as carried: this includes the
authentication scheme and encoded token for <tt>Authorization</tt>, or the Structured
Field Byte Sequence framing and base64 representation for <tt>Delegation-Proof</tt>.
It <bcp14>MUST NOT</bcp14> be measured only over decoded COSE octets.  This document does not
set a universal proof-size limit, and an implementation's internal processing
unit does not change any configured total limit.</t>
      </section>
      <section anchor="preflight-flow">
        <name>Large-Proof Preflight Flow</name>
        <t>The preflight flow separates large-proof carriage from protected request
processing.  It is the mandatory-to-implement fallback for the Budget
<tt>cose-ml-dsa</tt> profile.</t>
        <t>A Delegation challenge response for a profile that supports preflight <bcp14>SHOULD</bcp14>
advertise a preflight URI in the Problem Details <tt>authority_requirements</tt>
object, the <tt>preflight-uri</tt> authentication challenge parameter, or by another
profile-defined discovery mechanism.  A <tt>preflight-uri</tt> challenge parameter
takes precedence over a Problem Details value, and a challenge-specific value
takes precedence over a stable preflight URI learned through discovery.  For
the Budget <tt>cose-ml-dsa</tt> profile, a Verifier that requires preflight for the
challenged request <bcp14>MUST</bcp14> advertise a preflight URI through one of those
mechanisms.  The advertised preflight URI identifies an endpoint that accepts a
Delegation proof but does not perform the protected operation.</t>
        <t>Before transmitting a proof, the requester <bcp14>MUST</bcp14> obtain the preflight URI from
a TLS-authenticated challenge response from the protected target origin or
from authenticated configuration or discovery bound to that target's protection
space.  The preflight URI <bcp14>MUST</bcp14> be an absolute HTTPS URI without userinfo or a
fragment, and the requester <bcp14>MUST</bcp14> authenticate its HTTPS origin.  The requester
<bcp14>MUST NOT</bcp14> send the proof to an endpoint that is not authorized to receive it for
that protection space.  Cross-origin preflight is permitted only when
authenticated configuration or discovery explicitly authorizes the endpoint
for that protection space; a URI in a challenge or redirect alone does not
establish that authorization.  The precedence rules above select among
authorized endpoints and <bcp14>MUST NOT</bcp14> override these trust requirements.</t>
        <t>A requester <bcp14>MUST NOT</bcp14> follow a preflight redirect with a proof-bearing request
unless it first applies the same endpoint authentication and recipient
authorization requirements to the new destination.  It <bcp14>MUST NOT</bcp14> forward proof
content or associated credentials to an unauthorized destination, and <bcp14>MUST NOT</bcp14>
follow an HTTPS-to-HTTP downgrade.  These requirements do not authorize
forwarding unrelated identity or session credentials.</t>
        <t>The requester submits the full Delegation proof to the preflight URI using
POST.  The preflight request content type <bcp14>MUST</bcp14> be
<tt>application/delegation-proof+cose</tt> for the base Budget profile.  A separately
selected and versioned extension profile can define another exact media type
and its parameters.  A preflight request <bcp14>MUST</bcp14> be bound to the protected request
by method, origin, target URI, nonce, expiry, and, when the protected request
has content, a representation digest.  The Budget <tt>cose-ml-dsa</tt> profile uses
the target-binding fields defined in <xref target="preflight-target-fields"/> for this
binding.</t>
        <t>The POST to the preflight URI is the Proof Carrier Request, not the Protected
Target Request.  When Budget-Claims field 14 is present, it <bcp14>MUST</bcp14> bind the future
Protected Target Request designated by the validated <tt>Delegation-Target-*</tt>
fields.  It <bcp14>MUST NOT</bcp14> bind the method, URI, or proof-envelope content of the
preflight POST.  In particular, Request-Binding <tt>body-h</tt> covers the future
protected application content identified by
<tt>Delegation-Target-Content-Digest</tt>, never the body-carried COSE proof bytes.</t>
        <t>The Verifier <bcp14>MUST NOT</bcp14> perform the protected operation while processing the
preflight request.  A successful Budget <tt>cose-ml-dsa</tt> preflight response
returns a compact verifier-issued Delegation credential as described in
<xref target="compact-credential-response"/>.  A future authority profile can define another
proof reference or verifier-issued artifact, but it <bcp14>MUST</bcp14> provide equivalent
target binding, expiry, and replay protection before claiming interoperability.
The interoperability property is that any Verifier responsible for the same
protection space can validate the compact credential and enforce replay policy;
a credential that can only be resolved by the individual node that processed
preflight is not interoperable.</t>
        <t>The requester then sends the protected request using ordinary HTTP semantics.
The protected request carries the compact Delegation credential in
<tt>Authorization: Delegation</tt>.  For GET and HEAD requests, the protected request
does not carry Delegation proof content.  For POST, PUT, PATCH, or other
methods with request content, the protected request content remains the
application representation.</t>
        <t>The Verifier <bcp14>MUST</bcp14> reject the compact Delegation credential if the method,
origin, target URI, nonce, expiry, or representation digest observed on the
protected request differs from the binding verified during preflight.  The
Verifier <bcp14>MUST</bcp14> enforce at-most-once acceptance for credentials that authorize a
non-idempotent protected operation.  For a compact credential issued by
preflight, the Verifier <bcp14>MUST</bcp14> atomically consume the proof nonce when issuing
the compact credential or otherwise ensure that repeated preflight requests
with the same proof nonce cannot mint multiple credentials for a
non-idempotent operation.  The final protected request then consumes the
compact credential replay key as described in <xref target="compact-credential-response"/>.</t>
      </section>
      <section anchor="preflight-target-fields">
        <name>Preflight Target Binding Fields</name>
        <t>The Budget <tt>cose-ml-dsa</tt> preflight request uses the following HTTP fields to
identify the protected request to which the full Delegation proof is being
bound.  These fields are Structured Fields <xref target="RFC9651"/>.</t>
        <dl>
          <dt><tt>Delegation-Target-Method</tt>:</dt>
          <dd>
            <t>The HTTP method token of the protected request.  HTTP method tokens are
case-sensitive; the Verifier <bcp14>MUST</bcp14> compare this field using the exact method
token that will be used for the protected request.  The field value is a
Structured Field Item whose bare item is a String.  This comparison is
aligned with the HTTP Message Signatures <tt>@method</tt> derived component.</t>
          </dd>
          <dt><tt>Delegation-Target-URI</tt>:</dt>
          <dd>
            <t>The absolute URI of the protected request target as reconstructed by the
Verifier after applying only trusted origin or reverse-proxy configuration.
The field value is a Structured Field Item whose bare item is a String.  The
Verifier <bcp14>MUST</bcp14> derive scheme and authority from connection context, origin
configuration, or explicitly trusted gateway metadata.  It <bcp14>MUST</bcp14> ignore
untrusted <tt>Forwarded</tt>, <tt>X-Forwarded-*</tt>, or similar fields when reconstructing
the target URI.  The Verifier <bcp14>MUST</bcp14> reject a preflight request whose target
URI cannot be reconstructed deterministically, is outside the authority scope
of the challenged resource, or uses a request-target form such as CONNECT
authority-form or OPTIONS asterisk-form that is not defined by the authority
profile.  This comparison is aligned with the HTTP Message Signatures
<tt>@target-uri</tt> derived component.</t>
          </dd>
          <dt><tt>Delegation-Target-Content-Digest</tt>:</dt>
          <dd>
            <t>The digest of the protected request content, using the Digest Fields syntax
defined by <xref target="RFC9530"/>.  The field value is a Structured Field Dictionary.
The Budget <tt>cose-ml-dsa</tt> profile <bcp14>MUST</bcp14> support <tt>sha-256</tt>.  This field is
<bcp14>REQUIRED</bcp14> when the protected request has content, including explicitly framed
zero-length content.  If the protected request has no content, this field
<bcp14>MUST</bcp14> be omitted.  The Verifier <bcp14>MUST</bcp14> compute the digest over the complete
protected-request content according to <xref target="RFC9530"/> and require equality with
the value accepted during preflight.  When Budget-Claims field 14 contains
<tt>body-h</tt>, that value <bcp14>MUST</bcp14> be the same SHA-256 digest.  When the protected
request carries <tt>Content-Digest</tt>, the Verifier <bcp14>MUST</bcp14> independently validate
that field against the actual complete content and require its <tt>sha-256</tt>
value to equal the preflight digest and, when field 14 is present, <tt>body-h</tt>.
The Verifier <bcp14>MUST NOT</bcp14> trust a client-supplied <tt>Content-Digest</tt> value without
verifying it.  If <tt>Content-Digest</tt> is received in a trailer section, the
Verifier <bcp14>MUST NOT</bcp14>
perform the protected operation before the trailer has been received and the
digest has been validated.</t>
          </dd>
        </dl>
        <t>The Verifier <bcp14>MUST</bcp14> reject the preflight request if any required target-binding
field is absent, malformed, ambiguous, inconsistent with the challenged
resource, or inconsistent with the request-binding claims in the Delegation
proof.  The Verifier <bcp14>MUST</bcp14> reject the later protected request if its observed
method, effective request URI, or content digest differs from the target
accepted during preflight.</t>
      </section>
      <section anchor="compact-credential-response">
        <name>Compact Credential Response</name>
        <t>A successful Budget <tt>cose-ml-dsa</tt> preflight response <bcp14>SHOULD</bcp14> use 200 (OK).  A
deployment <bcp14>MAY</bcp14> use 201 (Created) when it exposes a distinct resource URI for
the issued credential.  The response <bcp14>MUST</bcp14> include <tt>Cache-Control: no-store</tt> and
<bcp14>MUST NOT</bcp14> be interpreted as a settlement signal, a payment receipt, or evidence
of revenue.</t>
        <t>The response body <bcp14>MUST</bcp14> be a JSON object containing these members:</t>
        <dl>
          <dt><tt>credential_type</tt>:</dt>
          <dd>
            <t>The string <tt>delegation-compact</tt>.</t>
          </dd>
          <dt><tt>credential</tt>:</dt>
          <dd>
            <t>An opaque <tt>token68</tt> compact Delegation credential.  The credential syntax is
implementation-specific; clients <bcp14>MUST</bcp14> treat it as opaque.</t>
          </dd>
          <dt><tt>authorization</tt>:</dt>
          <dd>
            <t>A convenience string equal to <tt>Delegation </tt> followed by the <tt>credential</tt>
value.  The client <bcp14>MAY</bcp14> copy it directly into the protected request's
<tt>Authorization</tt> field.</t>
          </dd>
          <dt><tt>expires_in</tt>:</dt>
          <dd>
            <t>The remaining credential lifetime in seconds, expressed as a non-negative
integer.  The compact credential lifetime <bcp14>MUST NOT</bcp14> exceed the challenge
window or the underlying Delegation proof lifetime.</t>
          </dd>
          <dt><tt>target</tt>:</dt>
          <dd>
            <t>A JSON object restating the accepted protected-request binding.  It <bcp14>MUST</bcp14>
include <tt>method</tt> and <tt>uri</tt>.  It <bcp14>MUST</bcp14> include <tt>content_digest</tt> when the
protected request content digest was part of the preflight binding.  The
<tt>content_digest</tt> value uses the Digest Fields syntax defined by <xref target="RFC9530"/>.</t>
          </dd>
        </dl>
        <t>A successful preflight response <bcp14>MUST NOT</bcp14> be interpreted as a settlement signal,
a payment receipt, or evidence of revenue.  Profiles or deployments can include
additional metadata in the response body, but such metadata does not change the
Delegation authorization semantics unless a future specification defines that
behavior.</t>
        <t>A compact Delegation credential <bcp14>MUST</bcp14> be integrity protected by the Verifier and
bound to the verified proof, issuer and requester identifiers when available,
method, origin, target URI, representation digest when present, nonce, expiry,
and local authority requirements.  The Budget <tt>cose-ml-dsa</tt> profile <bcp14>MUST NOT</bcp14>
depend on node-local preflight state that is unavailable to another Verifier in
the same protection space.  Implementations <bcp14>SHOULD</bcp14> use a self-authenticating
compact credential, such as an opaque verifier-protected token whose contents
are integrity protected and confidential from clients when necessary.  A
deployment <bcp14>MAY</bcp14> instead use a server-side credential handle only when lookup,
validation, and consumption state is consistently available to all Verifiers
that can receive the protected request.  A Verifier <bcp14>MUST</bcp14> fail closed if it
cannot validate, look up, or consume the compact credential and its replay
state.  A compact Delegation credential that authorizes a non-idempotent
protected operation <bcp14>MUST</bcp14> be accepted at most once.</t>
        <t>At protected-request acceptance, the Verifier <bcp14>MUST</bcp14> check the compact
credential against the currently applicable local authority requirements and
the authorization status of the original Issuer signing key.  A successful
preflight check alone is not sufficient.  The credential or its integrity-bound
validation state <bcp14>MUST</bcp14> identify the original Issuer and signing key and the
policy context needed for those checks.  The Verifier <bcp14>MUST</bcp14> reject the request
if the key is revoked, expired, or no longer authorized, or if current policy
does not permit the request.  Required policy or key-status information <bcp14>MUST</bcp14>
be authenticated and within its applicable freshness lifetime; unavailable or
stale required information is a validation failure.  Implementations can use
integrity-protected version references or shared validation state to enforce
invalidation, without prescribing a compact token format or requiring the
original proof to be transmitted again.  Key rotation alone does not invalidate
a credential when the original key remains authorized under current policy.</t>
        <t>Replay tracking for compact Delegation credentials is based on a
Verifier-selected replay key, not on a client-interpretable token format.  A
self-authenticating compact credential <bcp14>SHOULD</bcp14> contain or yield an
integrity-protected credential identifier suitable for replay tracking.  The
accepted challenge nonce <bcp14>MUST</bcp14> remain bound to the compact credential, either
directly or through the integrity-bound proof or validation state.  A compact
credential <bcp14>MAY</bcp14> contain an explicit representation of that nonce; omitting that
representation <bcp14>MUST NOT</bcp14> omit the nonce binding or its verification.  This does
not change the mandatory nonce in Budget-Claims field 10.  If no separate
credential identifier is available to verifier logic, the Verifier <bcp14>MAY</bcp14> derive
the replay key from a cryptographic hash of the received compact credential,
the protection space, and the accepted protected-request binding.  Verifiers
<bcp14>MUST NOT</bcp14> rely on a client-supplied, unauthenticated identifier for replay
tracking.  For non-idempotent protected operations, replay-state unavailability
or an inability to atomically consume the replay key is a validation failure.</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 must retain <tt>Authorization</tt> on the Protected Target Request,
bounded low-footprint delegated authority <bcp14>SHOULD</bcp14> be presented in the
<tt>Delegation-Proof</tt> field.  Using a preflight compact Delegation credential in
that case requires a companion profile defining its non-<tt>Authorization</tt>
carriage and binding; this document does not define that profile.  A proof
body carried on the Protected Target Request requires the separate packaging
profile described in <xref target="auth-scheme"/>.</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>Responses whose selected representation, protected processing, or authorization
decision depends on a <tt>Delegation-Proof</tt> field are sensitive to a credential
field that is not the <tt>Authorization</tt> field.  Unless the response is otherwise
safe for shared caching, an origin server or origin-authorized gateway <bcp14>SHOULD</bcp14>
send <tt>Cache-Control: no-store</tt> or <tt>Cache-Control: private</tt>.  If a response to a
request carrying <tt>Delegation-Proof</tt> is intentionally cacheable, the response
<bcp14>MUST</bcp14> make the cache key explicit, for example by including <tt>Vary:
Delegation-Proof</tt> and any other Delegation request fields that affect response
selection.  Challenge responses and preflight responses remain subject to the
<tt>Cache-Control: no-store</tt> requirements in <xref target="challenge-responses"/> and
<xref target="compact-credential-response"/>.</t>
        <t>The <tt>Delegation-Proof</tt> field is not the general-purpose carriage path for
multi-kilobyte post-quantum attestations.  Implementations of the base
<tt>cose-ml-dsa</tt> profile <bcp14>MUST</bcp14> support preflight body carriage with media type
<tt>application/delegation-proof+cose</tt>.  A separately selected and versioned
extension profile can define another proof media type or same-request
packaging.  A
deployment profile <bcp14>MAY</bcp14> permit <tt>Delegation-Proof</tt> field carriage only when it
defines accepted field-size limits and failure behavior.  A field-carried
proof and the protected application content are bound using
<xref target="request-binding"/> and the complete-message checks in
<xref target="proof-content-completeness"/>.  Field carriage alone does not require a
same-request body-packaging profile; that additional profile is needed when
the proof and application content share one request-content stream.</t>
        <t>The interoperable media type for body-carried Delegation proofs defined by
this document is <tt>application/delegation-proof+cose</tt>.  Earlier or local media
types, including Budget-specific deployment aliases, are implementation
experience and <bcp14>MUST NOT</bcp14> be assumed interoperable unless separately specified or
registered.</t>
      </section>
    </section>
    <section anchor="budget-envelope">
      <name>Budget Authority Profile: Budget-Attestation Envelope</name>
      <section anchor="budget-profile-selection">
        <name>Profile and Version Selection</name>
        <t>Before interpreting an integer label in a Budget-Claims map, a Verifier <bcp14>MUST</bcp14>
select the expected Delegation authentication-scheme version, authority
profile, proof format, algorithm policy, and carriage location from challenge
state and authenticated local configuration for the protection space.  The
carriage location identifies request-content carriage, <tt>Authorization</tt> field
carriage, or <tt>Delegation-Proof</tt> field carriage.  Media metadata is conditional:
for request-content carriage, the selected tuple also includes the expected
proof media type and any permitted media-type parameters; for either field
carriage location, no HTTP proof media type exists and a Verifier <bcp14>MUST NOT</bcp14>
infer or synthesize one from the COSE object or proof-format name.</t>
        <t>For <tt>Authorization</tt> field carriage, the expected credential kind is also
selected before token decoding as required by <xref target="auth-scheme"/>.  A full-proof
selection enters the Budget-Claims processing defined here; a compact-token
selection enters only the configured compact-token verifier.  Failure of
either selected path <bcp14>MUST NOT</bcp14> fall back to the other.</t>
        <t>For body carriage in this profile, the media type is
<tt>application/delegation-proof+cose</tt> and the optional outer parameter is
constrained by <xref target="iana-media-type"/>; this base-profile carriage location is the
preflight Proof Carrier Request, not the Protected Target Request.  Field
carriage is permitted only under the size-limit and failure rules in <xref target="auth-scheme"/> or
<xref target="delegation-proof-field"/>, as applicable, and carries no proof media type.</t>
        <t>The Verifier <bcp14>MUST</bcp14> record the selected tuple, including carriage location,
credential kind when applicable, and conditional media metadata, with the
issued challenge nonce and, after
decoding field 10 under the already-selected schema, <bcp14>MUST</bcp14> confirm that the
same tuple is associated with that live nonce.  A requester-provided value
<bcp14>MUST NOT</bcp14> alter any member of the selected tuple.  A Verifier <bcp14>MUST NOT</bcp14> select a
claim schema by trying multiple decoders, by inspecting the CBOR type associated
with a claim label, or by falling back to another profile after a decode or
verification failure.  For this profile, the selected values include
Delegation version 1, authority profile <tt>budget</tt>, proof format <tt>cose-ml-dsa</tt>,
Budget-Claims version 1, and the algorithm policy advertised in the challenge
and required locally.</t>
        <t>The outer COSE structure and Budget-Claims field 1 are decoded only to confirm
the selected profile and version.  A mismatch, an unknown claim label, a claim
whose type or meaning belongs to another profile, or a mixture of fields from
different profile versions <bcp14>MUST</bcp14> cause rejection.  Duplicate map keys are
ambiguous and <bcp14>MUST</bcp14> cause rejection before any claim is used.  Label 14 has only
the Request-Binding type and semantics defined by this profile; any other type
or interpretation is a mixed-profile encoding and <bcp14>MUST</bcp14> cause rejection.</t>
      </section>
      <section anchor="cosesign1-and-budget-claims-encoding">
        <name>COSE_Sign1 and Budget-Claims Encoding</name>
        <t>The Budget authority profile defines a Budget-Attestation envelope as exactly
one COSE_Sign1 object <xref target="RFC9052"/> carrying one 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.  When constructing the COSE Sig_structure, Verifiers <bcp14>MUST</bcp14> use the
exact protected-header bstr and payload bstr received in the COSE_Sign1 object
and <bcp14>MUST NOT</bcp14> substitute a locally reserialized CBOR value for either bstr.
Verifiers <bcp14>MUST</bcp14> reject duplicate map keys in any map in the COSE_Sign1 object,
the decoded Budget-Claims payload, or a nested Request-Binding map.  Duplicate
detection <bcp14>MUST</bcp14> occur during CBOR decoding or in a representation that preserves
every encoded pair; a decoder <bcp14>MUST NOT</bcp14> first collapse pairs into an ordinary
map and then attempt duplicate detection.  A header label occurring in both
protected and unprotected header maps also causes rejection.  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>
        <t>For this profile, the Delegation proof is a COSE_Sign1 object carrying the
deterministically encoded Budget-Claims map as its payload.  A COSE_Sign1
object can be encoded with COSE tag 18 or as the untagged four-element
COSE_Sign1 array; Verifiers <bcp14>SHOULD</bcp14> accept both forms and Issuers <bcp14>SHOULD</bcp14> send
the tagged form unless a deployment profile says otherwise.  The payload
element <bcp14>MUST</bcp14> contain the Budget-Claims bstr; detached payloads represented by
<tt>null</tt> are not permitted and <bcp14>MUST</bcp14> be rejected.  The protected header map <bcp14>MUST</bcp14>
contain the algorithm header parameter.  When multiple issuer keys are
available, the protected header map <bcp14>MUST</bcp14> contain a <tt>kid</tt> value
identifying the Issuer key.  The algorithm and <tt>kid</tt> header parameters <bcp14>MUST NOT</bcp14>
appear in the unprotected header map.  The unprotected header map <bcp14>MUST</bcp14> be empty
in this profile.  A <tt>crit</tt> protected header parameter, when present, <bcp14>MUST</bcp14> be
understood by the Verifier before the proof is accepted.</t>
        <t>The COSE content type (<tt>ctyp</tt>) header parameter describes the COSE payload, not
the outer HTTP representation.  The base Budget profile assigns no media type
to the inner Budget-Claims map.  A base-profile Issuer therefore <bcp14>MUST</bcp14> omit
<tt>ctyp</tt>, and a base-profile Verifier <bcp14>MUST</bcp14> reject a protected or unprotected
<tt>ctyp</tt> parameter.  Only a separately selected and versioned extension profile
can define an exact protected <tt>ctyp</tt> value and its verification rules.  Such an
extension <bcp14>MUST</bcp14> treat <tt>ctyp</tt> only as a signed consistency condition and <bcp14>MUST NOT</bcp14>
use it to select or change the authority profile.  No profile can place the
outer <tt>application/delegation-proof+cose</tt> media type in <tt>ctyp</tt> merely because
that media type carried the COSE_Sign1 object.</t>
        <t>This profile permits exactly one primary Issuer signature: the signature
element of that COSE_Sign1 object.  Issuers <bcp14>MUST NOT</bcp14> use COSE_Sign, a COSE
countersignature, a signature-bearing Budget-Claims field, a second signature
slot, or a trailing signature object in this profile.  Verifiers <bcp14>MUST</bcp14> reject
each of those constructions rather than ignore an additional signature or
reinterpret the proof under another profile.</t>
        <t>The signature input is the COSE_Sign1 Sig_structure defined by <xref target="RFC9052"/>,
using context string <tt>Signature1</tt>, the encoded protected header bstr, an empty
external_aad bstr unless a future profile defines another value, and the exact
Budget-Claims payload bstr received by the Verifier.  Verifiers <bcp14>MUST</bcp14> reject
proofs whose payload bstr does not decode to a deterministic Budget-Claims map
or whose protected header bstr is not deterministically 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,              ; reserved profile extension slot
  ? 12 => bstr .size 32,     ; reserved digest extension slot
  13 => tstr,                ; verifier or merchant binding
  ? 14 => Request-Binding    ; signed request 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>Fields 11 and 12 are reserved extension slots and are optional in
Budget-Claims version 1.  An Issuer using the base Budget <tt>cose-ml-dsa</tt> profile
<bcp14>MUST</bcp14> omit both fields, and a Verifier of that base profile <bcp14>MUST</bcp14> accept their
absence.  Their presence is valid only when the already-selected, separately
specified profile defines their types, exact byte semantics, verification
procedure, failure behavior, and version negotiation.  For field 12, such a
profile <bcp14>MUST</bcp14> also define the digest algorithm and the exact bytes covered.</t>
        <t>A Verifier <bcp14>MUST</bcp14> reject a proof containing field 11 or 12 when the selected
profile does not define that field, when the Verifier does not explicitly
support that profile, or when the field fails the profile-defined validation.
It <bcp14>MUST NOT</bcp14> infer extension semantics from a field's length or contents and
<bcp14>MUST NOT</bcp14> retry the proof under another profile.</t>
        <t>Field 12 is not a replacement for field 14, a preflight target-content digest,
an independently verified <tt>Content-Digest</tt> field, or computation of the actual
protected-request content digest.  No extension profile can obtain those
bindings merely by placing an unspecified digest in field 12.</t>
        <t>Field 14, when present, carries a signed <tt>Request-Binding</tt> structure.  A
Budget-Attestation that is intended to authorize only one specific protected
request under this profile <bcp14>MUST</bcp14> include field 14 using exactly the construction
defined in <xref target="request-binding"/>.  Any other type or semantics at label 14 is a
mixed-profile encoding and <bcp14>MUST</bcp14> be rejected.  When field 14 is absent, the
Budget-Attestation is authority for the class of actions and bounds expressed
by its other claims; a Verifier can still issue a compact credential bound to
one protected request after preflight, but it <bcp14>MUST NOT</bcp14> describe that original
Budget-Attestation as issuer-bound to that specific HTTP target.</t>
        <t>The <tt>Channel-Binding</tt> structure above is a logical structure for profile
extensions.  It is not part of the integer-labeled Budget-Claims map unless a
future revision assigns a claim label for it.  It is included here to define
semantics that a companion profile can bind to without changing the core
Delegation challenge model.</t>
      </section>
      <section anchor="request-binding">
        <name>Request-Binding Canonicalization</name>
        <t>When a Budget-Attestation is bound to a Protected Target Request, the Issuer
and Verifier <bcp14>MUST</bcp14> use the same canonical target-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 origin,
gateway, or 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.  Verifiers <bcp14>MUST NOT</bcp14> use untrusted <tt>Forwarded</tt>,
<tt>X-Forwarded-*</tt>, or similar fields when reconstructing the origin.</t>
          </li>
          <li>
            <t><tt>uri-h</tt> is SHA-256 over the UTF-8 serialization of the origin-form target.
An empty path is serialized as <tt>/</tt>.  An absent query contributes no <tt>?</tt>,
while a present but empty query contributes a final <tt>?</tt>; otherwise the path
is followed by <tt>"?"</tt> and the query component.  Verifiers <bcp14>MUST NOT</bcp14> reorder query parameters,
percent-decode and re-encode octets, remove dot segments, or otherwise
transform the target before hashing.  Verifiers <bcp14>MUST</bcp14> reject target forms
they cannot bind deterministically, including CONNECT authority-form and
OPTIONS asterisk-form unless a profile explicitly defines those cases.</t>
          </li>
          <li>
            <t><tt>body-h</tt> is SHA-256 over the HTTP request content bytes after transfer-coding
removal and before application parsing or content-coding transformation.
It is <bcp14>REQUIRED</bcp14> when the protected request has content, including
explicitly framed zero-length content, and <bcp14>MUST</bcp14> be omitted when the request
has no content.</t>
          </li>
        </ul>
        <t>The Issuer constructs the Request-Binding map from those components, encodes
that map as Budget-Claims field 14 before constructing the Budget-Claims payload
bstr, and signs that payload through the COSE_Sign1 Sig_structure.  No member
other than those defined by <tt>Request-Binding</tt> is permitted in this version.
The Verifier independently reconstructs the method, origin, target, and body
digest when present and compares them with the signed values.  A missing
required member, an unknown member, a type mismatch, or any unequal component
<bcp14>MUST</bcp14> cause rejection.</t>
        <t>For direct presentation in <tt>Authorization</tt> or <tt>Delegation-Proof</tt>, the Proof
Carrier Request and Protected Target Request are the same request, and the
Verifier reconstructs Request-Binding from that current request.  For
preflight, they are distinct: the Verifier reconstructs Request-Binding from
the validated <tt>Delegation-Target-*</tt> fields describing the future Protected
Target Request.  It <bcp14>MUST NOT</bcp14> compare field 14 to the preflight POST method,
preflight URI, or body-carried proof-envelope bytes.  A same-request packaging
profile <bcp14>MUST</bcp14> define a noncircular extraction and hashing rule as required by
<xref target="auth-scheme"/> before its application content can be used for <tt>body-h</tt>.</t>
        <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 protected COSE algorithm header <bcp14>MUST</bcp14> use the COSE algorithm
identifier registered for the selected ML-DSA algorithm by <xref target="RFC9964"/>.
The textual <tt>alg</tt> challenge name identifies that same algorithm; it is not
the integer encoded in the protected COSE header.</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 ML-DSA algorithm registered by
<xref target="RFC9964"/> under local policy.  Supporting ML-DSA-65 does not require a
Verifier to accept it when the selected deployment policy requires ML-DSA-87.</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>
        <t>ML-DSA processing follows <xref target="RFC9964"/>, including its empty <tt>ctx</tt> parameter.
The message being signed is the complete COSE Sig_structure.  The ML-DSA
<tt>ctx</tt> parameter is distinct from the COSE context string <tt>Signature1</tt> and
from COSE <tt>external_aad</tt>.  HashML-DSA and nonempty ML-DSA contexts are not
defined by the algorithm identifiers used by this profile.</t>
      </section>
      <section anchor="issuer-key-discovery">
        <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 obtained through authenticated configuration or discovery, for example
<tt>https://example.com/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>This document does not define a fixed discovery path or register a well-known
URI suffix.  The trusted configuration or discovery mechanism identifies the
issuer origin and key-set URI.  The example path has no special protocol
meaning.  Deployment-specific aliases do not create an interoperable discovery
name or authorize trusting a key at an otherwise untrusted origin.</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.  COSE key parameters or labels that are not
registered for interoperable use are private-use deployment metadata; a key-set
that depends on such labels is not an interoperable key-discovery profile
unless a companion specification defines those labels and their validation
rules.</t>
      </section>
      <section anchor="future-multisigner">
        <name>Future Multi-Signer Profiles</name>
        <t>This version defines no second signer, rail co-signature, countersignature, or
multi-signature encoding.  A future specification can define a separately
versioned profile using COSE_Sign or a COSE countersignature construction, but
that profile has to specify the complete COSE structure, signature inputs,
signer roles and trust, algorithms and key identification, cardinality,
downgrade and stripping behavior, verification order, media-type signaling,
and version negotiation.</t>
        <t>Private-use or experimental algorithm identifiers and signature containers are
outside the Budget <tt>cose-ml-dsa</tt> profile.  They <bcp14>MUST NOT</bcp14> be advertised or
accepted as interoperable values for this profile and <bcp14>MUST</bcp14> be isolated behind
an explicitly selected private profile and media-type policy.</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>Select the expected Delegation version, authority profile, proof format,
algorithm policy, carriage location, credential kind when applicable, and
body-carriage media metadata when applicable, as required by
<xref target="budget-profile-selection"/>.  Reject an unsupported or mixed selection
without attempting a fallback decode.</t>
          </li>
          <li>
            <t>Apply <xref target="proof-content-completeness"/> for every carriage location.  Decode
exactly one COSE_Sign1 value encoded in CBOR from the selected body or field
representation and reject non-deterministic, malformed, incomplete, or
trailing octets.  Reject COSE_Sign, countersignatures, nonempty unprotected
headers, signature-bearing claims, additional signature slots, and trailing
signature objects.</t>
          </li>
          <li>
            <t>Verify that Budget-Claims field 1 is supported and matches the selected
profile version.  Reject unknown or duplicate labels, labels with the wrong
type, and any label 14 value other than Request-Binding.  Accept absence of
fields 11 and 12; when either is present, apply the extension-profile rules
above and reject unless the selected profile explicitly defines and the
Verifier supports and validates that field.</t>
          </li>
          <li>
            <t>Verify the one primary signature against an Issuer key authorized for the
issuer and <tt>kid</tt>.</t>
          </li>
          <li>
            <t>Verify that Budget-Claims field 13 matches an expected verifier or merchant
identifier established by authenticated local configuration for the
protected resource.  Reject a mismatch whether or not field 14 is present;
successful request-binding verification does not replace this check.</t>
          </li>
          <li>
            <t>Parse Budget-Claims fields 4 and 5 under the selected unit policy, verify
field 6 identifies the required currency or metered unit, and verify the
signed bounds satisfy the protected resource's policy.  Reject ambiguous,
unparseable, unsupported, or insufficient values.</t>
          </li>
          <li>
            <t>Verify Budget-Claims fields 8 and 9, clock skew, and maximum lifetime.
Both fields are milliseconds since the Unix epoch.  Verifiers <bcp14>MUST</bcp14> first
reject field 9 values earlier than field 8, without performing an
underflowing subtraction, and then <bcp14>MUST</bcp14> reject lifetimes greater than
900000 milliseconds.  Verifiers <bcp14>SHOULD</bcp14> apply no more than 60000
milliseconds 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 Protected Target Request when the
attestation includes Budget-Claims field 14, including method, origin,
target URI hash, and body hash when present.  For preflight, derive that
request only from validated <tt>Delegation-Target-*</tt> fields, never from the
Proof Carrier Request.  If field 14 is absent, the
Verifier <bcp14>MUST</bcp14> enforce the action, resource-class, and
preflight compact-credential binding needed by local policy before
processing the protected request.</t>
          </li>
          <li>
            <t>Verify the permitted rail, action, or resource-class policy expressed by
mandatory Budget-Claims field 7.</t>
          </li>
        </ol>
        <t>Failure at any step <bcp14>MUST</bcp14> cause the Verifier to reject the request.  A rejected
proof <bcp14>MUST NOT</bcp14> expose any decoded claim as verified, <bcp14>MUST NOT</bcp14> result in compact
credential issuance, and <bcp14>MUST NOT</bcp14> cause the protected operation or any other
authority-bearing effect.</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.  When both <tt>Delegation-Version</tt> and a <tt>version</tt>
auth-param are present in the same challenge response, they <bcp14>MUST</bcp14> identify the
same Delegation authentication-scheme version.  A client that receives
conflicting values <bcp14>MUST</bcp14> treat the challenge as unsupported.</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.  The Delegation
authentication-scheme version is distinct from Budget-Claims field 1, which is
the Budget profile/envelope version.  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">Item</td>
              <td align="left">This document, <xref target="versioning"/></td>
              <td align="left">Integer item identifying the Delegation authentication-scheme version</td>
            </tr>
            <tr>
              <td align="left">Delegation-Proof</td>
              <td align="left">permanent</td>
              <td align="left">Item</td>
              <td align="left">This document, <xref target="delegation-proof-field"/></td>
              <td align="left">Byte Sequence item carrying a Delegation proof when <tt>Authorization</tt> is used by another origin-server scheme</td>
            </tr>
            <tr>
              <td align="left">Delegation-Target-Method</td>
              <td align="left">permanent</td>
              <td align="left">Item</td>
              <td align="left">This document, <xref target="preflight-target-fields"/></td>
              <td align="left">String item identifying the protected request method for Delegation preflight target binding</td>
            </tr>
            <tr>
              <td align="left">Delegation-Target-URI</td>
              <td align="left">permanent</td>
              <td align="left">Item</td>
              <td align="left">This document, <xref target="preflight-target-fields"/></td>
              <td align="left">String item identifying the protected request target URI for Delegation preflight target binding</td>
            </tr>
            <tr>
              <td align="left">Delegation-Target-Content-Digest</td>
              <td align="left">permanent</td>
              <td align="left">Dictionary</td>
              <td align="left">This document, <xref target="preflight-target-fields"/></td>
              <td align="left">Digest Fields dictionary identifying the protected request content digest for Delegation preflight target binding</td>
            </tr>
          </tbody>
        </table>
        <t>This revision does not request creation of a Delegation error-token registry.
The <tt>reason</tt> values in <xref target="delegation-error-tokens"/> are defined for this
authentication scheme and its initial Budget authority profile.  A future
revision can request a registry if multiple independent extensions need a
shared token namespace.</t>
      </section>
      <section anchor="iana-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"/>.  Profile selection already restricts this
media type to exactly one COSE_Sign1 structure, so the parameter is <bcp14>OPTIONAL</bcp14>
for both tagged and untagged forms.  When present, its only accepted form in
this profile is <tt>cose-type="cose-sign1"</tt>.  A value identifying COSE_Sign or another COSE
structure is not valid for the Budget <tt>cose-ml-dsa</tt> profile.</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, and meet the
complete-content requirements in <xref target="proof-content-completeness"/>.</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>Deployments that use bearer, DPoP-bound, mutual-TLS-bound, or otherwise
sender-constrained credentials for identity or session authentication <bcp14>MUST</bcp14>
validate those credentials before treating the requester as authenticated.
Sender-constraining an identity or session token does not replace Delegation
nonce validation, request binding, Issuer trust, Budget bounds, or Verifier
policy.  Conversely, a valid Delegation proof does not authorize use of an
unrelated OAuth access token, API key, or other execution credential.</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>Profile and version selection is part of that fail-closed boundary.  A
Verifier <bcp14>MUST NOT</bcp14> infer a profile from a claim's CBOR type, interpret one claim
label under multiple schemas, accept a field from an unselected extension, or
retry a failed proof under a legacy or private profile.  Fields 11 and 12 have
no semantics in the base profile and their unexpected presence requires
rejection.  Label 14 has exactly the signed Request-Binding type and semantics
defined by this document; any other interpretation requires rejection.  A
carriage-location mismatch, body-media mismatch, synthesized field media type,
credential-kind fallback, or base-profile <tt>ctyp</tt> parameter also requires
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>The Budget authority profile uses post-quantum digital signatures for
delegated-authority proofs.  It does not define post-quantum key
establishment, confidentiality migration, certificate migration, hybrid key
exchange, or a general post-quantum migration protocol.  Implementers need to
evaluate those surrounding cryptographic migration questions separately; see
<xref target="RFC9958"/> for engineer-facing discussion of PQC migration impacts.
Deployments with long-lived confidentiality or quantum-transition requirements
need to make independent TLS and certificate migration decisions under the
applicable TLS profiles and deployment policy.  This document does not choose
or recommend a TLS key-establishment profile.  Support for a TLS
quantum-transition profile <bcp14>MUST NOT</bcp14> be represented as support for the Budget
<tt>cose-ml-dsa</tt> profile, and support for the Budget profile <bcp14>MUST NOT</bcp14> be
represented as post-quantum transport confidentiality.</t>
      <t>Cryptographic signature verification establishes integrity of the exact
signed protected-header and payload bytes and provenance from a key trusted
for the selected Issuer and profile.  Successful overall Delegation proof
verification additionally establishes satisfaction of the checks that the
Verifier actually performs.  Neither establishes that a signed assertion is
factually true or that an external system performed a claimed action.  A
deployment that relies on external evidence needs a separate, explicitly
specified provenance and validation
procedure and <bcp14>MUST</bcp14> fail closed when that procedure is unavailable or fails.</t>
      <t>This profile has exactly one signature.  Additional signers,
countersignatures, and private-use signature slots are not additive inputs to
this profile; their presence makes the proof invalid under this version.</t>
      <t>At-most-once credential acceptance does not guarantee exactly-once completion
of protected processing.  A failure can occur after replay state is consumed
but before an operation completes, or after an operation completes but before
its response is delivered.  Application transaction, idempotency, and recovery
semantics remain separate from this authentication scheme.  An uncertain
outcome does not permit reuse of a credential that the replay rules require
to be single-use.</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.  This is consistent
with the protocol-redesign and constrained-network concerns discussed in
<xref target="RFC9958"/>.  Implementations <bcp14>MUST</bcp14> apply size limits before decoding, <bcp14>MUST</bcp14>
bound CBOR nesting depth and map sizes, and <bcp14>MUST</bcp14> reject duplicate keys and
unsupported critical protected parameters before expensive signature
verification.
Verifiers that fetch issuer key sets or discovery metadata <bcp14>MUST</bcp14> bound response
sizes, redirect behavior, parsing depth, and cache lifetimes.  They <bcp14>MUST NOT</bcp14>
fetch arbitrary key URLs supplied inside an untrusted proof.</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.
Issuer and requester identifiers <bcp14>SHOULD</bcp14> be pairwise or otherwise scoped when a
stable global identifier is not required by deployment policy.  Challenge
responses <bcp14>SHOULD</bcp14> reveal only the authority requirements needed for the client
to obtain an acceptable proof.  Public reason tokens and detailed Problem
Details bodies can become policy or issuer-enumeration oracles; deployments
<bcp14>SHOULD</bcp14> rate-limit unauthenticated challenge traffic and avoid returning
unnecessary detail to untrusted clients.  Logs <bcp14>SHOULD</bcp14> redact <tt>Authorization</tt>,
<tt>Delegation-Proof</tt>, body-carried proof bytes, compact credentials, and
preflight target URIs or content digests when those values could reveal
sensitive resources or actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="Simon Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <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="RFC9530">
          <front>
            <title>Digest Fields</title>
            <author fullname="R. Polli" initials="R." surname="Polli"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document defines HTTP fields that support integrity digests. The Content-Digest field can be used for the integrity of HTTP message content. The Repr-Digest field can be used for the integrity of HTTP representations. Want-Content-Digest and Want-Repr-Digest can be used to indicate a sender's interest and preferences for receiving the respective Integrity fields.</t>
              <t>This document obsoletes RFC 3230 and the Digest and Want-Digest HTTP fields.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9530"/>
          <seriesInfo name="DOI" value="10.17487/RFC9530"/>
        </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="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="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="RFC9958">
          <front>
            <title>Post-Quantum Cryptography for Engineers</title>
            <author fullname="A. Banerjee" initials="A." surname="Banerjee"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="D. Schoinianakis" initials="D." surname="Schoinianakis"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>The advent of a cryptographically relevant quantum computer (CRQC) would render state-of-the-art, traditional public key algorithms deployed today obsolete, as the mathematical assumptions underpinning their security would no longer hold. To address this, protocols and infrastructure must transition to post-quantum algorithms, which are designed to resist both traditional and quantum attacks. This document explains why engineers need to be aware of and understand post-quantum cryptography (PQC), and it details the impact of CRQCs on existing systems and the challenges involved in transitioning to post-quantum algorithms. Unlike previous cryptographic updates, this shift may require significant protocol redesign due to the unique properties of post-quantum algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9958"/>
          <seriesInfo name="DOI" value="10.17487/RFC9958"/>
        </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="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>


<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>Organization: TaskHawk Systems LLC.</t>
        <t>Contact: j.mcgraw@taskhawktech.com.</t>
        <t>Maturity and coverage: Experimental implementation experience with earlier
revisions informed this document.  It includes delegated-authority challenge,
proof-carriage, and verification work.  Deployment-specific formats are not
asserted to be wire-compatible with the Budget profile defined here.</t>
        <t>Conformance and interoperability: This report does not claim a complete
implementation of this revision or interoperability with an independent
implementation.  In particular, it makes no implementation claim for the
complete-message, segmentation-independence, optional-extension, profile-first
dispatch, and Request-Binding requirements added or clarified here.  Local
authoring checks and fixed test cases do not establish those runtime properties.</t>
        <t>This implementation report is included for review under <xref target="RFC7942"/>.  It does
not assert deployment readiness, verified live use, settlement, revenue, or
IETF Working Group adoption.</t>
      </section>
    </section>
    <section anchor="changes-since-03">
      <name>Changes Since -03</name>
      <ul spacing="normal">
        <li>
          <t>Limited the recommended Problem Details response to the
<tt>application/problem+json</tt> format defined by RFC 9457.</t>
        </li>
        <li>
          <t>Made verifier or merchant identifier validation unconditional, independently
of the optional signed request binding.</t>
        </li>
        <li>
          <t>Required authenticated and authorized preflight destinations, including
explicit cross-origin authorization and validation before redirecting a
proof-bearing request.</t>
        </li>
        <li>
          <t>Clarified compact-credential acceptance against current policy and Issuer-key
status, and distinguished mandatory nonce binding from optional explicit
nonce representation in the compact credential.</t>
        </li>
        <li>
          <t>Clarified the single-signature ML-DSA algorithm boundary, the distinction
between textual challenge names and COSE identifiers, and RFC 9964's empty
ML-DSA context requirement.</t>
        </li>
        <li>
          <t>Clarified direct field-carried proof binding without requiring a body
packaging profile when the proof is outside application content.</t>
        </li>
        <li>
          <t>Left the issuer key-set URI to authenticated configuration or discovery,
without defining an unregistered well-known URI suffix.</t>
        </li>
        <li>
          <t>Distinguished at-most-once credential acceptance from exactly-once
application completion and reduced the implementation report to relevant
interoperability and maturity information.</t>
        </li>
        <li>
          <t>Required body-carried Delegation proof processing to be independent of HTTP
framing and implementation read boundaries, without defining a proof chunk
format or chunk size, and extended the complete-message gate to field
carriage.</t>
        </li>
        <li>
          <t>Required a complete Proof Carrier Request and, for the Budget profile,
exactly one permitted COSE_Sign1 value before proof acceptance,
compact-credential issuance, or protected processing, with fail-closed
handling of decoding failure and trailing octets.</t>
        </li>
        <li>
          <t>Required cumulative bounds for coded request content and decoded proof
octets, fail-closed counter-overflow handling, and recommended 413 (Content
Too Large) when a configured bound is exceeded; scoped field limits to the
serialized HTTP field value rather than decoded COSE size.</t>
        </li>
        <li>
          <t>Scoped COSE signature verification to the exact protected-header and payload
bstr values used by Sig_structure, prohibited detached payloads, and required
duplicate-key detection before native-map collapse.</t>
        </li>
        <li>
          <t>Required Verifiers to compute <tt>Content-Digest</tt> over complete protected-request
content, require exact agreement with preflight and Request-Binding digests,
and wait for validation of a trailer-carried digest before protected
processing.</t>
        </li>
        <li>
          <t>Limited the Budget <tt>cose-ml-dsa</tt> profile to exactly one COSE_Sign1 Issuer
signature and deferred multi-signer, countersignature, and rail co-signature
constructions to a separately versioned future profile.</t>
        </li>
        <li>
          <t>Made claim labels 11 and 12 optional reserved extension slots.  Their absence
is valid in the base profile; their presence fails closed unless an
explicitly selected and supported profile defines and verifies them.</t>
        </li>
        <li>
          <t>Required scheme/profile/proof-format/algorithm/carriage selection, conditional
body-media selection, credential-kind selection, and nonce binding before
claim-label interpretation; prohibited trial decoding and mixed-profile or
full-proof/compact-token fallback; and fixed label 14 to the single
Request-Binding construction defined by this document.</t>
        </li>
        <li>
          <t>Defined the exact canonical base64url-without-padding conversion between the
Delegation challenge nonce and the 16-to-64-octet Budget-Claims field 10 bstr.</t>
        </li>
        <li>
          <t>Required base-profile omission and rejection of COSE <tt>ctyp</tt>; only a separately
selected and versioned extension can define an exact protected value.</t>
        </li>
        <li>
          <t>Clarified that signature verification establishes exact-byte integrity and
trusted-key provenance, while overall proof success additionally establishes
only the checks actually performed; neither establishes factual truth,
external-hardware validity, model correctness, or theorem discharge.</t>
        </li>
        <li>
          <t>Corrected the Budget-Claims lifetime check to use the millisecond units of
fields 8 and 9, reject expiration before issuance without underflow, and cap
the lifetime at 900000 milliseconds.</t>
        </li>
        <li>
          <t>Made verification of mandatory field 7 unconditional and specified the
exact optional media-type parameter form <tt>cose-type="cose-sign1"</tt>.</t>
        </li>
        <li>
          <t>Defined empty-path and absent-versus-empty-query Request-Binding behavior,
required <tt>body-h</tt> exactly when request content is present, and prohibited any
verified-claim, credential, or protected effect after rejection.</t>
        </li>
        <li>
          <t>Distinguished the Proof Carrier Request from the Protected Target Request so
preflight Request-Binding covers the designated future application request,
never the preflight POST or body-carried proof bytes.</t>
        </li>
        <li>
          <t>Corrected the RFC 7942 implementation appendix to distinguish private legacy
envelopes from this interoperable profile and remove equivalence claims.</t>
        </li>
      </ul>
    </section>
    <section anchor="changes-since-02">
      <name>Changes Since -02</name>
      <ul spacing="normal">
        <li>
          <t>Made the large-proof preflight flow mandatory to implement for the Budget
<tt>cose-ml-dsa</tt> profile.</t>
        </li>
        <li>
          <t>Specified that the Budget <tt>cose-ml-dsa</tt> profile <bcp14>MUST NOT</bcp14> rely on GET or HEAD
request content for Delegation proof carriage.</t>
        </li>
        <li>
          <t>Defined preflight as the baseline interoperability fallback for large
post-quantum proofs and for operations that also carry an application
representation body.</t>
        </li>
        <li>
          <t>Left same-request <tt>multipart/related</tt> or profile-specific envelopes as
optional packaging profiles rather than the baseline interoperability path.</t>
        </li>
        <li>
          <t>Clarified that a successful preflight returns a compact Delegation credential
bound to method, origin, target URI, nonce, expiry, and representation
digest, while leaving other proof-reference artifacts to future profiles.</t>
        </li>
        <li>
          <t>Defined the <tt>Delegation-Target-Method</tt>, <tt>Delegation-Target-URI</tt>, and
<tt>Delegation-Target-Content-Digest</tt> fields used by the Budget <tt>cose-ml-dsa</tt>
preflight flow.</t>
        </li>
        <li>
          <t>Clarified that those target-binding fields align with HTTP Message
Signatures derived-component semantics and HTTP Digest Fields rather than
replacing message-level signatures.</t>
        </li>
        <li>
          <t>Defined the Budget <tt>cose-ml-dsa</tt> compact credential response shape, including
<tt>credential_type</tt>, opaque <tt>credential</tt>, <tt>authorization</tt> convenience value,
<tt>expires_in</tt>, and <tt>target</tt>, while keeping settlement and revenue semantics
out of the preflight response.</t>
        </li>
        <li>
          <t>Clarified that compact credentials need verifier-portable validation within
the protection space and cannot depend on node-local preflight state.</t>
        </li>
        <li>
          <t>Added an optional signed Request-Binding claim for request-specific Budget
attestations and clarified the difference between issuer-bound request
authority and verifier-bound compact credentials issued after preflight.</t>
        </li>
        <li>
          <t>Tightened origin-authorized verifier scope, target URI reconstruction, cache
behavior for <tt>Delegation-Proof</tt>, preflight URI challenge carriage, IANA field
registration metadata, and security/privacy considerations based on
HTTP-focused review.</t>
        </li>
        <li>
          <t>Clarified that the combined HTTP mechanism plus Budget profile is current
implementation-experience packaging and can be split into companion drafts
for Working Group processing.</t>
        </li>
        <li>
          <t>Added <xref target="RFC9958"/> as an informative reference for post-quantum migration and
large-signature protocol-design considerations.</t>
        </li>
        <li>
          <t>Clarified that the Budget authority profile uses PQC signatures for
delegated-authority proofs but does not define PQC key establishment,
confidentiality migration, certificate migration, hybrid key exchange, or a
general PQC migration protocol.</t>
        </li>
        <li>
          <t>Added DPoP/sender-constrained-token composability text, including the
<tt>Authorization</tt> field composition boundary when <tt>Authorization: DPoP</tt> and
Delegation are both required.</t>
        </li>
        <li>
          <t>Added a neutral transport-security migration note for TLS and certificate
migration, while keeping TLS key establishment separate from the Budget
<tt>cose-ml-dsa</tt> proof profile.</t>
        </li>
        <li>
          <t>Clarified private-use authority-profile identifiers and their relationship to
the interoperable <tt>budget</tt> profile identifier.</t>
        </li>
        <li>
          <t>Updated issuer-key discovery guidance and retained authenticated origin,
key identity, algorithm policy, and freshness requirements; this revision
leaves the concrete key-set URI to authenticated configuration or discovery.</t>
        </li>
        <li>
          <t>Tightened Kevros implementation-status text to distinguish published draft-02
metadata, local draft-03 preview behavior, operational enforcement health
fields, proof verification, rail observation, settlement, and revenue.</t>
        </li>
      </ul>
    </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>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:
after rejecting <tt>exp &lt; iat</tt>, an <tt>exp - iat</tt> interval greater than 900000
milliseconds 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:
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
Xb06TPsfyWB5i2ShAQA=

-->

</rfc>
