<?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.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-brezun-human-continuity-http-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Human Continuity HTTP">Human Continuity for HTTP</title>
    <seriesInfo name="Internet-Draft" value="draft-brezun-human-continuity-http-00"/>
    <author initials="A." surname="Brezun" fullname="Aurélien Brézun">
      <organization>Tools for Humanity</organization>
      <address>
        <email>aurelien.brezun@toolsforhumanity.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="06"/>
    <keyword>proof of human</keyword>
    <keyword>human continuity</keyword>
    <keyword>unique human</keyword>
    <keyword>sybil resistance</keyword>
    <keyword>structured fields</keyword>
    <keyword>http message signatures</keyword>
    <abstract>
      <?line 82?>

<t>This document defines an HTTP extension for origins that need to attribute repeated participation to the same verified unique human within a declared continuity scope, without requiring a global human identifier or replacing existing authentication. Within a continuity scope, the same human yields one verifier-local handle across all of their accounts, devices, and agents and cannot present as two, distinguishing the signal from authentication, which identifies a credential a human may hold many of. An origin server can publish policy for client-presented unique-human artifacts, issue an explicit challenge, and receive a client-presented artifact on a subsequent request.</t>
      <t>The framework is independent of any realm operator, credential technology, proof system, or definition of humanness. Companion profiles define artifact syntax, issuance, verification, challenge binding, replay behavior, holder binding, privacy properties, realm metadata, and verifier output. A conforming profile produces a verifier-local <tt>continuity_handle</tt> scoped to a realm, attestation audience, and purpose. This version defines no initial profile.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://aurel-fr.github.io/human-continuity-http/draft-brezun-human-continuity-http.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-brezun-human-continuity-http/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTP Working Group mailing list (<eref target="mailto:ietf-http-wg@w3.org"/>),
        which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/aurel-fr/human-continuity-http"/>.</t>
    </note>
  </front>
  <middle>
    <?line 88?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>HTTP APIs may benefit from supplemental request signals that are not equivalent to authenticating a user account. One such signal is that a request is backed by a verified unique human within a continuity scope selected by the verifier. Origins may use such a signal as an input to origin policy decisions, including duplicate account prevention, free-tier signup, per-human quotas, API quota grouping, Sybil-resistant participation, grant claims, trial credit claims, agent delegation, request prioritization, or measurement.</t>
      <t>Authentication and human continuity answer different questions. Origin authentication identifies an account, session, API key, mTLS identity, or other application principal. A single human can often create or control multiple authenticated accounts, devices, sessions, or agents, and a single authenticated account can sometimes be accessed by multiple humans or automated systems.</t>
      <t>Human continuity is a supplemental signal. It allows an origin to learn that two presentations, accounts, devices, sessions, or agents are backed by the same verified unique human within a declared continuity scope, without learning that human's global identity and without enabling cross-verifier correlation.</t>
      <t>Two properties set this mechanism apart. Against authentication, the <tt>continuity_handle</tt> is keyed to a verified unique human, not to a credential the subject controls, so within a scope a human has one handle and cannot present as two. Against unlinkable mechanisms such as Privacy Pass <xref target="RFC9576"/>, it is controlled linkability: the verifier intentionally receives a stable verifier-local value within a scope rather than an unlinkable fact (<xref target="applicability"/>).</t>
      <t>A profile that does not produce a verifier-local <tt>continuity_handle</tt> is not a conforming profile under this specification.</t>
      <t>Existing human-continuity integrations are generally origin-specific. Each origin defines its own discovery mechanism, challenge format, token format, and verification behavior. This creates fragmented client support and makes it difficult for browsers, mobile apps, agents, SDKs, API gateways, and other HTTP clients to interoperate.</t>
      <t>This document defines a small HTTP protocol for unique-human artifacts:</t>
      <ul spacing="normal">
        <li>
          <t>policy metadata can declare the accepted human-continuity purposes and unique-human profiles for request contexts;</t>
        </li>
        <li>
          <t>an origin can issue an explicit challenge using Human-Continuity-Challenge;</t>
        </li>
        <li>
          <t>a client can present a unique-human artifact using Human-Continuity;</t>
        </li>
        <li>
          <t>a holder-bound profile can bind the artifact to a concrete HTTP request using HTTP Message Signatures <xref target="RFC9421"/>; and</t>
        </li>
        <li>
          <t>origins and clients can discover policy metadata and realm metadata using well-known locations <xref target="RFC8615"/>.</t>
        </li>
      </ul>
      <t>The protocol intentionally does not define a single global proof of human, identity system, realm governance model, or cryptographic proof format. Those details belong to unique-human profiles. The core protocol requires that a conforming profile provide scoped human continuity and defines how origins and clients discover, request, and transport those artifacts over HTTP.</t>
      <t>This document does not privilege any realm operator, issuance ceremony, biometric system, credential format, or verification technology. Unique-human mechanisms specific to a realm are specified as separate unique-human profiles conforming to the requirements in <xref target="profile-requirements"/>.</t>
      <t>This document is therefore a discovery, challenge, and transport substrate, not a complete unique-human system by itself.</t>
      <section anchor="relationship-to-existing-work">
        <name>Relationship to Existing Work</name>
        <section anchor="relationship-to-privacy-pass-arc-and-act">
          <name>Relationship to Privacy Pass, ARC, and ACT</name>
          <t>Privacy Pass <xref target="RFC9576"/> provides privacy-preserving token issuance and redemption for cases where the origin should learn an unlinkable fact rather than a stable continuity value. Anonymous Rate-Limited Credentials (ARC) <xref target="I-D.ietf-privacypass-arc-crypto"/> similarly support unlinkable rate limiting, and Anonymous Credit Tokens (ACT) <xref target="I-D.schlesinger-cfrg-act"/> unlinkable credit issuance and spending. These mechanisms are complementary to this specification: <xref target="applicability"/> defines the boundary between them and scoped human continuity.</t>
        </section>
        <section anchor="relationship-to-oauth-protected-resource-metadata">
          <name>Relationship to OAuth Protected Resource Metadata</name>
          <t>This specification also defines metadata for origin policy discovery, but it deliberately uses a different topology from OAuth 2.0 Protected Resource Metadata <xref target="RFC9728"/>. Human-continuity policy can apply across many API paths and methods at one origin, so this document uses a single origin-level policy metadata document with policy selectors that select policies.</t>
        </section>
        <section anchor="relationship-to-http-authentication-schemes">
          <name>Relationship to HTTP Authentication Schemes</name>
          <t>An origin uses human continuity as an input to its own policy. Native authentication and authorization remain origin-defined. An authentication scheme identifies a credential the subject can hold many of, whereas a <tt>continuity_handle</tt> represents the backing human and cannot be forked into a second value within a scope (<xref target="continuity-handle-requirements"/>).</t>
          <t>An HTTP authentication scheme conveys its credential in the <tt>Authorization</tt> request field <xref target="RFC9110"/>, which carries a single credential. A presentation defined as an authentication scheme therefore could not accompany an origin's native authentication on the same request; the <tt>PrivateToken</tt> scheme of the Privacy Pass HTTP authentication scheme <xref target="RFC9577"/>, which redeems tokens in <tt>Authorization</tt>, is one such design. Presentations are commonly sent together with native authentication: the holder-bound example in <xref target="holder-bound-example"/> carries <tt>Human-Continuity</tt> alongside <tt>Authorization: Bearer</tt>. This specification carries presentations in dedicated fields rather than defining or extending an authentication scheme, and does not use status 401 or 407 (<xref target="status-codes"/>).</t>
        </section>
        <section anchor="relationship-to-credential-presentation-protocols">
          <name>Relationship to Credential Presentation Protocols</name>
          <t>OpenID for Verifiable Presentations <xref target="OpenID4VP"/> and the W3C Digital Credentials API <xref target="DC-API"/> define how a verifier requests and obtains a credential presentation from a holder's wallet. This document adds origin-discoverable policy, challenges, and a scope-local <tt>continuity_handle</tt> that an origin can use to link valid presentations backed by the same verified human; each verified human has at most one handle in the scope (<xref target="continuity-handle-requirements"/>). BBS pseudonyms <xref target="I-D.irtf-cfrg-bbs-per-verifier-linkability"/> provide a stable per-verifier value from one credential and holder-held secrets, but leave one-per-human uniqueness at issuance, continuity after loss of those secrets, and HTTP policy discovery out of scope. <xref target="applicability"/> defines when a presentation alone suffices.</t>
          <t>These protocols can provide artifact acquisition paths rather than alternatives to this document. A unique-human profile can, for example, define a credential format carried in an OpenID4VP presentation. The Digital Credentials API is mediated by the user agent and supports a fixed set of exchange protocols, so a profile using it also needs an invocation path for clients outside a browser.</t>
          <t>Version 0.2.0 of x401 <xref target="X401"/> gates a route on a verifier-composed, nonce-bearing proof request. The client obtains a credential presentation by executing the embedded Digital Credentials API request in a user agent or relaying it to another credential manager. The verifier can mint a short-lived, verifier-scoped bearer token recording its decision. That token expires; a <tt>continuity_handle</tt> instead identifies the same verified human across presentations, clients, and transports.</t>
        </section>
        <section anchor="relationship-to-web-bot-auth">
          <name>Relationship to Web Bot Auth</name>
          <t>Web Bot Auth <xref target="I-D.meunier-webbotauth-httpsig-protocol"/> authenticates the automated agent behind an HTTP request, using an HTTP Message Signature <xref target="RFC9421"/> with the <tt>web-bot-auth</tt> tag and signing keys discovered through an HTTP Message Signatures Directory <xref target="I-D.meunier-webbotauth-httpsig-directory"/>. The two mechanisms are complementary: Web Bot Auth identifies the agent, and Human Continuity links those requests to the unique human on whose behalf it acts.</t>
          <t>The two compose on the same agent request as independent HTTP Message Signatures, each carrying its own <tt>tag</tt>: a <tt>web-bot-auth</tt> signature and a holder-bound <tt>human-continuity</tt> signature can coexist, and a verifier selects the <tt>human-continuity</tt> signature by its tag (<xref target="message-signature-requirements"/>, <xref section="7.2.7" sectionFormat="of" target="RFC9421"/>).</t>
        </section>
      </section>
      <section anchor="applicability">
        <name>Applicability and Alternatives</name>
        <t>This specification is intended for origins that require verifier-local human continuity within a declared continuity scope. A successful presentation intentionally allows the verifier to determine that repeated presentations within the same <tt>(realm, attestation audience, purpose)</tt> tuple are backed by the same verified unique human, without requiring a global human identifier.</t>
        <t>Origins <bcp14>SHOULD NOT</bcp14> request <tt>Human-Continuity</tt> when an unlinkable authorization, redemption, rate-limit, or credit-spend mechanism is sufficient.</t>
        <t>The boundary between this specification and unlinkable mechanisms turns on where policy state lives and when policy is applied. Unlinkable capability systems fix a spendable allowance at issuance and decide each redemption against the artifact rather than the human. Privacy Pass <xref target="RFC9576"/>, the Privacy Pass HTTP authentication scheme <xref target="RFC9577"/>, ARC <xref target="I-D.ietf-privacypass-arc-crypto"/>, and ACT <xref target="I-D.schlesinger-cfrg-act"/> issue tokens, bounded-use credentials, or credits. At redemption time, the verifier asks only whether the bearer presents a still-valid, not-yet-exhausted capability: that the client is authorized to proceed, has satisfied an issuance precondition such as solving a CAPTCHA, holds a spendable token or credit, has not double-spent it, or is within an anonymous rate limit.</t>
        <t><tt>Human-Continuity</tt> instead allows policy to bind at decision time. The verifier can use mutable per-human state keyed by the resulting <tt>continuity_handle</tt> to recognize that a presentation is backed by the same verified unique human as an earlier presentation in the same declared continuity scope. That recognition is needed when a per-human rule may be applied, audited, or revised after artifacts are already in use. An unlinkable mechanism cannot express such a rule because it cannot distinguish repeated use by one human from use by several. Examples include duplicate account prevention, per-human quota grouping across accounts or sessions, Sybil-resistant participation, recovery-sensitive account workflows, grant or trial credit claims that require human continuity, and agent delegation policies that group activity by the backing human. For use cases involving allocation or abuse control, a scoped <tt>continuity_handle</tt> does not eliminate abuse; it changes the attacker's bottleneck from creating accounts to obtaining access to distinct verified humans.</t>
        <t>Unlinkable token, credential, and credit systems often require the client to retain token, credential, presentation, balance, refund, or other protocol state. Such systems can be appropriate for short-lived or single-device use cases, such as solving a CAPTCHA and redeeming a small number of tokens. They can be less suitable when the origin requires long-lived continuity, multi-device use, or recovery after loss of client state. Those requirements are a primary motivation for verifier-local human continuity, but they also increase privacy risk and therefore require narrow continuity scopes.</t>
        <t>A credential presentation alone shows that the subject holds a qualifying credential at presentation time. If that check suffices, a presentation protocol without this document is preferable.</t>
        <t>A client-stored linkable value, such as a long-lived cookie or bearer token, can also give a verifier a stable per-client value, but it derives its continuity from the client retaining and replaying one secret. A client can hold several such values to present as several distinct continuities, and losing the value loses the continuity. A <tt>continuity_handle</tt> instead derives from the verification of a unique human under a realm and is computed verifier-locally: within a scope a human has at most one, regardless of how many clients, accounts, or credentials they control, cannot obtain a second, and recovers the same value after loss of client state.</t>
      </section>
    </section>
    <section anchor="conventions-and-terminology">
      <name>Conventions and Terminology</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 <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The two HTTP fields defined by this document use Structured Field Values <xref target="RFC9651"/>. This document does not define separate ABNF for their field values. The field values are parsed according to <xref target="RFC9651"/>, and this document adds semantic constraints on the parsed items and parameters.</t>
      <t>HTTP field names are case-insensitive <xref target="RFC9110"/>. Examples in this document use conventional capitalization. When an HTTP field is covered by an HTTP Message Signature, the component identifier and canonicalization rules are those defined by <xref target="RFC9421"/>.</t>
      <t>Long example lines that end with backslash use the single backslash line-wrapping convention from <xref target="RFC8792"/> and are to be unfolded before interpreting the example.</t>
      <t>This specification uses two related terms deliberately, on two axes. A unique-human profile defines how a subject is established to be a verified unique human under a realm, and defines how the <tt>continuity_handle</tt> is derived. The Human-Continuity HTTP layer transports presentations that, when valid, yield a verifier-local <tt>continuity_handle</tt>. The two axes meet in the continuity scope: the unique-human profile establishes that the subject is a unique human, the continuity scope is where the resulting continuity holds, and the <tt>continuity_handle</tt> is comparable within it. The first valid presentation in a scope establishes the scoped comparison value; later valid presentations producing the same value are backed by the same verified unique human.</t>
      <t>Origin: The HTTP origin server that publishes policy for, challenges for, receives, and verifies human-continuity presentations.</t>
      <t>Client: An HTTP client, browser component, mobile app, agent tool, SDK, command-line tool, service, or other requester that can obtain or present a unique-human artifact.</t>
      <t>Realm: A URI <xref target="RFC3986"/> identifying a human-continuity namespace. Within a realm, a conforming profile maps the same verified human to the same <tt>continuity_handle</tt> for a given attestation audience and purpose; different realms are distinct handle namespaces. A human-continuity realm is unrelated to the <tt>realm</tt> authentication parameter of HTTP authentication schemes (<xref target="RFC9110"/>).</t>
      <t>Realm operator: The entity responsible for a realm. The realm operator publishes the realm's metadata and the verification material, if any, that a verifier uses to validate artifacts, and establishes the conditions under which artifacts are produced. For example, it can sign a context that is bound to the attestation audience and purpose and used for a proof request. In profiles where the realm operator generates the artifact directly, it can instead sign the artifact itself. A realm operator is not required to custody the subject's identity secret; in profiles that separate these roles, a user-controlled component defined by the profile holds the secret and produces the artifact locally.</t>
      <t>Unique-human artifact: A cryptographic object presented by the client and verified by the origin according to a unique-human profile. A valid artifact proves that the subject is a verified unique human and produces a <tt>continuity_handle</tt> for the selected continuity scope. This document does not define the cryptographic format of the artifact.</t>
      <t>Unique-human profile: A named specification that defines artifact syntax, issuance, verification, realm metadata, privacy properties, holder binding, challenge nonce binding, replay behavior, revocation behavior, <tt>continuity_handle</tt> derivation, and verifier output. This document also uses "profile" for this term.</t>
      <t>Profile identifier: A case-sensitive ASCII string that identifies a unique-human profile. It is carried as the positional String value of a Human-Continuity-Challenge list member, or as the Human-Continuity item value. Its syntax and naming rules are defined in <xref target="profile-identifiers"/>.</t>
      <t>Attestation audience: The origin to which a unique-human artifact is bound and within which the resulting <tt>continuity_handle</tt> is interpreted. In this version, unless a future cross-origin delegation extension allows otherwise, the attestation audience is the canonical HTTPS origin of the request.</t>
      <t>Purpose: A string defined by origin policy that identifies the context in which human continuity is requested or accepted. This document uses "concrete purpose" when contrasting a purpose with the purpose templates in policy metadata (<xref target="metadata-members"/>).</t>
      <t>Purpose template: The name of a purpose entry that authorizes a family of concrete purposes by prefix, defined in <xref target="metadata-members"/>. A purpose template is not part of the continuity scope; the concrete purpose carried in Human-Continuity-Challenge or Human-Continuity is.</t>
      <t>Continuity scope: The tuple under which the same verified human is expected to produce the same <tt>continuity_handle</tt>. The continuity scope is the tuple (realm, attestation audience, purpose).</t>
      <t><tt>continuity_handle</tt>: The profile-defined continuity value included in verifier output. Within a continuity scope, repeated valid presentations by the same verified human produce the same <tt>continuity_handle</tt>.</t>
      <t>Policy identifier: An origin-local token that names a policy definition in policy metadata. A policy identifier is selected for a request path and method.</t>
      <t>Policy selector: A policy metadata mapping that maps request path patterns for one HTTP method to policy identifiers.</t>
      <t>Challenge nonce: A verifier-generated value carried in the challenge parameter of Human-Continuity-Challenge (<xref target="common-field-parameters"/>) and bound by the selected profile according to <xref target="freshness-replay"/>. A challenge nonce is distinct from the <tt>nonce</tt> signature parameter defined by <xref target="RFC9421"/>.</t>
      <t>Challenge context: The profile, effective realm, effective attestation audience, purpose, and requested presentation-assurance value, if any, for which a challenge nonce was issued (<xref target="freshness-replay"/>).</t>
      <t>Subject: The verified human that an artifact attests as unique; the human claimed to be a unique human.</t>
      <t>Holder: The party that controls the use of an artifact in presentations. The holder can be the subject, or a client or agent acting for a human.</t>
      <t>Holder key: A client-controlled signing key bound to an artifact by a holder-bound profile.</t>
      <t>Presentation: The act of attaching a unique-human artifact to an HTTP request.</t>
      <t>Holder-bound presentation: A presentation in which the client proves possession of a holder key by attaching an HTTP Message Signature over selected HTTP message components.</t>
      <t>Verifier: The origin-side component that parses and validates a human-continuity presentation and emits verifier output to origin policy.</t>
      <t>Verifier output: A structured local result produced by the verifier. <xref target="verifier-behavior"/> defines its states and required contents.</t>
    </section>
    <section anchor="design-goals">
      <name>Design Goals</name>
      <t>The protocol has the following design goals:</t>
      <ul spacing="normal">
        <li>
          <t>Scoped human continuity. The protocol provides verifier-local continuity across repeat presentations by the same verified human, exposed as a <tt>continuity_handle</tt> that is meaningful only within a declared continuity scope.</t>
        </li>
        <li>
          <t>Realm and artifact neutrality. The HTTP exchange is independent of any particular realm operator, credential, zero-knowledge proof system, token format, or vendor.</t>
        </li>
        <li>
          <t>Voluntary client participation. Clients can ignore policy metadata and challenges, and origins can define behavior for requests that omit human-continuity presentations.</t>
        </li>
        <li>
          <t>Verifier-local operation. The design favors profiles that can be verified locally by the origin, without requiring a call to the realm operator on the request path.</t>
        </li>
        <li>
          <t>Artifact theft resistance. The design favors holder binding for reusable artifacts so that artifact disclosure alone is insufficient for presentation.</t>
        </li>
        <li>
          <t>Deterministic method and policy selection and authorization, with precise audience and purpose binding. Clients need deterministic selection of the policy identifier, attestation audience, purpose, and continuity scope to avoid origin confusion, method confusion, purpose broadening, and cross-origin realm injection.</t>
        </li>
        <li>
          <t>Operation through ordinary HTTP infrastructure. The protocol should work with API gateways, CDNs, reverse proxies, browser CORS, mobile clients, agents, and SDKs, subject to the caching and header size considerations described in this document.</t>
        </li>
      </ul>
    </section>
    <section anchor="non-goals">
      <name>Non-Goals</name>
      <t>This document does not define:</t>
      <ul spacing="normal">
        <li>
          <t>what makes a user human, how humanness is determined, or a single proof-of-human ceremony;</t>
        </li>
        <li>
          <t>a global human identity system or a global realm governance model;</t>
        </li>
        <li>
          <t>a cryptographic artifact format or a mandatory profile;</t>
        </li>
        <li>
          <t>device integrity, workload attestation, or generic remote attestation <xref target="RFC9334"/>;</t>
        </li>
        <li>
          <t>cross-origin policy or attestation audience delegation;</t>
        </li>
        <li>
          <t>a browser- or operating-system-transparent attachment mechanism;</t>
        </li>
        <li>
          <t>a guarantee that requests backed by human continuity receive different service treatment.</t>
        </li>
      </ul>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <artwork type="ascii-art" name="protocol-overview-flow"><![CDATA[
Client                    Origin             Realm operator
  |                         |                         |
  | metadata request        |                         |
  |------------------------>|                         |
  | policy metadata         |                         |
  |<------------------------|                         |
  | ordinary request        |                         |
  |------------------------>|                         |
  | challenge               |                         |
  |<------------------------|                         |
  | issuance ceremony       |                         |
  |-------------------------------------------------->|
  | unique-human artifact   |                         |
  |<--------------------------------------------------|
  | send Human-Continuity   |                         |
  | optional HTTP signature |                         |
  |------------------------>|                         |
  |                         | local verification      |
  |                         | origin policy           |
]]></artwork>
      <t>Human-Continuity-Challenge is the only response field defined by this specification that requests a human-continuity presentation.</t>
      <t>An origin <bcp14>MAY</bcp14> send Human-Continuity-Challenge on any response to ask the client to obtain or present an artifact. A challenge carries a challenge nonce and has specific cache and replay semantics.</t>
      <t>A client that chooses to present an artifact sends Human-Continuity on a subsequent request. If the selected profile is holder-bound, the client also sends an HTTP Message Signature using Signature-Input and Signature as defined by <xref target="RFC9421"/>.</t>
      <t>This protocol does not define OPTIONS as a general negotiation step. For a protected GET request, the origin can send Human-Continuity-Challenge on the GET response, and the client can retry the same GET with Human-Continuity. Cross-origin browser requests can involve CORS preflight for the actual request fields and methods, but that preflight is not a human-continuity challenge exchange.</t>
      <t>In typical exchanges, the client validates metadata and any challenge against policy metadata and realm metadata before issuance or presentation. The diagram shows policy metadata as a separate fetch that can happen before, during, or after the request being evaluated, depending on cache state. It omits realm metadata fetches for readability.</t>
      <t>The origin verifies the presentation according to the selected profile. A successful verification result for a conforming profile includes a verifier-local <tt>continuity_handle</tt> scoped by realm, attestation audience, and purpose. This document does not define the origin's final policy decision.</t>
    </section>
    <section anchor="attestation-audience-and-purpose">
      <name>Attestation Audience and Purpose</name>
      <t>A unique-human artifact is meaningful only for the attestation audience and purpose for which it was issued or derived. Clients and origins therefore need deterministic policy identifier, attestation audience, purpose, and continuity scope rules.</t>
      <section anchor="canonical-https-origin">
        <name>Canonical HTTPS Origin</name>
        <t>The attestation audience for a request is the canonical HTTPS origin of that request.</t>
        <t>To determine the canonical HTTPS origin, determine the target URI's origin as defined by <xref target="RFC9110"/>, Section 4.3.1, requiring the scheme to be "https", and serialize that origin using the ASCII serialization of an origin defined by <xref target="RFC6454"/>, Section 6.2. Clients and verifiers <bcp14>MUST</bcp14> compare canonical HTTPS origins by exact string equality after this serialization.</t>
        <t>Therefore, the following inputs have the same canonical HTTPS origin:</t>
        <sourcecode type="text"><![CDATA[
https://api.example.com
https://api.example.com/
https://api.example.com:443/
]]></sourcecode>
        <t>and the canonical HTTPS origin is:</t>
        <sourcecode type="text"><![CDATA[
https://api.example.com
]]></sourcecode>
        <t>Profiles <bcp14>MAY</bcp14> reject IP-literal attestation audiences.</t>
      </section>
      <section anchor="policy-selection">
        <name>Policy Selection</name>
        <t>The effective policy identifier for a request is derived from the request method, request URI, and valid policy metadata.</t>
        <t>Policy identifiers are origin-local names, such as <tt>quota</tt>, <tt>recovery</tt>, or <tt>graphql</tt>. An origin can make a policy the default for requests not matched by a policy selector for the request method by publishing a default policy selector that maps the request method to that policy identifier.</t>
        <t>Configured policy metadata is configured metadata (<xref target="metadata-precedence"/>) provisioned for the request's canonical HTTPS origin.</t>
        <t>To determine the effective policy identifier for a request:</t>
        <ol spacing="normal" type="1"><li>
            <t>Compute the canonical HTTPS origin of the request according to <xref target="canonical-https-origin"/>.</t>
          </li>
          <li>
            <t>Fetch policy metadata for that canonical HTTPS origin from the URL formed by appending <tt>/.well-known/human-continuity</tt> to the canonical HTTPS origin, use valid cached policy metadata from that location, or use valid configured policy metadata for that canonical HTTPS origin:  </t>
            <sourcecode type="text"><![CDATA[
https://service.example/.well-known/human-continuity
]]></sourcecode>
            <t>
The metadata document's origin member <bcp14>MUST</bcp14> exactly equal the canonical HTTPS origin of the request.  </t>
            <t>
If no valid configured policy metadata is used, absence of fetched policy metadata is established only when the response of the origin-level policy metadata fetch has status code 404 or 410. In that case, the origin has no metadata-derived human-continuity policy. A client <bcp14>MUST NOT</bcp14> obtain or present, and a verifier <bcp14>MUST NOT</bcp14> accept, a unique-human artifact for that request under this protocol.</t>
          </li>
          <li>
            <t>Let request-method be the HTTP method of the request.  </t>
            <t>
A method selector matches only by exact HTTP method token equality. Method tokens are case-sensitive. The special relationship between GET and HEAD, if any, is not inferred by this protocol; origins that want the same policy for GET and HEAD <bcp14>MUST</bcp14> list both methods.</t>
          </li>
          <li>
            <t>Let request-path be the path component of the request URI, excluding any query component. If the request URI has an empty path, request-path is "/".</t>
          </li>
          <li>
            <t>A request path containing dot-segments, as defined by <xref target="RFC3986"/>, Section 3.3, <bcp14>MUST NOT</bcp14> match any policy selector or default policy selector under this protocol. No policy identifier is selected for inline human-continuity fields or presentations, and the selection algorithm stops. Clients and verifiers <bcp14>MUST NOT</bcp14> accept Human-Continuity-Challenge or Human-Continuity for such a request unless a future extension defines safe normalization semantics.</t>
          </li>
          <li>
            <t>Look up request-method in policy_selectors. If policy_selectors contains a member name equal to request-method, the method's policy selector map is the value of that member. Otherwise, request-method has no policy_selectors entry.  </t>
            <t>
If request-method has a policy_selectors entry and the method's policy selector map contains a non-wildcard member name that is exactly equal to request-path, the effective policy identifier is that member's value and the selection algorithm stops.  </t>
            <t>
Otherwise, if request-method has a policy_selectors entry, build the set of matching subtree pattern candidates from the method's policy selector map. If request-method has no policy_selectors entry, no subtree pattern candidate exists from policy_selectors for that method. Each candidate is a tuple of <tt>(matched path_pattern, policy identifier, specificity)</tt>.  </t>
            <t>
For a subtree pattern ending in <tt>"/**"</tt>, let base be the pattern with the final <tt>"**"</tt> removed. The base <bcp14>MUST NOT</bcp14> be <tt>"/"</tt>. The pattern matches request-path if request-path begins with base.  </t>
            <t>
An origin that wants both a base path and its descendants to select the same policy identifier lists both patterns, such as <tt>"/account"</tt> and <tt>"/account/**"</tt>.  </t>
            <t>
For example, <tt>"/account/**"</tt> matches <tt>"/account/"</tt> and <tt>"/account/settings"</tt>, but does not match <tt>"/account"</tt> or <tt>"/accounting"</tt>.</t>
          </li>
          <li>
            <t>If one or more subtree pattern candidates exist, the effective policy identifier is the policy identifier selected by the candidate with the highest path specificity, and the selection algorithm stops. For a subtree pattern, specificity is the length of the prefix before <tt>"/**"</tt>.</t>
          </li>
          <li>
            <t>If no subtree pattern candidate exists, look up request-method in default_policy_selectors. If default_policy_selectors contains a member name equal to request-method and request-path does not begin with "/.well-known/", the effective policy identifier is that member's value.  </t>
            <t>
Otherwise, no policy identifier is selected for inline human-continuity fields or presentations. The client and verifier <bcp14>MUST NOT</bcp14> accept Human-Continuity-Challenge or Human-Continuity based on policy metadata for that request. The "/.well-known/" exclusion mirrors the prohibition on "/.well-known/" path patterns in policy selectors.</t>
          </li>
        </ol>
        <t>Policy selector matching is method-first. A policy selector listed under one method does not shadow a less-specific policy selector or default policy selector for another method. For example, if metadata contains a GET selector for <tt>"/account/**"</tt> and a POST selector for <tt>"/account/recovery/**"</tt>, then <tt>GET /account/recovery/123</tt> selects the less-specific GET selector for <tt>"/account/**"</tt>.</t>
        <t>Policy selection is performed before evaluating profile, effective realm, effective attestation audience, purpose, or presentation-assurance constraints. After a policy identifier has been selected for the request method by a policy selector or default policy selector, a client or verifier <bcp14>MUST NOT</bcp14> fall back to a less-specific or default policy identifier merely because the selected policy does not authorize the inline values.</t>
      </section>
      <section anchor="cross-origin-delegation-and-audience-granularity">
        <name>Cross-Origin Delegation and Audience Granularity</name>
        <t>Cross-origin delegated attestation audiences are out of scope for this document.</t>
        <t>An origin <bcp14>MUST NOT</bcp14> cause a client to obtain or present an artifact for a different origin's attestation audience. Cross-origin delegation requires a future extension that defines delegation metadata, authority checks, downgrade protections, and realm trust rules.</t>
        <t>Attestation audiences narrower than the canonical HTTPS origin, such as path-scoped same-origin resource identifiers, are likewise not defined by this version. A future extension can introduce narrower audiences as an optional policy metadata member without changing the HTTP fields defined by this document.</t>
      </section>
      <section anchor="effective-values">
        <name>Effective Values and Continuity Scope</name>
        <t>For each challenge or presentation, the client and verifier determine the following values:</t>
        <t>For Human-Continuity-Challenge, the request used for policy selection is the request that generated the response containing the field. For Human-Continuity, the request used for policy selection is the request carrying the field.</t>
        <t>request method:
For Human-Continuity-Challenge, the request method is the method of the request that generated the response containing the field. For Human-Continuity, the request method is the method of the request carrying the field.</t>
        <t>effective policy identifier:
The policy identifier selected for the request by <xref target="policy-selection"/>.</t>
        <t>effective realm:
The realm selected for the request by the selected purpose entry in policy metadata.</t>
        <t>effective attestation audience:
The canonical HTTPS origin of the request (<xref target="canonical-https-origin"/>).</t>
        <t>purpose:
The concrete purpose carried in the purpose field parameter (<xref target="common-field-parameters"/>) and authorized by policy metadata.</t>
        <t>selected purpose entry:
The purpose entry (<xref target="metadata-members"/>) selected for the concrete purpose under the effective policy identifier.</t>
        <t>selected presentation-assurance value:
The presentation-assurance value requested by Human-Continuity-Challenge or asserted by Human-Continuity, if present. If the field has no presentation-assurance parameter, no presentation-assurance value is selected.</t>
        <t>continuity scope:
The tuple <tt>(effective realm, effective attestation audience, purpose)</tt> used to derive and interpret the <tt>continuity_handle</tt>.</t>
        <t>The prefix "effective" marks a value determined per request by this section. The purpose carries no prefix because it is carried verbatim in the purpose field parameter and validated against policy metadata rather than derived.</t>
        <t>Separating request method and policy identifier from realm, attestation audience, and purpose allows different HTTP request contexts to publish different profile choices or presentation-assurance requirements while sharing one continuity scope when policy selects the same effective realm and the fields select the same purpose. It also allows single-endpoint APIs, such as GraphQL or RPC over POST, to select one HTTP policy identifier while different application operations select different purposes, realms, profiles, or assurance requirements.</t>
        <t>The purpose value has no default. Each Human-Continuity-Challenge list member and Human-Continuity item <bcp14>MUST</bcp14> include a concrete purpose. The purpose value <bcp14>MUST</bcp14> be authorized by the selected policy through a purpose entry for the selected profile. Purpose authorization is privacy-sensitive because it defines the verifier's linkability sets. The purposes and purpose templates listed in metadata make those linkability sets visible, making policy easier to audit, while avoiding an unbounded namespace of arbitrary challenge-selected purposes.</t>
        <t>The values are determined as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Determine the request method and effective policy identifier from the request according to <xref target="policy-selection"/>.</t>
          </li>
          <li>
            <t>Select the purpose entry from the selected policy definition's purposes map.  </t>
            <t>
If the selected policy definition's purposes map contains an entry name exactly equal to the concrete purpose, that purpose entry is selected. A purpose template is never exactly equal to a concrete purpose, because concrete purpose values cannot contain <tt>{</tt> or <tt>}</tt>. Within the selected policy definition, an exactly matching entry name takes precedence over any purpose template that would also match the concrete purpose. Such a purpose template is not considered to authorize that concrete purpose for that selected policy.  </t>
            <t>
Otherwise, if exactly one purpose template in the selected policy definition's purposes map matches the concrete purpose, that purpose entry is selected. If no purpose template matches, the concrete purpose is not authorized. If a purpose entry is selected but its profiles object does not authorize the selected profile or the selected presentation-assurance value, or its realm does not match the value required for the artifact or presentation, the client and verifier <bcp14>MUST NOT</bcp14> fall back to another purpose entry.</t>
          </li>
          <li>
            <t>Determine the effective realm from the realm of the selected purpose entry.</t>
          </li>
          <li>
            <t>The effective attestation audience is the canonical HTTPS origin of the request (<xref target="canonical-https-origin"/>).</t>
          </li>
          <li>
            <t>The continuity scope is (effective realm, effective attestation audience, purpose). Profiles <bcp14>MAY</bcp14> use profile-specific cryptographic inputs when validating or generating artifacts, but those inputs <bcp14>MUST NOT</bcp14> change the verifier-visible continuity scope or the <tt>continuity_handle</tt> produced for the same effective realm, effective attestation audience, purpose, and verified human.</t>
          </li>
        </ol>
        <t>Changing the effective realm changes the continuity scope. A conforming profile produces <tt>continuity_handle</tt> values for the new scope that are not correlatable with values from the previous scope. Continuity across a change of realm operator therefore requires keeping the realm stable so that the continuity scope does not change; key and infrastructure changes under a stable realm follow the profile's defined behavior for rotating realm operator trust material.</t>
        <t>Origins <bcp14>SHOULD</bcp14> choose purpose values that are stable for the continuity set in which repeated participation by the same human is intended to be detected. The origin is responsible for ensuring that emitted purpose values correspond to the intended continuity set: a purpose value that is too broad increases linkability, and a purpose value that is too narrow can prevent human continuity. Origins <bcp14>SHOULD NOT</bcp14> include per-request randomness, challenge nonces, session identifiers, one-time transaction identifiers, or other values that make each presentation use a unique purpose, unless the origin intentionally does not need human continuity across those presentations.
When per-request unlinkability is desired, <tt>Human-Continuity</tt> is the wrong mechanism; origins need an unlinkable redemption mechanism instead (<xref target="applicability"/>).</t>
        <t>Origins <bcp14>MAY</bcp14> use bounded scopes, such as time-windowed or event-specific purpose values, when the origin requires human continuity only within that bounded context. For example, "api_quota:2026-06-04", "promo:summer-sale", or "trial_credit_claim" can define narrower continuity contexts than a broad account- or origin-wide purpose. Each such purpose value <bcp14>MUST</bcp14> be authorized in policy metadata, as a listed purpose or through a purpose template. Origins using bounded purpose values <bcp14>SHOULD</bcp14> document the continuity boundary, including how purpose values are formed and how long each scope is intended to last.</t>
        <t>Before obtaining or presenting an artifact, a client <bcp14>MUST</bcp14> verify that the challenge or presentation is authorized by policy metadata (<xref target="metadata-authorization"/>).</t>
        <t>Unless a future cross-origin delegation extension allows otherwise:</t>
        <ul spacing="normal">
          <li>
            <t>the effective policy identifier <bcp14>MUST</bcp14> match a policy definition selected for the request by policy metadata; and</t>
          </li>
          <li>
            <t>the effective attestation audience <bcp14>MUST</bcp14> be the canonical HTTPS origin of the request.</t>
          </li>
        </ul>
        <t>Clients <bcp14>MUST</bcp14> ignore any challenge whose purpose value is absent or syntactically invalid or that is not authorized by policy metadata (<xref target="metadata-authorization"/>).</t>
        <t>Verifiers <bcp14>MUST NOT</bcp14> treat presentations as valid unless the presentation is authorized by policy metadata (<xref target="metadata-authorization"/>), the purpose value is present and syntactically valid, the purpose value is accepted by origin policy for the request, and the artifact is bound to that purpose according to the selected profile.</t>
        <t>Examples:</t>
        <t>The examples below show the exchange first, then the policy metadata checked to derive the effective values. The abbreviated metadata is complete for the shown request method and path, with unrelated non-matching entries omitted. Example artifact and <tt>Signature</tt> values are illustrative placeholders. A real artifact is bound to one effective realm, effective attestation audience, and purpose, and the same artifact bytes would not be valid across the different continuity scopes shown in this document's examples. Additional end-to-end flows against a consolidated policy metadata document are shown in <xref target="examples"/>.</t>
        <t>Example 1: default policy selector with origin-scoped policy</t>
        <t>For a GET request to:</t>
        <sourcecode type="text"><![CDATA[
https://service.example/accounts/free-tier
]]></sourcecode>
        <t>HTTP field in the response:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="site_rate_limit"; \
  challenge=:rcccO4BcyTMPkx0CQ9PAXk3YyoM5fw5+ycNeGGVZTlk=:
]]></sourcecode>
        <t>Relevant policy metadata:</t>
        <sourcecode type="json"><![CDATA[
{
  "origin": "https://service.example",
  "default_policy_selectors": {
    "GET": "site",
    "HEAD": "site"
  },
  "policy_selectors": {},
  "policies": {
    "site": {
      "purposes": {
        "site_rate_limit": {
          "realm": "https://realm.example",
          "profiles": {
            "com.example.unique-human.v1": {}
          }
        }
      }
    }
  }
}
]]></sourcecode>
        <t>Effective policy identifier:</t>
        <sourcecode type="text"><![CDATA[
site
]]></sourcecode>
        <t>Effective realm:</t>
        <sourcecode type="text"><![CDATA[
https://realm.example
]]></sourcecode>
        <t>Effective attestation audience:</t>
        <sourcecode type="text"><![CDATA[
https://service.example
]]></sourcecode>
        <t>Purpose:</t>
        <sourcecode type="text"><![CDATA[
site_rate_limit
]]></sourcecode>
        <t>Continuity scope:</t>
        <sourcecode type="text"><![CDATA[
(https://realm.example, https://service.example, site_rate_limit)
]]></sourcecode>
        <t>No policy selector is found for GET /accounts/free-tier, so the GET default policy selector selects the site policy. The effective attestation audience is the canonical HTTPS origin of the request.</t>
        <t>Example 2: purpose template for a single-endpoint API</t>
        <t>For a POST request to:</t>
        <sourcecode type="text"><![CDATA[
https://api.example.com/graphql
]]></sourcecode>
        <t>HTTP field in the response:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="promo:summer-sale"; \
  challenge=:oxbD0b5k8UfuppijrLSxroRhXys8WmzucB95TXadeHs=:; \
  presentation-assurance="subject-present"
]]></sourcecode>
        <t>Relevant policy metadata:</t>
        <sourcecode type="json"><![CDATA[
{
  "origin": "https://api.example.com",
  "default_policy_selectors": {},
  "policy_selectors": {
    "POST": {
      "/graphql": "graphql"
    }
  },
  "policies": {
    "graphql": {
      "purposes": {
        "promo:loyalty": {
          "realm": "https://realm.example",
          "profiles": {
            "com.example.unique-human.v1": {
              "presentation_assurances": ["human-verified"]
            }
          }
        },
        "promo:{campaign}": {
          "realm": "https://realm.example",
          "profiles": {
            "com.example.unique-human.v1": {
              "presentation_assurances": ["subject-present"]
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
        <t>The POST /graphql request selects the GraphQL policy. The concrete purpose "promo:summer-sale" does not equal any purpose listed under the policy, so the "promo:{campaign}" purpose template authorizes it and selects the realm, profile entry, and presentation-assurance value. For the concrete purpose "promo:loyalty", the exactly matching purpose takes precedence even though the purpose template also matches it: its purpose entry applies, including its "human-verified" presentation-assurance value, with no fallback to the purpose template's purpose entry. The concrete purpose, not the purpose template, is part of the continuity scope. A purpose template authorizes concrete purpose values; the concrete purpose itself is always carried in the challenge.</t>
        <t>Selected presentation-assurance value:</t>
        <sourcecode type="text"><![CDATA[
subject-present
]]></sourcecode>
        <t>Continuity scope:</t>
        <sourcecode type="text"><![CDATA[
(https://realm.example, https://api.example.com, promo:summer-sale)
]]></sourcecode>
        <t>When the client retries an operation-specific request with content, it includes request content coverage in the HTTP Message Signature:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /graphql HTTP/1.1
Host: api.example.com
Content-Type: application/json
Content-Digest: sha-256=:J7PDCuRys5571B0uq8VctIJxawOGKDI\
  DolzxGhJyAWA=:
Human-Continuity: "com.example.unique-human.v1"; \
  artifact=:ZXhhbXBsZS1hcnRpZmFjdA==:; \
  purpose="promo:summer-sale"; \
  presentation-assurance="subject-present"
Signature-Input: hu=("@method" "@target-uri" \
  "human-continuity";sf "content-digest");created=1778480000;\
  expires=1778480060;\
  keyid="urn:ietf:params:oauth:jwk-thumbprint:sha-256:1IG2tMH7J2wbJZ\
  nOf8LJzQitKf7LMvoAElsuDMVM54Y";alg="ed25519";tag="human-continuity"
Signature: hu=:bidcWjspV0fNiGmSb4/Gz1YNNOovQ6x1vykhJqOlMOGEpMw89IZz\
  jfjoqa7ZnhGzRGFph9xJhfy6G2aOlZkdDA==:

{
  "operationName": "Claim",
  "variables": {"c": "summer-sale"},
  "query": "mutation Claim($c: ID!) { claim(campaign: $c) { ok } }"
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="http-fields">
      <name>HTTP Fields</name>
      <section anchor="common-field-syntax">
        <name>Common Field Syntax</name>
        <t>Human-Continuity-Challenge is a Structured Field List as defined by <xref target="RFC9651"/>.</t>
        <t>Human-Continuity is a Structured Field Item as defined by <xref target="RFC9651"/>.</t>
        <t>These fields are specific to human-continuity presentations. A conforming presentation produces a verifier-local <tt>continuity_handle</tt> scoped by realm, attestation audience, and purpose.</t>
        <t>Each Human-Continuity-Challenge list member value and the Human-Continuity item value <bcp14>MUST</bcp14> be an sf-string. The string is the profile identifier.</t>
        <t>Example:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="free_tier_signup"; \
  challenge=:MB0QuNph5ynfuWXZOJTIzTUIHQ9+puFvDSseCAUBY0s=:
]]></sourcecode>
        <t>A client that cannot parse a Human-Continuity-Challenge field value as a Structured Field List <bcp14>MUST</bcp14> ignore that field value. A client <bcp14>MUST</bcp14> ignore a Human-Continuity-Challenge list member whose member value is not an sf-string. A client that does not support the indicated profile <bcp14>MUST</bcp14> ignore the Human-Continuity-Challenge list member.</t>
        <t>A verifier <bcp14>MUST</bcp14> treat Human-Continuity as invalid if the field cannot be parsed as a Structured Field Item or its item value is not an sf-string. If the indicated profile is unsupported, Human-Continuity is unverifiable.</t>
        <t>Parameters defined by this document are listed in <xref target="common-field-parameters"/>. A client or verifier <bcp14>MUST</bcp14> ignore a parameter defined by this document on a field for which it is not defined. Other parameters are profile-specific. A client or verifier <bcp14>MUST</bcp14> ignore a profile-specific parameter unless it supports the selected profile and that profile defines the parameter. If the profile requires processing of a defined parameter and the client or verifier cannot process it, it <bcp14>MUST</bcp14> reject the affected challenge or presentation.</t>
      </section>
      <section anchor="the-human-continuity-challenge-field">
        <name>The Human-Continuity-Challenge Field</name>
        <t>The Human-Continuity-Challenge response field explicitly requests a human-continuity presentation.</t>
        <t>Field value type: Structured Field List</t>
        <t>Member value: sf-string profile identifier</t>
        <t>Human-Continuity-Challenge carries a challenge nonce intended for subsequent presentations. A challenge nonce is valid for a verifier-defined interval (<xref target="freshness-replay"/>). Under window acceptance, the challenge layer allows multiple presentations bound to the nonce on requests matching the challenge context, but artifact and presentation reuse remain subject to the selected profile's replay model. Under single-use acceptance, the verifier accepts at most one presentation for the nonce in that challenge context. A challenge does not change what policy metadata authorizes (<xref target="metadata-precedence"/>).</t>
        <t>This specification does not define a client-visible challenge lifetime. A client that presents an artifact bound to an expired or otherwise stale challenge nonce can receive a new Human-Continuity-Challenge and retry according to origin policy.</t>
        <t>A challenge <bcp14>MAY</bcp14> appear on any response status code. However, origins <bcp14>MUST NOT</bcp14> use 401 solely to request human continuity, and proxies <bcp14>MUST NOT</bcp14> use 407 for this mechanism, as described in <xref target="status-codes"/>. The protocol does not depend on a particular error status.</t>
        <t>An origin requiring a presentation to complete a non-idempotent operation <bcp14>MUST</bcp14> issue the challenge before applying any effects of that operation.</t>
        <t>The members of a Human-Continuity-Challenge list are alternatives; their order is not significant. A client that responds to the challenge selects one member that it supports and that policy metadata authorizes, and sends the presentation for that member. A verifier that issues a distinct challenge nonce for each member keeps the alternatives independent under the challenge nonce scoping rules of <xref target="freshness-replay"/>.</t>
        <t>A Human-Continuity-Challenge list member <bcp14>MUST</bcp14> include the purpose parameter. The purpose value <bcp14>MUST</bcp14> be authorized by a purpose entry under the selected policy for the selected profile and request method. A client <bcp14>MUST</bcp14> ignore a challenge that is not authorized by policy metadata (<xref target="metadata-authorization"/>).</t>
        <t>An origin <bcp14>MAY</bcp14> challenge for any purpose and profile authorized by policy metadata.</t>
        <t>A Human-Continuity-Challenge list member <bcp14>MUST</bcp14> include the challenge parameter. A client <bcp14>MUST</bcp14> ignore a Human-Continuity-Challenge list member whose challenge parameter is absent, cannot be parsed as a Byte Sequence, or is not exactly 32 octets (<xref target="common-field-parameters"/>). The subsequent presentation <bcp14>MUST</bcp14> bind the challenge nonce as defined in <xref target="freshness-replay"/>. This binding lets a verifier confirm that the profile-defined issuance or presentation process used the nonce as a freshness input and, when replay protection applies, as a replay key input.</t>
        <t>Example:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

HTTP/1.1 409 Conflict
Content-Type: application/problem+json
Cache-Control: no-store
Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="free_tier_signup"; \
  challenge=:GqkwBKxFEl3zqUyLTmCNstth8qRN4KANvfufDSJ97fc=:; \
  presentation-assurance="subject-present"
]]></sourcecode>
      </section>
      <section anchor="human-continuity-field">
        <name>The Human-Continuity Field</name>
        <t>The Human-Continuity request field carries one human-continuity presentation.</t>
        <t>Field value type: Structured Field Item</t>
        <t>Item value: sf-string profile identifier</t>
        <t>The item value identifies the selected unique-human profile. The item parameters carry the artifact material, purpose, and any profile-defined presentation parameters.</t>
        <t>A Human-Continuity item <bcp14>MUST</bcp14> include the artifact and purpose parameters.</t>
        <t>A Human-Continuity field represents the client's selected presentation for the request. A client <bcp14>MUST NOT</bcp14> generate more than one Human-Continuity field line for a request. This version does not define composition of multiple human-continuity presentations in one request.</t>
        <t>A verifier <bcp14>MUST</bcp14> parse the Human-Continuity field value as a Structured Field Item. If the field value cannot be parsed as an Item, the Human-Continuity signal is invalid. A comma-separated combined field value is therefore invalid.</t>
        <t>Example:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Human-Continuity: "com.example.unique-human.v1"; \
  artifact=:ZXhhbXBsZS1hcnRpZmFjdA==:; \
  purpose="free_tier_signup"
]]></sourcecode>
        <t>A client <bcp14>MUST NOT</bcp14> present an artifact bound to a realm, attestation audience, or purpose other than the effective realm, effective attestation audience, and purpose for which the artifact is valid. A verifier <bcp14>MUST</bcp14> validate the artifact according to its profile before using it for policy.</t>
        <t>The artifact is one parameter inside the presentation item; holder-bound request signing covers the <tt>human-continuity</tt> Structured Field component, not the artifact bytes alone.</t>
      </section>
      <section anchor="common-field-parameters">
        <name>Common Field Parameters</name>
        <t>The following parameters are defined for the fields in this document. Profiles <bcp14>MAY</bcp14> define additional parameters. A profile <bcp14>MUST NOT</bcp14> define a parameter whose name is defined in this section.</t>
        <t>artifact: sf-binary. Defined only for Human-Continuity, where it is required. Carries the serialized unique-human artifact required by the selected profile.</t>
        <t>purpose: sf-string. Carries the concrete purpose. Each Human-Continuity-Challenge list member and Human-Continuity item <bcp14>MUST</bcp14> include the purpose parameter.</t>
        <t>Purpose values <bcp14>MUST</bcp14> be non-empty ASCII strings and <bcp14>MUST NOT</bcp14> contain control characters, whitespace, DQUOTE, backslash, or the brace characters <tt>{</tt> and <tt>}</tt>. The brace characters are reserved for the purpose template syntax in policy metadata (<xref target="policy-metadata-section"/>) and never appear in a concrete purpose. A purpose value that does not satisfy these requirements is syntactically invalid. Purpose values are case-sensitive. Clients and verifiers <bcp14>MUST</bcp14> compare purpose values by exact string equality after Structured Field parsing. Clients and verifiers <bcp14>MUST NOT</bcp14> apply case folding, Unicode normalization, path normalization, percent-decoding, or scope-like expansion to purpose values.</t>
        <t>challenge: sf-binary. Defined only for Human-Continuity-Challenge, where it is required. Carries a verifier-provided challenge nonce. Each subsequent presentation <bcp14>MUST</bcp14> contain profile-verifiable evidence that the challenge nonce was used as an input to the selected profile's issuance or presentation process according to <xref target="freshness-replay"/>.</t>
        <t>Verifier-generated challenge nonces <bcp14>MUST</bcp14> be unpredictable to clients before issuance, <bcp14>MUST</bcp14> be generated with at least 128 bits of entropy, and <bcp14>MUST</bcp14> be encoded as exactly 32 octets.</t>
        <t>presentation-assurance: sf-string. Identifies a presentation-assurance value. The parameter can appear on Human-Continuity-Challenge and Human-Continuity. Its semantics are defined in <xref target="presentation-assurance"/>.</t>
      </section>
      <section anchor="presentation-assurance">
        <name>Presentation Assurance</name>
        <t>Presentation assurance lets an origin request or receive an assertion that a presentation satisfies an additional assurance property.</t>
        <t>Presentation-assurance values <bcp14>MUST</bcp14> be non-empty ASCII strings and <bcp14>MUST NOT</bcp14> contain control characters, whitespace, DQUOTE, or backslash. Values are case-sensitive and compared by exact string equality.</t>
        <t>This document defines initial presentation-assurance values as common assurance classes. The selected profile defines how those values are satisfied, including evidence, ceremonies, verifier checks, freshness, replay behavior, privacy properties, limitations, and satisfaction or substitution relationships.</t>
        <t>Initial presentation-assurance values are:</t>
        <ul spacing="normal">
          <li>
            <t>"human-approved": Profile-defined evidence that a human's approval covers the presentation. Approval can be granted per presentation or as standing consent, such as a client or authenticator setting that authorizes generating presentations of a given class automatically. Human interaction is not required when the evidence is generated. It does not by itself establish participation by the subject.</t>
          </li>
          <li>
            <t>"human-verified": Profile-defined evidence that a human was prompted and completed a user verification interaction when the evidence was generated, such as local user verification, user verification by a human-controlled authenticator, or another profile-defined verification ceremony. It does not by itself establish participation by the subject.</t>
          </li>
          <li>
            <t>"subject-present": Profile-defined evidence that the subject participated when the evidence was generated. This document does not mandate any specific ceremony or mechanism for establishing the subject's participation.</t>
          </li>
        </ul>
        <t>A profile that supports presentation-assurance values, including the initial values defined by this document, <bcp14>MUST</bcp14> define the meaning of each supported value, the evidence required, verifier checks, freshness requirements, replay behavior, privacy properties, limitations, and any satisfaction or substitution relationships between values.</t>
        <t>A profile <bcp14>MAY</bcp14> define that one presentation-assurance value satisfies another presentation-assurance value for that profile. For example, a profile might define "subject-present" as satisfying "human-verified". A verifier <bcp14>MUST NOT</bcp14> apply such substitution unless the selected profile explicitly defines it. The initial values defined by this document are ordered by increasing assurance, from "human-approved" to "subject-present". A stronger value does not satisfy a weaker value unless the selected profile defines that substitution.</t>
        <t>A verifier <bcp14>MUST NOT</bcp14> treat the same presentation-assurance value as equivalent across different profiles unless the relevant profile specifications define compatible semantics.</t>
        <t>When presentation-assurance appears on Human-Continuity-Challenge, it requests a presentation satisfying that value for the challenge context (<xref target="freshness-replay"/>).</t>
        <t>When presentation-assurance appears on Human-Continuity, it identifies the presentation-assurance value asserted by the client for that presentation.</t>
        <t>If the presentation responds to a Human-Continuity-Challenge that included presentation-assurance, the Human-Continuity field <bcp14>MUST</bcp14> include the same value, unless the selected profile explicitly defines the asserted value as satisfying the requested value.</t>
        <t>A verifier <bcp14>MUST NOT</bcp14> treat a requested or asserted presentation-assurance value as satisfied unless the selected profile verifies the required evidence according to that profile. If the asserted value differs from the requested value, the verifier <bcp14>MUST NOT</bcp14> treat the request as satisfied unless the selected profile defines the asserted value as satisfying the requested value.</t>
        <t>Because presentation-assurance is a single parameter value, an origin that needs to challenge for multiple values that are not substitutable under the selected profile represents them as separate Human-Continuity-Challenge list members. Policy metadata can authorize multiple values using presentation_assurances.</t>
        <t>Additional presentation-assurance values intended for use across profiles <bcp14>SHOULD</bcp14> be registered in the Human-Continuity Presentation Assurance Value registry (<xref target="assurance-registry"/>). Values that are not registered <bcp14>MUST</bcp14> use a name controlled by the author of the specification that defines the value, such as a reverse-DNS name or a value prefixed by the profile identifier.</t>
      </section>
    </section>
    <section anchor="policy-metadata-section">
      <name>Policy Metadata</name>
      <t>Policy metadata lets clients discover default policy selectors, policy selectors, policies, authorized purposes and purpose templates, realms, supported profiles, and presentation-assurance values. Metadata also establishes the trust boundaries within which inline fields are interpreted.</t>
      <t>Policy metadata is a JSON document <xref target="RFC8259"/> served with media type application/json. Policy metadata uses an origin-level well-known location.</t>
      <t>If a JSON object within a policy metadata document contains duplicate member names, the document is invalid and <bcp14>MUST NOT</bcp14> be used.</t>
      <section anchor="origin-level-metadata">
        <name>Origin-Level Metadata</name>
        <t>The origin-level policy metadata location is:</t>
        <sourcecode type="text"><![CDATA[
https://example.com/.well-known/human-continuity
]]></sourcecode>
        <t>The metadata document's origin member <bcp14>MUST</bcp14> equal the canonical HTTPS origin that serves the metadata.</t>
        <t>The metadata document is the human-continuity policy for the canonical HTTPS origin.</t>
      </section>
      <section anchor="selectors-and-policy-entries">
        <name>Selectors and Policy Entries</name>
        <t>An origin-level metadata document <bcp14>MUST</bcp14> include policies, policy_selectors, and default_policy_selectors members.</t>
        <t>A default policy selector is analogous to a default route: it maps an HTTP method to one policy identifier when no policy selector matches the request path for that method.</t>
        <t>Each policies member value is a policy definition. A policy identifier is an origin-local name used to select one policy definition. For single-endpoint APIs such as GraphQL or RPC, one policy identifier can describe the HTTP endpoint while individual purposes or purpose templates describe continuity contexts authorized within that endpoint. A policy definition does not apply to a request merely because it exists in policy metadata. A request selects a policy only through the policy selection algorithm, using policy_selectors or default_policy_selectors.</t>
        <t>Within one policy metadata document, if two purpose entries in different policies can authorize the same concrete purpose, those entries <bcp14>MUST</bcp14> specify the same realm. Two purpose entries in different policies can authorize the same concrete purpose if their names are the same purpose, if one entry's name is a purpose that the other's purpose template would authorize, or if both names are purpose templates and one template prefix is a prefix of the other, including equal prefixes. This check is computable from the entry names alone, without enumerating concrete purposes. If two such entries specify different realms, the metadata document is invalid and <bcp14>MUST NOT</bcp14> be used. This prevents the same continuity set from producing different <tt>continuity_handle</tt> values solely because different request methods, paths, or purpose entries selected different realms. Different purposes <bcp14>MAY</bcp14> use different realms.</t>
        <t>Each policy_selectors member name and each default_policy_selectors member name <bcp14>MUST</bcp14> be a valid HTTP method token. Each path pattern member name under a policy_selectors method member <bcp14>MUST</bcp14> be a valid path pattern. Each policy_selectors path pattern member value and each default_policy_selectors member value <bcp14>MUST</bcp14> identify exactly one policy definition in the same metadata document.</t>
        <t>This version defines only exact path patterns, terminal <tt>"/**"</tt> subtree patterns, exact method token matching, exact purpose matching, and the limited purpose template syntax defined below. No other matching behavior is implied.</t>
      </section>
      <section anchor="metadata-members">
        <name>Metadata Members</name>
        <t>A policy metadata document has the following members.</t>
        <t>origin: <bcp14>REQUIRED</bcp14> string. The canonical HTTPS origin described by this metadata document.</t>
        <t>default_policy_selectors: <bcp14>REQUIRED</bcp14> object. Each member name is an HTTP method token. Each member value is the policy identifier selected when no policy selector matches the request path for that method.</t>
        <t>policy_selectors: <bcp14>REQUIRED</bcp14> object. Each member name is an HTTP method token. Each member value is an object whose member names are path patterns and whose member values are policy identifiers for that method.</t>
        <t>policies: <bcp14>REQUIRED</bcp14> object. Each member name is a policy identifier and each member value is a policy definition.</t>
        <t>Policy identifiers <bcp14>MUST</bcp14> use the HTTP token syntax defined by <xref target="RFC9110"/>, Section 5.6.2. Policy identifiers are case-sensitive and compared by exact string equality.</t>
        <t>Each policy_selectors method object has path pattern member names. A path pattern <bcp14>MUST</bcp14> begin with <tt>"/"</tt>, <bcp14>MUST NOT</bcp14> be <tt>"/"</tt>, <bcp14>MUST NOT</bcp14> be <tt>"/**"</tt>, <bcp14>MUST NOT</bcp14> begin with <tt>"/.well-known/"</tt>, <bcp14>MUST NOT</bcp14> contain dot-segments, as defined by <xref target="RFC3986"/>, and <bcp14>MUST NOT</bcp14> contain an empty path segment, that is, the character sequence <tt>"//"</tt>. A path pattern either contains no wildcard or ends with <tt>"/**"</tt>. The wildcard character <tt>"*"</tt> <bcp14>MUST NOT</bcp14> appear anywhere else.</t>
        <t>An exact path pattern, such as <tt>"/account/recovery"</tt> or <tt>"/account/recovery/"</tt>, matches only that request path. An exact path match takes precedence over subtree matching. A subtree pattern, such as <tt>"/account/recovery/**"</tt>, matches request paths below that prefix. If no exact path match exists, the most specific matching subtree pattern takes precedence.</t>
        <t>The value of each path pattern member is the policy identifier selected by that policy selector.</t>
        <t>Each policy definition has the following members.</t>
        <t>purposes: <bcp14>REQUIRED</bcp14> object. Each member is a purpose entry whose name is either a purpose or a purpose template.</t>
        <t>The purposes object <bcp14>MAY</bcp14> be empty. A selected policy whose purposes object is empty authorizes no challenges or presentations for requests that select it. Combined with the prohibition on post-selection fallback, an empty purposes object lets an origin explicitly exclude paths and methods from human-continuity policy that a default policy selector or less-specific subtree pattern would otherwise apply.</t>
        <t>A purpose listed as an entry name authorizes exactly that purpose.</t>
        <t>A purpose template uses the purpose value syntax, except that it contains <tt>{</tt> and <tt>}</tt> as template delimiters: it contains exactly one delimiter sequence <tt>:{</tt>, has non-empty text before the delimiter, has a non-empty variable name after the delimiter, contains no other <tt>{</tt> or <tt>}</tt> characters, and ends with <tt>}</tt>. The template prefix is the substring before <tt>{</tt>, including the preceding colon. The template variable name is the substring between <tt>{</tt> and <tt>}</tt> and is documentation only. A purpose template authorizes a concrete purpose only if the concrete purpose begins with the template prefix and contains at least one additional character after the template prefix. For example, the purpose template <tt>"promo:{campaign}"</tt> has the template prefix <tt>"promo:"</tt> and authorizes concrete purpose values such as <tt>"promo:summer-sale"</tt>, but not <tt>"promo:"</tt>.</t>
        <t>The concrete purpose, not the purpose template or variable name, is part of the continuity scope.</t>
        <t>Template prefixes <bcp14>MUST NOT</bcp14> overlap within one policy definition. Two template prefixes overlap if one concrete purpose value can match both templates. If a policy definition contains overlapping template prefixes, the metadata document is invalid and <bcp14>MUST NOT</bcp14> be used.</t>
        <t>If an entry name contains <tt>{</tt> or <tt>}</tt> but does not satisfy the purpose template syntax, the metadata document is invalid and <bcp14>MUST NOT</bcp14> be used (<xref target="metadata-precedence"/>). Because concrete purpose values cannot contain <tt>{</tt> or <tt>}</tt> (<xref target="common-field-parameters"/>), a purpose template is never exactly equal to a concrete purpose.</t>
        <t>Clients and verifiers <bcp14>MUST</bcp14> compare purposes by exact string equality after Structured Field parsing of the purpose field parameter. They <bcp14>MUST</bcp14> compare purpose templates by exact string prefix matching against the concrete purpose value after Structured Field parsing, including the requirement that at least one character follows the template prefix. They <bcp14>MUST NOT</bcp14> apply case folding, Unicode normalization, path normalization, percent-decoding, glob matching, regular expression matching, or URI template matching.</t>
        <t>A purpose entry carries the following members.</t>
        <t>realm: <bcp14>REQUIRED</bcp14> string. The realm used for this purpose entry. Realm values used for continuity scope comparison are compared by exact string equality.</t>
        <t>profiles: <bcp14>REQUIRED</bcp14> non-empty object. Each member is a profile entry whose name is a profile identifier and whose value describes how that profile can be used with this policy and purpose entry.</t>
        <t>Profile identifiers in policy metadata use the syntax defined in <xref target="profile-identifiers"/>. They are case-sensitive and compared by exact string equality.</t>
        <t>Each profile entry has the following members.</t>
        <t>presentation_assurances: <bcp14>OPTIONAL</bcp14> non-empty array of unique strings. The presentation-assurance values directly authorized for this profile entry. A directly authorized value can be requested in Human-Continuity-Challenge or asserted in Human-Continuity even when the challenge did not request it. If omitted, policy metadata does not authorize presentation-assurance support for this profile entry.</t>
        <t>Profile entries are the profile-scoped extension point (<xref target="metadata-precedence"/>).</t>
      </section>
      <section anchor="metadata-authorization">
        <name>Authorization by Policy Metadata</name>
        <t>A challenge or presentation is authorized by policy metadata when it satisfies the requirements of this section, which authorize, together, the request method, the effective policy identifier, the effective realm, the concrete purpose, the selected profile, and the selected presentation-assurance value, if any. The effective attestation audience is derived from the request according to <xref target="effective-values"/>.</t>
        <t>For an effective policy identifier, an inline challenge or presentation is authorized by policy metadata only if the concrete purpose selects a single purpose entry according to <xref target="effective-values"/> and the selected purpose entry's profiles object contains a profile entry whose name equals the selected profile and that satisfies all applicable requirements.</t>
        <t>The selected purpose entry <bcp14>MUST</bcp14> contain exactly one realm. The selected purpose entry's name <bcp14>MUST</bcp14> equal the purpose field parameter or, for a purpose template, <bcp14>MUST</bcp14> match it according to the purpose template rules in <xref target="metadata-members"/>. The selected profile entry is the profile entry whose name equals the profile field value. If a presentation-assurance value is requested, the selected profile entry <bcp14>MUST</bcp14> include that value in presentation_assurances. If a presentation-assurance value is asserted, the selected profile entry <bcp14>MUST</bcp14> include the asserted value in presentation_assurances, unless the selected profile defines the asserted value as satisfying a requested value included by that profile entry.</t>
        <t>Policy metadata can constrain purpose, profile use, and presentation-assurance values for a profile. It <bcp14>MUST NOT</bcp14> redefine the profile's specified privacy properties, holder binding requirements, presentation-assurance semantics, <tt>continuity_handle</tt> semantics, replay model, artifact syntax, or artifact size behavior.</t>
      </section>
      <section anchor="metadata-precedence">
        <name>Metadata Precedence and Trust</name>
        <t>Policy metadata defines default policy selectors, policy selectors, policies, trusted realms, authorized purposes, supported profiles, and presentation-assurance values.</t>
        <t>Fetched policy metadata is authoritative only as a policy statement by the origin that serves it.</t>
        <t>Configured metadata is a policy metadata or realm metadata document provisioned through a trusted out-of-band mechanism instead of being fetched. It is authoritative only to the extent of the mechanism that provisioned it and is otherwise processed using the same rules as the corresponding fetched document. A configured policy metadata document's origin member <bcp14>MUST</bcp14> exactly match the canonical HTTPS origin for which it was provisioned. A configured realm metadata document's realm member <bcp14>MUST</bcp14> exactly match the realm for which it was provisioned.</t>
        <t>A client <bcp14>MUST NOT</bcp14> use policy metadata unless it was obtained over HTTPS from the origin-level metadata location for the request's canonical HTTPS origin, or it is valid configured policy metadata for that canonical HTTPS origin. In both cases, the policy metadata document's origin member <bcp14>MUST</bcp14> exactly match that canonical HTTPS origin.</t>
        <t>A fetched document <bcp14>MUST NOT</bcp14> be used as policy metadata or realm metadata unless the response of the fetch has status code 200 and the media type required for that document, matching metadata retrieval in <xref target="RFC9728"/>. Policy metadata fetches and realm metadata fetches using this document's well-known mechanism <bcp14>MUST NOT</bcp14> follow cross-origin redirects.</t>
        <t>Realm origins and other URLs obtained from fetched metadata are untrusted. Unless trusted local configuration authorizes the exact private destination, a client or verifier fetching such a URL <bcp14>MUST</bcp14> reject any IP literal or resolved address that is loopback, link-local, private-use, multicast, unspecified, or otherwise not globally routable; fetched metadata cannot grant this exception. That client or verifier <bcp14>MUST</bcp14> validate every connection target, including redirects, connect only to the validated address, and send no automatically attached cookies, Authorization credentials, or human-continuity fields.</t>
        <t>HTTPS protects the fetch. Beyond that, this specification does not authenticate the origin's policy choices or protect against compromised origin infrastructure.</t>
        <t>A policy metadata or realm metadata document <bcp14>MAY</bcp14> contain members not defined by this document. A client or verifier <bcp14>MUST</bcp14> ignore an unrecognized member of the document, of a policy definition, or of a purpose entry. Profile entries in both documents are the profile-scoped extension point: a profile <bcp14>MAY</bcp14> define additional members in its profile entry. Such members are owned by that profile, are interpreted only when that profile is selected, and <bcp14>MUST NOT</bcp14> redefine or override members defined by this document. A client or verifier <bcp14>MUST</bcp14> ignore any such member it does not understand or that belongs to a profile it does not implement.</t>
        <t>Where this document assigns syntax to JSON member names, a name that fails the syntax for its position invalidates the metadata document and <bcp14>MUST NOT</bcp14> be ignored as unrecognized. This applies to member names used as HTTP method tokens, path patterns, policy identifiers, purposes, purpose templates, or profile identifiers. For profile identifiers, this invalidity rule covers only the string syntax in <xref target="profile-identifiers"/>; clients and verifiers do not validate the reverse-DNS naming structure.</t>
        <t>A profile-defined member that carries a URL for an endpoint, verification material, or verification procedure <bcp14>MUST</bcp14> require that URL to use the "https" URI scheme. A profile-defined member that conveys material by another means <bcp14>MUST</bcp14> define the authenticated retrieval or trust model for that material.</t>
        <t>Inline fields describe the current response's challenged human-continuity requirements or the current request's presentation. They <bcp14>MUST NOT</bcp14> cause a client to trust a realm, attestation audience, purpose, profile, method-to-policy selection, or policy identifier that it would not otherwise trust.</t>
        <t>A client encountering an inline reference to an unknown profile or profile-specific field parameter <bcp14>SHOULD</bcp14> refresh fetched policy metadata over HTTPS or revalidate configured policy metadata before proceeding. If the refreshed or revalidated metadata does not authorize the selected profile or presentation-assurance value for the selected policy and purpose, the client <bcp14>MUST NOT</bcp14> proceed.</t>
        <t>A client <bcp14>MAY</bcp14> rely on cached policy metadata only while that metadata remains valid under its cache directives and the client's configured freshness limits. A client <bcp14>MAY</bcp14> rely on configured policy metadata only while that metadata remains valid under the client's configured freshness limits. If fresh metadata cannot be obtained and no valid cached or configured metadata authorizes the concrete purpose, profile, and presentation-assurance value when present, the client <bcp14>MUST NOT</bcp14> proceed.</t>
        <t>Inline fields <bcp14>MAY</bcp14> select or narrow profile, purpose, and presentation-assurance parameters within the policy selected by the request and policy metadata. Inline fields <bcp14>MUST NOT</bcp14> broaden authorized purposes, profile choices, or presentation-assurance values authorized by policy metadata.</t>
        <t>If the challenge or presentation is not authorized by policy metadata (<xref target="metadata-authorization"/>), the client <bcp14>MUST</bcp14> ignore the inline value and <bcp14>MUST NOT</bcp14> obtain or present a unique-human artifact based on it.</t>
      </section>
    </section>
    <section anchor="realm-metadata-section">
      <name>Realm Metadata</name>
      <t>Realm metadata describes realm operator capabilities, issuance endpoints, profile-defined verification and revocation information, and unique-human profile support. The verification material and verification procedure for a profile are defined by that profile.</t>
      <t>Depending on the profile, verification material can be a JWK Set <xref target="RFC7517"/>, a zero-knowledge verifying key or circuit identifier, a contract address and a source of ledger state, a transparency log or accumulator reference, or no fetched material at all. This document defines no verification material member of its own and privileges no verification material form.</t>
      <t>After selecting the effective realm from policy metadata, a client or verifier <bcp14>MUST NOT</bcp14> treat that realm as supporting the selected profile unless support is indicated by one of:</t>
      <ul spacing="normal">
        <li>
          <t>realm metadata obtained for the effective realm using the well-known mechanism defined below;</t>
        </li>
        <li>
          <t>configured realm metadata for the effective realm (<xref target="metadata-precedence"/>); or</t>
        </li>
        <li>
          <t>realm metadata obtained as defined by the selected profile (<xref target="profile-requirements"/>).</t>
        </li>
      </ul>
      <t>If realm metadata required for the selected profile is missing, cannot be obtained, or is stale beyond the freshness limit defined by the profile or origin, a client <bcp14>MUST NOT</bcp14> obtain or present an artifact based on that realm metadata, and a verifier <bcp14>MUST</bcp14> treat the presentation as unverifiable for that profile. This applies to every source above.</t>
      <t>The rest of this section defines the well-known mechanism. It applies only when the effective realm is a canonical HTTPS origin (<xref target="canonical-https-origin"/>); obtaining realm metadata for any other effective realm, such as a non-HTTPS identifier or one that carries a path, query, fragment, or userinfo, is defined by the selected profile (<xref target="profile-requirements"/>).</t>
      <t>The realm metadata location is formed by appending <tt>/.well-known/human-continuity-realm</tt> to the effective realm:</t>
      <sourcecode type="text"><![CDATA[
https://realm.example/.well-known/human-continuity-realm
]]></sourcecode>
      <t>The realm metadata document is a JSON document <xref target="RFC8259"/> served with media type application/json, and is fetched subject to the requirements of <xref target="metadata-precedence"/>. Its realm member <bcp14>MUST</bcp14> exactly match the effective realm. The document indicates support for the selected profile through a realm profile entry for that profile; absence of that entry means realm metadata for the selected profile is missing.</t>
      <t>If a JSON object within the document contains duplicate member names, the document is invalid and <bcp14>MUST NOT</bcp14> be used.</t>
      <t>A realm metadata document has the following members.</t>
      <t>realm: <bcp14>REQUIRED</bcp14> string. The realm the document describes. It <bcp14>MUST</bcp14> match the realm under which artifacts are produced.</t>
      <t>profiles: <bcp14>REQUIRED</bcp14> non-empty object. Each member is a realm profile entry whose name is a profile identifier and whose value describes the realm's support for that profile.</t>
      <t>Profile identifiers in realm metadata use the syntax defined in <xref target="profile-identifiers"/>. They are case-sensitive and compared by exact string equality.</t>
      <t>Each realm profile entry has the following members.</t>
      <t>issuance_endpoint: <bcp14>OPTIONAL</bcp14> string. The HTTPS URL of the endpoint used to request issuance, if the profile uses an HTTP issuance endpoint.</t>
      <t>A profile whose artifacts are verified against a JWK Set, a verifying key, or other fetched verification material defines the member that conveys it; lifecycle and compromise requirements for that material are defined in <xref target="profile-requirements"/>. A profile that supports revocation likewise defines the member that conveys revocation metadata.</t>
      <t>max_artifact_size_issued: <bcp14>OPTIONAL</bcp14> positive integer. An upper bound, in octets, on the serialized artifact value produced for this profile under the realm metadata entry, whether the artifact is issued directly or constructed by the client from operator-provided material. If omitted, the realm operator makes no artifact size commitment for this profile entry. Origins use this value when deciding whether to accept the profile. This value does not guarantee that an intermediary will accept that artifact size.</t>
      <t>Revocation semantics are profile-defined. This document does not require origins to perform online revocation checks on the request path.</t>
      <t>Realm profile entries are the profile-scoped extension point (<xref target="metadata-precedence"/>): for example, a profile can define a verifying key reference and circuit identifier for a zero-knowledge profile, or a chain identifier, verifier contract, and source of ledger state for a profile verified against distributed ledger state.</t>
    </section>
    <section anchor="profile-requirements">
      <name>Unique-Human Profiles</name>
      <t>The core specification defines no initial unique-human profiles.</t>
      <t>This document defines the HTTP discovery, challenge, presentation, and verification framework. It is not independently deployable without at least one unique-human profile that defines artifact syntax, issuance, verification, holder binding, challenge nonce binding, replay behavior, privacy properties, and <tt>continuity_handle</tt> derivation.</t>
      <t>Profile specifications <bcp14>MAY</bcp14> be published independently of this document. Profile identifiers follow the syntax and naming rules in <xref target="profile-identifiers"/>. Publication of a profile does not imply that the profile is preferred, mandatory, or endorsed by this core specification.</t>
      <t>Profiles <bcp14>SHOULD</bcp14> support local verification by the origin. The core protocol does not require the origin to call the realm operator on the request path.</t>
      <t>Implementations and interoperability reports for this protocol <bcp14>SHOULD</bcp14> identify the unique-human profile or profiles used for testing. A core implementation that only parses the HTTP fields and metadata, but does not implement a concrete profile, is not sufficient to demonstrate end-to-end interoperability.</t>
      <section anchor="profile-identifiers">
        <name>Profile Identifiers</name>
        <t>Profile identifiers are non-empty, case-sensitive ASCII strings carried as Structured Field string values and compared by exact string equality. Profile identifiers <bcp14>SHOULD</bcp14> be short enough for practical use in HTTP fields and <bcp14>MUST NOT</bcp14> contain control characters, whitespace, DQUOTE, or backslash.</t>
        <t>A profile identifier <bcp14>MUST</bcp14> use a reverse-DNS prefix within a domain controlled by the profile author, such as "com.example.unique-human.v1". The profile author is responsible for taking reasonable precautions to ensure that it controls the portion of the DNS namespace from which the identifier is derived, so that independently defined profiles do not collide.</t>
        <t>The domain in a profile identifier identifies the author of the profile specification. It implies nothing about the realm of any artifact: a profile can be supported by any number of realms, and the effective realm is selected by policy metadata (<xref target="effective-values"/>) independently of the profile identifier's namespace.</t>
        <t>A profile identifier is permanently bound to the specification that defines it. A revision that changes artifact syntax, verification behavior, challenge nonce binding, replay behavior, or <tt>continuity_handle</tt> derivation <bcp14>MUST</bcp14> use a new profile identifier, such as one with an incremented version suffix.</t>
        <t>The naming rules in this section bind profile specifications, not protocol participants. Clients and verifiers compare profile identifiers as opaque strings and do not validate naming structure or domain control.</t>
      </section>
      <section anchor="specification-requirements">
        <name>Specification Requirements</name>
        <t>A profile specification <bcp14>MUST</bcp14> define:</t>
        <ul spacing="normal">
          <li>
            <t>profile identifier;</t>
          </li>
          <li>
            <t>artifact syntax;</t>
          </li>
          <li>
            <t>issuance model;</t>
          </li>
          <li>
            <t>issuance accessibility constraints, such as device, connectivity, enrollment, biometric, or jurisdictional requirements that determine which humans can obtain an artifact;</t>
          </li>
          <li>
            <t>verification algorithm;</t>
          </li>
          <li>
            <t>the trust anchors and verification material used by the verification algorithm, and verifier behavior for selecting that material, for its freshness and refresh, for rotation (including overlap and retirement), and for missing or stale material, and the response to compromise of that material;</t>
          </li>
          <li>
            <t>the conditions under which verification fails, and the state those conditions produce in verifier output;</t>
          </li>
          <li>
            <t>realm metadata requirements;</t>
          </li>
          <li>
            <t>how the artifact binds the <tt>continuity_handle</tt> to the realm, attestation audience, and purpose;</t>
          </li>
          <li>
            <t>holder binding requirements;</t>
          </li>
          <li>
            <t>challenge nonce binding, as required by <xref target="freshness-replay"/>;</t>
          </li>
          <li>
            <t>replay or double-spend behavior;</t>
          </li>
          <li>
            <t>whether revocation is supported; and, if supported, what can be revoked, the member that conveys revocation metadata, how verifiers discover revocation state, the maximum staleness a verifier accepts for revocation state, whether revocation is forward-looking only or affects previously accepted presentations, and verifier behavior when revocation metadata is unavailable;</t>
          </li>
          <li>
            <t>supported presentation-assurance values, if any, including evidence, verifier checks, satisfaction relationships with other values, freshness requirements, replay behavior, privacy properties, and limitations;</t>
          </li>
          <li>
            <t>profile-specific HTTP field parameters, if any, including syntax, applicable fields, optional or mandatory status, and processing rules; these parameters <bcp14>MUST NOT</bcp14> replace or redefine parameters defined by this document;</t>
          </li>
          <li>
            <t>verifier output;</t>
          </li>
          <li>
            <t><tt>continuity_handle</tt> format and semantics, including length, opacity, collision resistance, non-malleability, stability, comparison rules, and profile-specific validation rules;</t>
          </li>
          <li>
            <t>lifecycle behavior affecting <tt>continuity_handle</tt> stability or validity, including recovery, credential refresh, re-enrollment, rotation of realm operator trust material, realm migration, revocation, and realm operator compromise, when applicable;</t>
          </li>
          <li>
            <t>privacy properties; and</t>
          </li>
          <li>
            <t>security considerations specific to the profile.</t>
          </li>
        </ul>
        <t>A profile <bcp14>MUST</bcp14> define its state, recovery, and device continuity model. For profiles that are not intended for long-lived, multi-device, or recoverable use cases, this can be an explicit statement that loss of client-held state prevents future presentations, requires re-issuance that preserves the <tt>continuity_handle</tt> invariant, or causes affected artifacts or verification states to become invalid or unverifiable. It <bcp14>MUST</bcp14> specify:</t>
        <ul spacing="normal">
          <li>
            <t>what private state is held by the client, holder, realm operator, and verifier;</t>
          </li>
          <li>
            <t>whether loss of client-held state prevents future presentations;</t>
          </li>
          <li>
            <t>whether a holder can migrate to a new device and still obtain artifacts that produce the same <tt>continuity_handle</tt> for an existing continuity scope;</t>
          </li>
          <li>
            <t>how holder key rotation, credential refresh, recovery, re-enrollment, rotation of realm operator trust material, realm migration, revocation, or realm operator compromise affects presentation validity, verifier output, and <tt>continuity_handle</tt> stability;</t>
          </li>
          <li>
            <t>how a verifier discovers realm operator compromise and how it treats artifacts issued before compromise detection;</t>
          </li>
          <li>
            <t>whether recovery requires realm operator interaction, user re-authentication, biometric re-verification, account recovery, social recovery, hardware-backed key recovery, or another mechanism; and</t>
          </li>
          <li>
            <t>what privacy or abuse risks are introduced by the recovery mechanism.</t>
          </li>
        </ul>
        <t>Profiles that rely on unrecoverable client-local state <bcp14>MUST</bcp14> declare that property explicitly. Profiles that support recovery or device migration <bcp14>MUST</bcp14> define how they preserve scoped human-continuity semantics without exposing a global human identifier or enabling correlation outside the continuity scope.</t>
      </section>
      <section anchor="continuity-handle-requirements">
        <name>Human-Continuity Handle Requirements</name>
        <t>A profile that does not produce a <tt>continuity_handle</tt> for a valid presentation is not conformant with this specification. A successful verification result for a conforming profile <bcp14>MUST</bcp14> include a verifier-local <tt>continuity_handle</tt>.</t>
        <t>The <tt>continuity_handle</tt> <bcp14>MUST</bcp14> be opaque and canonically encoded. Under the profile's documented assumptions, prediction, preimage, and second-preimage resistance <bcp14>MUST</bcp14> be at least 112 bits and <bcp14>SHOULD</bcp14> be at least 128 bits. Enumeration and malleation <bcp14>MUST</bcp14> be infeasible, and accidental collisions <bcp14>MUST</bcp14> be negligible at the profile's maximum supported population.</t>
        <t>The <tt>continuity_handle</tt> <bcp14>MUST</bcp14> be cryptographically bound to the continuity scope. A conforming profile <bcp14>MUST</bcp14> use domain separation or an equivalent construction so that <tt>continuity_handle</tt> values for different continuity scopes are not correlatable and cannot be transformed into one another.</t>
        <t>The core protocol defines continuity scope and <tt>continuity_handle</tt> comparison semantics. Profiles <bcp14>MUST NOT</bcp14> redefine these semantics.</t>
        <t>The continuity scope is the tuple (realm, attestation audience, purpose). The profile identifier is not part of the continuity scope.</t>
        <t>A verifier <bcp14>MUST</bcp14> compare <tt>continuity_handle</tt> values only within the same continuity scope.</t>
        <t>For the same realm, attestation audience, purpose, and verified human, a conforming profile <bcp14>MUST</bcp14> produce the same <tt>continuity_handle</tt>. For different continuity scopes, a conforming profile <bcp14>MUST NOT</bcp14> produce correlatable <tt>continuity_handle</tt> values.</t>
        <t>For the same realm, attestation audience, and purpose, two different <tt>continuity_handle</tt> values <bcp14>MUST</bcp14> represent different verified humans, subject to the selected profile's security assumptions and compromise model.</t>
        <t>If the same realm supports multiple profiles for the same attestation audience and purpose, valid presentations under those profiles <bcp14>MUST</bcp14> produce the same <tt>continuity_handle</tt> for the same verified human. Profiles that cannot satisfy this requirement <bcp14>MUST</bcp14> use distinct realms.</t>
        <t>Excluding the profile identifier from the continuity scope is intentional. It allows a realm operator to migrate between profiles, or to offer several profiles for the same verified human population, without causing the same human to receive different verifier-visible <tt>continuity_handle</tt> values for the same realm, attestation audience, and purpose. A realm operator that cannot preserve the invariant across its profiles <bcp14>MUST</bcp14> use distinct realms, which places those profiles in distinct continuity scopes.</t>
        <t>Conversely, multiple realms <bcp14>MAY</bcp14> support the same profile. Each effective realm forms a distinct continuity scope, even when their realm operators attest the same underlying credential population or rely on the same verification material.</t>
        <t>Differences in profile assurance, holder binding, replay behavior, artifact syntax, issuance ceremony, verification method, or other profile properties are inputs to verifier output or origin policy. They <bcp14>MUST NOT</bcp14> be represented by changing the <tt>continuity_handle</tt> for the same continuity scope and verified human.</t>
      </section>
      <section anchor="privacy-properties">
        <name>Privacy Properties</name>
        <t>Profile privacy properties <bcp14>MUST</bcp14> include:</t>
        <t>artifact_linkability: What linkability is exposed by observing the artifact or presentation, independent of any <tt>continuity_handle</tt> in verifier output. Examples include single-use artifacts whose content does not link presentations, scope-local artifacts linkable only within the same continuity scope, reusable artifacts whose repeated use is linkable, or another profile-defined model.</t>
        <t>scope_binding: How the artifact cryptographically binds the <tt>continuity_handle</tt> to the realm, attestation audience, and purpose defined by this specification.</t>
        <t>holder_binding: Whether the profile is holder-bound, and if so how the artifact is bound to the holder key.</t>
        <t>realm_operator_attestation_audience_visibility: Whether the realm operator learns no attestation audience, the attestation audience at issuance, the attestation audience at redemption, or profile-defined attestation audience information.</t>
        <t>realm_operator_purpose_visibility: Whether the realm operator learns no purpose, the purpose at issuance, the purpose at redemption, or profile-defined purpose information.</t>
        <t>realm_operator_challenge_visibility: Whether the realm operator learns no challenge nonce, the challenge nonce at issuance, the challenge nonce at redemption, or profile-defined challenge nonce information.</t>
        <t>realm_metadata_fetch_visibility: What client information, if any, is revealed while obtaining realm metadata for the profile.</t>
      </section>
      <section anchor="example-profile-categories">
        <name>Example Profile Categories</name>
        <t>This section is informative. It gives examples of companion profile categories for early discussion. These examples are illustrative only; a real profile can combine these patterns.</t>
        <ul spacing="normal">
          <li>
            <t>Unique-human profiles based on accounts or registries. Such a profile would define how a holder proves control of, or membership in, a unique-human account or registry entry. The profile would define how the verifier's origin policy context is mapped to realm, attestation audience, and purpose, how the resulting nullifier or equivalent scope-local value is exposed as <tt>continuity_handle</tt>, and what replay, holder binding, recovery, and privacy properties verifiers can rely on.</t>
          </li>
          <li>
            <t>Proof profiles backed by credentials or certificates. Such a profile would define how a holder proves possession of a qualifying credential, certificate, or attestation signed by the realm operator. The profile would define the artifact format, realm operator trust model, verifier algorithm, revocation handling, holder binding, replay behavior, lifecycle behavior, and derivation of a scoped <tt>continuity_handle</tt>.</t>
          </li>
        </ul>
        <t>Other realm operators, credential systems, proof systems, and issuance ceremonies can define profiles without changing the HTTP fields, policy metadata, realm metadata, or core verifier output model defined here.</t>
      </section>
    </section>
    <section anchor="holder-bound-presentations">
      <name>Holder-Bound Presentations</name>
      <t>A holder-bound profile prevents a stolen artifact from being useful without the holder key. This document uses HTTP Message Signatures <xref target="RFC9421"/> as the request signing mechanism for holder-bound profiles.</t>
      <t>Profiles with reusable artifacts <bcp14>SHOULD</bcp14> be holder-bound when artifact disclosure alone would otherwise enable presentation.</t>
      <t>Holder keys and stable references to them, such as key identifiers or thumbprints, can themselves be linkability handles. Clients <bcp14>MUST</bcp14> use holder keying material scoped no broader than the continuity scope.</t>
      <section anchor="artifact-key-binding">
        <name>Binding the Artifact to the HTTP Message Signature Key</name>
        <t>A holder-bound profile <bcp14>MUST</bcp14> define how the verifier obtains or reconstructs the holder signature verification key.</t>
        <t>For JWT-like artifacts that use JWKs to confirm the holder key, a profile can use a confirmation claim <xref target="RFC7800"/>. If the artifact contains a JWK thumbprint confirmation value, the value <bcp14>MUST</bcp14> be the base64url-encoded SHA-256 JWK Thumbprint <xref target="RFC7638"/> of the holder public key.</t>
        <t>When the client presents a holder-bound artifact, it <bcp14>MUST</bcp14> also attach an HTTP Message Signature. The verifier <bcp14>MUST</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Verify the unique-human artifact according to its profile.</t>
          </li>
          <li>
            <t>Extract the holder signature verification key, key reference, or thumbprint from the artifact according to the profile.</t>
          </li>
          <li>
            <t>Resolve the HTTP Message Signature verification key according to the profile.</t>
          </li>
          <li>
            <t>Verify the HTTP Message Signature using that key.</t>
          </li>
          <li>
            <t>Confirm that the HTTP Message Signature verification key matches the holder binding in the artifact according to the profile.</t>
          </li>
          <li>
            <t>Reject the presentation if any binding check fails.</t>
          </li>
        </ol>
        <t>The <tt>keyid</tt> parameter in <tt>Signature-Input</tt> identifies a key. It does not, by itself, transport the public key or prove that the key is bound to the artifact. A profile <bcp14>MUST</bcp14> define the key resolution and binding procedure. The <tt>keyid</tt> values in this document's examples use the JWK Thumbprint URI form <xref target="RFC9278"/>.</t>
      </section>
      <section anchor="message-signature-requirements">
        <name>HTTP Message Signature Requirements</name>
        <t>For holder-bound profiles, the signature input <bcp14>MUST</bcp14> cover, at minimum:</t>
        <ul spacing="normal">
          <li>
            <t><tt>@method</tt>;</t>
          </li>
          <li>
            <t><tt>@target-uri</tt>; and</t>
          </li>
          <li>
            <t><tt>human-continuity</tt>, using the <tt>sf</tt> component parameter defined by <xref target="RFC9421"/>.</t>
          </li>
        </ul>
        <t>A profile <bcp14>MAY</bcp14> require additional covered components based on request method, request content, or profile semantics.</t>
        <t>If a holder-bound presentation includes Content-Digest <xref target="RFC9530"/>, the signature input <bcp14>MUST</bcp14> cover the <tt>content-digest</tt> component.</t>
        <t>The client <bcp14>MUST</bcp14> attach exactly one signature whose <tt>tag</tt> parameter value is <tt>human-continuity</tt>; that signature's parameters <bcp14>MUST</bcp14> also include <tt>created</tt> and <tt>expires</tt>. Signatures with other <tt>tag</tt> values (<xref section="7.2.7" sectionFormat="of" target="RFC9421"/>) can coexist on the same message; this document places no requirements on them.</t>
        <t>When the selected profile is holder-bound, the verifier <bcp14>MUST</bcp14> select the signature by that <tt>tag</tt> value and apply the binding procedure of <xref target="artifact-key-binding"/> to it. If no signature, or more than one, carries that <tt>tag</tt> value, the verifier <bcp14>MUST</bcp14> reject the presentation. The verifier <bcp14>MUST</bcp14> also reject the presentation if the signature's parameters do not include both <tt>created</tt> and <tt>expires</tt>, or if, beyond the verifier's clock skew allowance (<xref target="freshness-replay"/>), the <tt>created</tt> value is in the future or the <tt>expires</tt> value is in the past. Signature labels carry no semantics and intermediaries can relabel signatures (<xref section="7.2.5" sectionFormat="of" target="RFC9421"/>).</t>
        <t>Profiles <bcp14>MAY</bcp14> require <tt>keyid</tt>, <tt>alg</tt>, <tt>nonce</tt>, or other parameters defined by <xref target="RFC9421"/>. The <tt>nonce</tt> signature parameter provides request-level replay protection only; it does not satisfy the challenge nonce binding requirement of <xref target="freshness-replay"/>.</t>
        <t>Other signing requirements are profile-defined.</t>
      </section>
      <section anchor="freshness-replay">
        <name>Freshness and Replay Model</name>
        <section anchor="profile-contract">
          <name>Profile Contract</name>
          <t>A profile <bcp14>MUST</bcp14> define its challenge nonce binding and replay model.</t>
          <t>The profile <bcp14>MUST</bcp14> state how the nonce is carried, consumed, and verified; whether artifacts and separately generated proofs can be reused under one nonce or regenerated for a new nonce; whether identical request-level presentation material can be accepted more than once; and which replay keys it makes applicable.</t>
          <t>All presentations are challenge-bound. Challenge acceptance mode, artifact reuse, request replay, and per-human policy are separate properties.</t>
        </section>
        <section anchor="challenge-context-and-acceptance">
          <name>Challenge Context and Acceptance</name>
          <t>A presentation <bcp14>MUST</bcp14> prove that the challenge nonce was an input to the profile's issuance or presentation process. A verifier <bcp14>MUST</bcp14> reject it as <tt>invalid</tt> if the nonce is missing, expired, retired, or was not issued for the matching challenge context. An HTTP Message Signature <tt>nonce</tt> alone does not meet this requirement.</t>
          <t>The challenge context is the profile, effective realm, effective attestation audience, purpose, and requested presentation-assurance value if any. Policy metadata independently authorizes each request.</t>
          <t>A verifier <bcp14>MUST</bcp14> assign each nonce a validity interval and <bcp14>MAY</bcp14> retire it early. It can avoid storing the challenge context, acceptance mode, and validity interval per nonce by cryptographically authenticating them within the nonce. Replay protection and early retirement can still require authoritative state.</t>
          <t>At issuance, the verifier <bcp14>MUST</bcp14> bind exactly one acceptance mode to the nonce:</t>
          <t>Single-use acceptance: The challenge replay key applies, so at most one presentation bound to the nonce and context can be accepted. This is at-most-once acceptance, not exactly-once application effects.</t>
          <t>Window acceptance: No challenge replay key applies. Multiple presentations <bcp14>MAY</bcp14> be accepted while the nonce remains valid, subject to profile replay rules. Without another replay key, a captured request can be replayed during that interval.</t>
        </section>
        <section anchor="replay-keys-and-final-acceptance">
          <name>Replay Keys and Final Acceptance</name>
          <t>The challenge replay key is the challenge nonce plus challenge context and <bcp14>MUST NOT</bcp14> vary by artifact, holder key, or signature nonce. A signature nonce replay key is the challenge nonce, challenge context, HTTP Message Signature <tt>nonce</tt>, and holder key thumbprint or profile-defined holder identifier. A profile <bcp14>MAY</bcp14> define other keys but <bcp14>MUST</bcp14> define their scope and applicability.</t>
          <t>After all other validation succeeds and before returning <tt>valid</tt>, a verifier <bcp14>MUST</bcp14> atomically check and record every applicable replay key in authoritative replay state. If a key was already recorded, reject as <tt>invalid</tt>; if the operation cannot complete, return <tt>unverifiable</tt>.</t>
          <t>Replay state, and any nonce state or key material it depends on, <bcp14>MUST</bcp14> remain available until the presentations it governs can no longer be accepted, including configured clock skew. Where replay protection or mutable nonce state applies, replicas <bcp14>MUST</bcp14> share authoritative state. Verifiers <bcp14>SHOULD</bcp14> keep skew small; 60 seconds is <bcp14>RECOMMENDED</bcp14>, and an acceptance interval <bcp14>MUST NOT</bcp14> expand after its replay state is discarded.</t>
        </section>
        <section anchor="security-boundary">
          <name>Security Boundary</name>
          <t>Challenge binding establishes freshness at challenge granularity; replay keys prevent repeated acceptance; per-human policy operates separately on <tt>continuity_handle</tt>. Holder-bound presentations sign the components required by <xref target="message-signature-requirements"/>. This specification defines no equivalent request binding for bearer presentations.</t>
          <t>A validated challenge proves only that the profile used the verifier nonce. Evidence for any requested or asserted presentation-assurance value <bcp14>MUST</bcp14> be bound to the profile, effective realm, effective attestation audience, purpose, and challenge nonce. If the challenge omits presentation-assurance, this document requests no additional presentation assurance.</t>
        </section>
      </section>
      <section anchor="request-content-binding">
        <name>Request Content Binding</name>
        <t>This document does not require Content-Digest on every request with content. If Content-Digest is present on a holder-bound request, the signature input <bcp14>MUST</bcp14> cover the <tt>content-digest</tt> component. A profile <bcp14>MAY</bcp14> require Content-Digest coverage when request content is security-relevant to the attestation decision.</t>
        <t>A request with no content does not require Content-Digest unless a profile explicitly requires a digest of empty content.</t>
        <t>If a request contains content and Content-Digest is not covered by the HTTP Message Signature, the verifier <bcp14>MUST NOT</bcp14> claim that the human-continuity presentation is cryptographically bound to the complete request content.</t>
        <t>For single-endpoint APIs where the application operation is carried in request content, such as GraphQL or RPC over POST, an origin that uses Human-Continuity for operation-specific policy <bcp14>SHOULD</bcp14> select a profile that requires Content-Digest coverage. If the request content is not covered, the verifier <bcp14>MUST NOT</bcp14> claim that the presentation is bound to a specific operation.</t>
      </section>
    </section>
    <section anchor="client-behavior">
      <name>Client Behavior</name>
      <t>A client <bcp14>MAY</bcp14> ignore Human-Continuity-Challenge.</t>
      <t>If a client has no valid policy metadata under which the challenge is authorized (<xref target="metadata-authorization"/>), the client <bcp14>MUST</bcp14> ignore the challenge. The client <bcp14>MUST</bcp14> also ignore the challenge if the purpose value is absent or syntactically invalid. Ignoring a challenge means that the client does not obtain or present a unique-human artifact based on that inline value. This does not require the underlying HTTP request or interaction to fail.</t>
      <t>A client presents only in response to Human-Continuity-Challenge: the concrete purpose, the profile alternatives, the challenge nonce, and any requested presentation-assurance value are carried by the challenge and validated against policy metadata (<xref target="metadata-authorization"/>). The normal flow is to make the request, receive Human-Continuity-Challenge, and retry according to origin policy. This governs presentation timing only; a client can hold pre-existing profile enrollment state or reusable artifacts unless the selected profile says otherwise.</t>
      <t>If the selected profile permits artifact reuse, a client <bcp14>MAY</bcp14> retain an artifact bound to a challenge nonce and attempt to use it on subsequent requests matching the challenge context while that nonce remains valid (<xref target="freshness-replay"/>). If the profile permits reuse of the same presentation material, the client <bcp14>MAY</bcp14> retain and resend it. Repeat acceptance requires window acceptance and compliance with the profile's replay rules. When the verifier stops accepting the nonce, it can issue a new Human-Continuity-Challenge, and the client obtains a presentation bound to the new nonce and retries.</t>
      <t>Obtaining a presentation can be expensive: profile issuance or presentation ceremonies can involve realm operator interaction, proof generation, or human interaction. A client <bcp14>SHOULD</bcp14> bound and back off artifact regeneration when presentations for a request context are repeatedly rejected or repeatedly re-challenged.</t>
      <t>A client that chooses to use this protocol <bcp14>MUST</bcp14>:</t>
      <ul spacing="normal">
        <li>
          <t>parse fields according to <xref target="RFC9651"/>;</t>
        </li>
        <li>
          <t>determine the effective policy identifier, effective realm, effective attestation audience, and purpose according to <xref target="effective-values"/> and <xref target="policy-metadata-section"/>;</t>
        </li>
        <li>
          <t>verify that the challenge or presentation is authorized by policy metadata (<xref target="metadata-authorization"/>);</t>
        </li>
        <li>
          <t>ensure that inline fields do not expand trust beyond metadata;</t>
        </li>
        <li>
          <t>obtain or select an artifact appropriate for the profile, effective realm, effective attestation audience, and purpose;</t>
        </li>
        <li>
          <t>ensure that any selected presentation-assurance value requested by Human-Continuity-Challenge is authorized by policy metadata;</t>
        </li>
        <li>
          <t>ensure that any asserted presentation-assurance value is supported by the selected profile, can be satisfied for the presentation, and either matches the requested value, is defined by the selected profile as satisfying that requested value, or, when no requested value is being satisfied, is itself authorized by policy metadata;</t>
        </li>
        <li>
          <t>present the artifact only for the effective realm, effective attestation audience, and purpose for which it is valid;</t>
        </li>
        <li>
          <t>attach an HTTP Message Signature satisfying <xref target="message-signature-requirements"/> when the selected profile is holder-bound; and</t>
        </li>
        <li>
          <t>avoid exposing artifacts, holder keys, signature material, or bearer-like material to untrusted code, prompt transcripts, logs, shell history, or user-visible text.</t>
        </li>
      </ul>
      <t>Clients <bcp14>SHOULD</bcp14> store persistent holder keys in platform credential storage when available. Browser clients using persistent holder-bound keys <bcp14>SHOULD</bcp14> use non-extractable key material, such as non-extractable WebCrypto CryptoKey objects, rather than exportable key material.</t>
    </section>
    <section anchor="verifier-behavior">
      <name>Verifier Behavior</name>
      <t>A verifier that receives Human-Continuity <bcp14>MUST</bcp14> parse it according to <xref target="human-continuity-field"/> and <bcp14>MUST NOT</bcp14> use an invalid Human-Continuity signal as a valid presentation.</t>
      <t>If parsing succeeds, the verifier <bcp14>MUST</bcp14>:</t>
      <ol spacing="normal" type="1"><li>
          <t>Determine the request method and effective policy identifier from the request according to <xref target="policy-selection"/>.</t>
        </li>
        <li>
          <t>Determine the selected profile, purpose, and selected presentation-assurance value, if any, from the parsed Human-Continuity field.</t>
        </li>
        <li>
          <t>Determine the effective realm and effective attestation audience according to <xref target="effective-values"/>.</t>
        </li>
        <li>
          <t>If the selected profile is supported, verify the artifact according to that profile before using the presentation for policy.</t>
        </li>
      </ol>
      <t>The verifier <bcp14>MUST NOT</bcp14> treat the presentation as valid unless all of the following hold:</t>
      <ul spacing="normal">
        <li>
          <t>the presentation is authorized by policy metadata (<xref target="metadata-authorization"/>);</t>
        </li>
        <li>
          <t>the verifier supports the selected profile;</t>
        </li>
        <li>
          <t>the purpose value is present, syntactically valid, and accepted by origin policy for the request;</t>
        </li>
        <li>
          <t>the presentation contains profile-verifiable evidence for a challenge nonce the verifier issued for the matching challenge context and still accepts (<xref target="freshness-replay"/>);</t>
        </li>
        <li>
          <t>the selected profile verifies that the artifact is bound to the effective realm, effective attestation audience, and purpose.</t>
        </li>
      </ul>
      <t>A verifier <bcp14>MUST</bcp14> accept a presentation only for the challenge context it issued. The profile, effective realm, effective attestation audience, purpose, requested presentation-assurance value, and challenge nonce <bcp14>MUST</bcp14> match the challenge, and policy metadata <bcp14>MUST</bcp14> authorize the current request.</t>
      <t>If Human-Continuity-Challenge requested presentation-assurance, the verifier <bcp14>MUST</bcp14> reject the presentation unless the selected profile verifies the required evidence. The evidence <bcp14>MUST</bcp14> be present, fresh, bound to the same profile, effective realm, effective attestation audience, purpose, and challenge nonce, and satisfy the selected profile's verification rules.</t>
      <t>If Human-Continuity asserts presentation-assurance that the challenge did not request, the verifier <bcp14>MUST</bcp14> apply the selected profile's evidence, freshness, and replay rules for that value. The verifier <bcp14>MUST NOT</bcp14> accept the asserted assurance unless the required profile-defined evidence is present and valid.</t>
      <t>A verifier <bcp14>MUST</bcp14> enforce the constraints of the selected purpose entry, including the selected profile and presentation-assurance value if any. The verifier <bcp14>MUST NOT</bcp14> accept a presentation merely because it produces a valid <tt>continuity_handle</tt> for the same continuity scope.</t>
      <t>A verifier output has one of the following top-level states:</t>
      <t>valid: The artifact and all required presentation proofs are valid, and the verifier has produced a <tt>continuity_handle</tt> for the selected continuity scope.</t>
      <t>invalid: The artifact or presentation proof is malformed, expired, revoked, bound to a different realm, attestation audience, or purpose, bound to a challenge nonce the verifier did not issue or no longer accepts, fails to produce a required <tt>continuity_handle</tt> or requested or asserted presentation-assurance evidence, reuses an applicable replay key, or otherwise fails profile validation.</t>
      <t>unverifiable: The verifier lacks fresh enough metadata, does not support the profile, does not trust the realm, lacks verification material, cannot access required authoritative challenge or replay state, or otherwise cannot complete validation.</t>
      <t>This document does not require an origin to fail a request when a human-continuity presentation is missing, invalid, or unverifiable. Origin policy is out of scope.</t>
      <t>A successful verification result for a conforming profile <bcp14>MUST</bcp14> include at least:</t>
      <ul spacing="normal">
        <li>
          <t>state;</t>
        </li>
        <li>
          <t>profile;</t>
        </li>
        <li>
          <t>realm;</t>
        </li>
        <li>
          <t>attestation_audience;</t>
        </li>
        <li>
          <t>purpose; and</t>
        </li>
        <li>
          <t><tt>continuity_handle</tt>.</t>
        </li>
      </ul>
      <t>When a verifier accepts a presentation for which presentation-assurance was requested or asserted, the successful verification result <bcp14>MUST</bcp14> include the verified presentation-assurance value. The result <bcp14>MAY</bcp14> include additional profile-defined assurance details, such as method, freshness time, or assurance level, provided those details do not violate the selected profile's privacy properties.</t>
      <t>An example of one possible JSON representation:</t>
      <sourcecode type="json"><![CDATA[
{
  "state": "valid",
  "profile": "com.example.unique-human.v1",
  "realm": "https://realm.example",
  "policy_identifier": "signup",
  "attestation_audience": "https://service.example",
  "purpose": "free_tier_signup",
  "continuity_handle": "opaque-scope-local-value",
  "presentation_assurance": "subject-present"
}
]]></sourcecode>
      <t>A successful verification <bcp14>MAY</bcp14> include additional profile-defined attributes.</t>
      <t>A verifier <bcp14>MUST NOT</bcp14> use a valid/invalid attestation result alone to enforce policy decisions that depend on attributing presentations to the same human. For those decisions, it <bcp14>MUST</bcp14> use the profile-defined <tt>continuity_handle</tt>, scoped by realm, attestation audience, and purpose.</t>
      <t>A <tt>continuity_handle</tt> is not an authenticator. A verifier <bcp14>MUST NOT</bcp14> use a <tt>continuity_handle</tt>, or equality with a previously stored <tt>continuity_handle</tt> value or derivative, as the sole basis for authenticating a request, granting account access, or proving control of an account. A verifier <bcp14>MAY</bcp14> use a <tt>continuity_handle</tt> as an input to origin policy after applying the origin's native authentication, authorization, or account recovery rules.</t>
      <t>A verifier output <bcp14>MAY</bcp14> include profile-defined or implementation-defined diagnostic information describing why a presentation was invalid or unverifiable. Where an origin surfaces such a reason in an HTTP response, one possible representation is Problem Details <xref target="RFC9457"/>.</t>
    </section>
    <section anchor="caching-and-intermediaries">
      <name>Caching and Intermediaries</name>
      <t>When human continuity affects whether a request is served, throttled, challenged, or rejected, the component that makes that decision <bcp14>MUST</bcp14> have access to the presentation or to a verifier-derived classification. When shared caches or CDNs are used, origins <bcp14>MUST</bcp14> ensure that cached responses cannot bypass the intended human-continuity policy under HTTP caching semantics <xref target="RFC9111"/>.</t>
      <t>If the selected representation depends on the raw Human-Continuity field value, the origin <bcp14>MUST</bcp14> send:</t>
      <sourcecode type="http-message"><![CDATA[
Vary: Human-Continuity
]]></sourcecode>
      <t>Vary addresses cache correctness only. It keys cache entries on the raw field value and cannot capture Signature-Input, Signature, or verifier validity state; it stores presented artifact values as shared cache keys and fragments cache entries when presentations contain dynamic signature parameters. Origins <bcp14>MUST NOT</bcp14> use Vary: Human-Continuity as a validity gate.</t>
      <t>When request handling, the selected representation, the status code, or challenge behavior depends on whether a presentation is present or valid, the origin <bcp14>SHOULD</bcp14> verify the presentation at or before the shared cache and key cached responses on the verifier classification, or mark the affected responses private or no-store. Origins <bcp14>MUST</bcp14> ensure, through response directives or cache configuration, that a cached response is not reused for a request with a different human-continuity state, unless bypassing origin-side human-continuity policy is acceptable for that response.</t>
      <t>Responses containing Human-Continuity-Challenge <bcp14>SHOULD</bcp14> use Cache-Control: no-store. A challenge stored by a shared cache can deliver the same challenge nonce to many clients.</t>
    </section>
    <section anchor="browser-and-cors-considerations">
      <name>Browser and CORS Considerations</name>
      <t>Browser JavaScript clients require origins to expose response fields and allow request fields through CORS.</t>
      <t>Actual resource responses that carry Human-Continuity-Challenge need to expose that response field to browser script:</t>
      <sourcecode type="http-message"><![CDATA[
Access-Control-Expose-Headers: Human-Continuity-Challenge
]]></sourcecode>
      <t>CORS preflight responses need to allow the actual request's method and fields:</t>
      <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Access-Control-Allow-Methods: GET, POST
Access-Control-Allow-Headers: Human-Continuity, Signature-Input, \
  Signature, Content-Digest
]]></sourcecode>
      <t>Human-Continuity-Challenge can appear on successful responses as well as error responses. Browser clients that use this protocol need to read it on any response for which CORS exposure permits access.</t>
      <t>Exposing Human-Continuity-Challenge to browser script exposes any challenge nonce to that script context. Challenge nonces are replay protection inputs, and implementations <bcp14>MUST NOT</bcp14> rely on their confidentiality for security. However, browser clients <bcp14>SHOULD</bcp14> perform artifact selection, use of holder keys, and presentation signing in trusted code paths and <bcp14>SHOULD</bcp14> avoid exposing those capabilities to untrusted third-party scripts, injected scripts, or broadly authorized cross-origin callers. XSS or script compromise in a context that can access holder keys or presentation APIs enables unauthorized credential use in this protocol.</t>
      <t>This document does not use the Sec- prefix for any field. The protocol does not rely on browser-reserved field names: clients generate Human-Continuity according to policy, and origins expose Human-Continuity-Challenge through ordinary HTTP and CORS controls.</t>
      <t>Because these fields are ordinary extension-defined HTTP fields, generic user agents, intermediaries, logging systems, and tracing systems will not treat them as sensitive by default.</t>
    </section>
    <section anchor="status-codes">
      <name>Status Codes and Error Responses</name>
      <t>An origin <bcp14>MUST NOT</bcp14> use 401 solely to request human continuity under this protocol. A 401 response is reserved for HTTP authentication challenges and requires WWW-Authenticate <xref target="RFC9110"/>.</t>
      <t>A proxy <bcp14>MUST NOT</bcp14> use 407 for this mechanism. A 407 response is reserved for proxy authentication and requires Proxy-Authenticate <xref target="RFC9110"/>.</t>
      <t>Origins <bcp14>MAY</bcp14> use 403, 409, 422, 429, or another status code appropriate to origin policy when issuing a Human-Continuity-Challenge. Problem Details <xref target="RFC9457"/> can be used to describe the origin policy error, but is not required by this document.</t>
      <t>A Human-Continuity-Challenge received on a 3xx response applies to the request that generated that response, not to the redirect target. A client that follows a redirect <bcp14>MUST NOT</bcp14> send the Human-Continuity, Signature-Input, or Signature field values generated for the original target URI on the redirected request. The client <bcp14>MUST</bcp14> perform policy selection, effective value determination, artifact selection, and signing for the redirect target as a new request under the redirect target's canonical HTTPS origin and policy metadata.</t>
    </section>
    <section anchor="header-size-and-artifact-size">
      <name>Header Size and Artifact Size</name>
      <t>This protocol carries artifacts in HTTP fields. Many origins, frameworks, CDNs, gateways, and proxies enforce limits on request header size. Large artifacts can trigger 431 Request Header Fields Too Large or intermediary-specific failures.</t>
      <t>max_artifact_size_issued refers to the serialized artifact value as carried in the Human-Continuity field, after any base64, base64url, or Structured Field Byte Sequence encoding has been applied.</t>
      <t>The value excludes the HTTP field name and unrelated field parameters, but includes any delimiters required by the artifact's Structured Field item encoding.</t>
      <t>This limit does not guarantee that every intermediary on the request path will accept the complete HTTP field section. Origins <bcp14>SHOULD</bcp14> choose conservative values when deployed behind intermediaries with smaller header limits.</t>
      <t>Profiles intended for broad HTTP deployment <bcp14>SHOULD</bcp14> keep artifacts small enough to fit within commonly deployed origin, framework, and intermediary field section limits. A profile whose proof objects are expected to exceed those limits <bcp14>SHOULD</bcp14> define a compact presentation form, such as a profile-defined exchange token, compact envelope, detached proof reference, or presentation endpoint, rather than requiring raw proof objects to be carried directly in the Human-Continuity field.</t>
      <t>A profile that uses a compact envelope, reference artifact, exchange token, or presentation endpoint <bcp14>MUST</bcp14> define how that presentation form is cryptographically or operationally bound to the realm, attestation audience, and purpose, how it satisfies the profile's holder binding requirements and replay model, and how it produces the verifier output required by this specification.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>A <tt>continuity_handle</tt> is intentionally linkable within its continuity scope. This scoped linkability lets origins attribute repeated participation to the same human for purposes authorized by policy metadata. The privacy goal of this specification is unlinkability across different continuity scopes.</t>
      <t>Cross-scope unlinkability is a property of the selected profile and realm operator behavior, not of the HTTP transport defined by this document. The core protocol cannot prevent realm operators from colluding, sharing handle derivation material, or intentionally issuing correlatable artifacts. A profile that claims unlinkability across continuity scopes <bcp14>MUST</bcp14> state its realm operator non-collusion, key separation, and compromise assumptions.</t>
      <t>Continuity handles are not intended to reveal a user's real-world identity or account identity. A conforming profile <bcp14>MUST</bcp14> make <tt>continuity_handle</tt> values infeasible to reverse, enumerate, or correlate outside their continuity scope. However, a <tt>continuity_handle</tt> can still single out the same human within a scope and may be personal data or a regulated identifier for some origins. Verifiers <bcp14>SHOULD</bcp14> define retention, deletion, and access control policies for stored <tt>continuity_handle</tt> values and verifier-local derivatives.</t>
      <t>Profiles <bcp14>MUST NOT</bcp14> expose a global human identifier. Origins <bcp14>SHOULD</bcp14> request or accept human-continuity presentations only for the narrowest purpose that satisfies their declared policy.</t>
      <t>Conforming profiles <bcp14>MUST NOT</bcp14> produce correlatable <tt>continuity_handle</tt> values for different continuity scopes under their stated security and privacy assumptions. Verifiers <bcp14>MUST NOT</bcp14> compare <tt>continuity_handle</tt> values across different continuity scopes.</t>
      <t>The purpose value is privacy-sensitive because it defines the verifier's linkability set. Audience alone is often too coarse: a signup, comment, promotion claim, support request, API quota, and agent delegation can require different <tt>continuity_handle</tt> values for the same verifier. Verifiers <bcp14>SHOULD</bcp14> use separate purpose values for separate business contexts unless origin policy deliberately requires grouping them.</t>
      <t>Purpose templates are privacy-sensitive because they authorize many concrete linkability scopes. Concrete purposes authorized by a purpose template <bcp14>SHOULD</bcp14> be tied to stable origin policy units and <bcp14>SHOULD NOT</bcp14> encode per-client or per-request tracking material.</t>
      <t>Origins <bcp14>SHOULD</bcp14> provide user awareness appropriate to the breadth, lifetime, and sensitivity of the continuity scope. Broader scopes, longer-lived <tt>continuity_handle</tt> values, and recovery or device continuity mechanisms can require stronger user-facing controls. This document does not define the user interaction model.</t>
      <t>A profile might reveal information to the realm operator during issuance, such as requested attestation audience, purpose, profile, challenge nonce, holder key thumbprint, issuance time, or user consent state. A profile might reveal information to the realm operator during redemption, if it requires online redemption. Each profile <bcp14>MUST</bcp14> document these realm visibility properties (<xref target="privacy-properties"/>).</t>
      <t>The discovery fetches defined by this protocol are observable before any presentation. A policy metadata fetch tells the contacted origin that the client is evaluating human continuity for that origin, but does not by itself disclose activity at other origins. An on-demand realm metadata fetch (<xref target="realm-metadata-section"/>) tells the realm operator the client's IP address and fetch timing, even for profiles that otherwise reveal nothing to the realm operator at presentation time. Cached or configured metadata (<xref target="metadata-precedence"/>), or profile-defined realm metadata retrieval, can decouple that observation from presentation intent. Profiles and origins that rely on realm operator non-observation at presentation time <bcp14>SHOULD</bcp14> account for this channel.</t>
      <t>A scoped <tt>continuity_handle</tt> does not make the whole HTTP request unlinkable outside the profile's cryptographic design. Origins can still observe IP address, cookies, native authorization, TLS properties, client behavior, user-agent information, application identifiers, and timing.</t>
      <t>Clients and origins <bcp14>SHOULD</bcp14> treat artifacts, <tt>continuity_handle</tt> values, and signature material as sensitive. They can reveal linkability information or permit abuse if leaked, depending on profile semantics.</t>
      <t>Verifiers <bcp14>SHOULD</bcp14> avoid logging raw <tt>continuity_handle</tt> values. When storing <tt>continuity_handle</tt> values persistently, verifiers <bcp14>SHOULD</bcp14> use a verifier-local protected derivative, such as a keyed hash over the continuity scope and <tt>continuity_handle</tt>, when operationally feasible.</t>
      <section anchor="privacy-threats">
        <name>Privacy Threats</name>
        <t>This section relates the protocol to the privacy threats in <xref section="5" sectionFormat="of" target="RFC6973"/>, concentrating on those a human-continuity mechanism raises most directly. In each, the continuity scope (<xref target="effective-values"/>) is the boundary that contains the threat, and the requirements stated earlier in this section are the floors that constrain it. The threats of stored data compromise and disclosure described in <xref target="RFC6973"/> apply to artifacts, signature material, and stored <tt>continuity_handle</tt> values as sensitive data and are treated under <xref target="security-considerations"/>.</t>
        <t>Surveillance (<xref section="5.1.1" sectionFormat="of" target="RFC6973"/>): A realm operator can observe issuance, and online redemption where a profile requires it; a verifier observes the presentations made to it. A verifier learns a <tt>continuity_handle</tt> only within the continuity scopes it requests, and what a realm operator learns is made auditable by the per-profile realm visibility documentation required above. The protocol does not, however, prevent a single realm operator from observing issuance across the scopes it serves, nor realm operators from colluding, as noted above; nor does it conceal the request metadata any HTTP server already sees, such as IP address, cookies, and TLS properties.</t>
        <t>Correlation (<xref section="5.2.1" sectionFormat="of" target="RFC6973"/>): A <tt>continuity_handle</tt> is deliberately correlatable within one continuity scope; that scoped linkability is the mechanism's function. Correlation across scopes is the threat this specification is built to prevent, through profiles that do not produce correlatable handles for different scopes and verifiers that do not compare handles across scopes. Because a scope is <tt>(effective realm, effective attestation audience, purpose)</tt>, purpose granularity is the principal correlation control: a broad or shared purpose enlarges the set within which the same human is detected, which is why origins are directed to the narrowest purpose and to distinct purposes for distinct contexts. Linkability that does not derive from the handle, such as a shared IP address or account, lies outside the protocol's cryptographic guarantees.</t>
        <t>Identification (<xref section="5.2.2" sectionFormat="of" target="RFC6973"/>): A <tt>continuity_handle</tt> is a scope-local pseudonym. Profiles expose no global human identifier, and handles are infeasible to reverse or enumerate outside their scope, so the protocol does not by itself tie a handle to a real-world or account identity. Within a scope a handle still singles out the same human and can be personal data; an origin that joins it to identifying data it already holds performs that identification, which the retention, deletion, and access control guidance above is meant to constrain.</t>
        <t>Secondary use (<xref section="5.2.3" sectionFormat="of" target="RFC6973"/>): Purpose binds each artifact and <tt>continuity_handle</tt> to the context it was authorized for, and policy metadata makes that context visible and auditable. Linking the same human under a different purpose is a different continuity scope, which conforming profiles keep uncorrelatable and verifiers do not bridge; carrying stable business contexts rather than tracking material in purpose values keeps the use that is authorized aligned with the use that occurs.</t>
      </section>
      <section anchor="exclusion-accessibility-and-coercion">
        <name>Exclusion, Accessibility, and Coercion</name>
        <t>Conditioning access to a service on a human-continuity presentation excludes humans who cannot present. A human may have no access to any realm the origin's policy authorizes, they may lack a required device, or be unable to complete the issuance ceremony. Client participation is voluntary, and this document does not guarantee that requests backed by human continuity receive different service treatment; making a presentation a precondition for service is an origin policy choice that the protocol neither requires nor defines.</t>
        <t>Origins <bcp14>SHOULD</bcp14> offer an alternative path to the service for humans who cannot or choose not to present, consistent with the guidance to request <tt>Human-Continuity</tt> only where human continuity is required (<xref target="applicability"/>). Where no alternative is offered, the origin <bcp14>SHOULD</bcp14> make the requirement, and the realms it accepts, transparent so that an affected human can understand the basis for exclusion. Conditioning service on presentation can also pressure a human into an issuance ceremony, and the enrollment or identification it entails, that they would otherwise decline; the more sensitive the ceremony, such as one involving biometric enrollment, the stronger this concern.</t>
        <t>Because the holder that presents an artifact can be a client or agent acting for a human, the HTTP presentation mechanism does not assume direct human interaction and is compatible with assistive technology and delegated agents. Exclusion risk therefore concentrates in issuance and in any subject participation a profile's presentation-assurance requires (<xref target="presentation-assurance"/>); profiles document the accessibility constraints of obtaining an artifact (<xref target="profile-requirements"/>), so an origin can assess which humans the operator of an authorized realm can reach.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>RFC Editor: Please remove this section and the reference to <xref target="RFC7942"/> before publication.</t>
      <t>This section records the implementation status of this specification in accordance with <xref target="RFC7942"/>. It is intended to inform IETF review and working group discussion. The information has not been independently verified, and listing or omitting an implementation does not imply IETF endorsement.</t>
      <t>As of this -00 version, no complete end-to-end implementation of this HTTP extension or interoperability report for this specification is known to the editor. Existing unique-human systems may inform future companion profiles, but this document defines no initial profile and does not report any deployment as implementing this specification end to end.</t>
      <t>The example artifacts in this document are implementation aids and are not reported as running implementations.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security depends on clients and verifiers enforcing metadata policy, choosing narrow continuity scopes, preventing disclosure of artifacts and signature material, and preventing unauthorized use of holder keys.</t>
      <t>Artifact and signature disclosure: Human-Continuity fields, Signature-Input, Signature, and derived verifier output can be sensitive even when they are not authentication credentials. Ordinary HTTP infrastructure may log, trace, sample, or inspect extension-defined fields by default. Origins <bcp14>SHOULD</bcp14> configure redaction or use profiles whose artifacts and signatures are safe under the expected exposure.</t>
      <t>Holder key compromise: If a holder key and its bound artifact are compromised, an attacker can create holder-bound presentations only while the verifier accepts the artifact's challenge nonce and the artifact remains valid. Profiles <bcp14>SHOULD</bcp14> define holder key rotation and how compromise invalidates keys, artifacts, or outstanding challenges.</t>
      <t>Request binding: Holder signatures cover <tt>@method</tt>, <tt>@target-uri</tt>, and Human-Continuity. This specification defines no equivalent binding for bearer presentations.</t>
      <t>Authenticated principals: The challenge context and mandatory signature coverage do not bind a presentation to Authorization, a session, or an application principal. Before linking a <tt>continuity_handle</tt> to a principal, an origin <bcp14>SHOULD</bcp14> either record that principal with the challenge nonce and require the same principal on presentation, or require signature coverage of the request fields used for authentication (<xref target="verifier-behavior"/>). Single-use acceptance limits replay but does not provide principal binding (<xref target="freshness-replay"/>).</t>
      <t>State exhaustion: Required replay and mutable nonce state <bcp14>MUST</bcp14> remain available through its retention deadline. Capacity, partition, or backend failures <bcp14>MUST</bcp14> fail closed as <tt>unverifiable</tt>. Verifiers <bcp14>SHOULD</bcp14> bound lifetimes, rate-limit issuance and verification, and provision replay storage for their acceptance modes.</t>
      <t>Origin, method, and purpose confusion: Clients <bcp14>MUST</bcp14> verify that challenges and presentations are authorized by policy metadata for the request (<xref target="metadata-authorization"/>), including any presentation-assurance value. Clients <bcp14>MUST NOT</bcp14> infer cross-origin delegation, realm selection, attestation audience selection, purpose authorization, profile support, or presentation-assurance support from inline fields.</t>
      <t>Policy mapping confusion: The effective policy identifier is derived from the request method, request URI, and policy metadata. Clients and verifiers <bcp14>MUST</bcp14> implement the same matching algorithm. Origins using reverse proxies, request rewriting, routing normalization, or framework-level path normalization <bcp14>MUST</bcp14> ensure that the verifier computes the effective policy identifier from the externally visible request method and URI used by clients.</t>
      <t>Selector overlap: Path patterns can create policy overlap. This specification resolves overlap by first checking for an exact path match under the request method. If no exact path match exists, it considers subtree patterns that match both the request path and request method, then chooses the most specific matching subtree pattern, which is unique because selector member names are unique within one method. A selector for one method does not shadow a less-specific selector for another method. Clients and verifiers <bcp14>MUST NOT</bcp14> fall back to a less-specific policy after selecting a policy that does not authorize the request's concrete purpose, profile, effective realm, or presentation-assurance value.</t>
      <t>Path normalization: Clients and verifiers <bcp14>MUST NOT</bcp14> apply percent-decoding equivalence, dot-segment normalization, path case folding, Unicode normalization, framework route matching, filesystem path normalization, or query string matching when selecting a policy identifier. A request path containing dot-segments <bcp14>MUST NOT</bcp14> match a policy selector or default policy selector under this protocol. Clients and verifiers <bcp14>MUST NOT</bcp14> accept Human-Continuity-Challenge or Human-Continuity for such a request unless a future extension defines safe normalization semantics. Origins using policy_selectors or default_policy_selectors <bcp14>SHOULD</bcp14> reject requests whose externally visible path contains dot-segments.</t>
      <t>Default policy selectors: Default policy selectors are broad policy selectors. Origins <bcp14>SHOULD</bcp14> prefer explicit policy selectors. A default policy selector can cause requests not matched by a policy selector for the request method to authorize purposes or profiles that were intended only for a narrower part of the origin. An origin can exclude a path and method from a broader default policy selector or less-specific subtree pattern by mapping it to a policy whose purposes object is empty; such a policy authorizes nothing and fails closed.</t>
      <t>Because matching is exact, path forms that differ only by a trailing slash, such as <tt>"/x"</tt> and <tt>"/x/"</tt>, are distinct paths under <xref target="RFC3986"/> and can select different policy identifiers. Method forms that differ by case are also distinct. A request that has no matching policy selector for its method uses default_policy_selectors, if any, rather than an implicit origin-level fallback. Origins applying request-scoped policy <bcp14>SHOULD</bcp14> cover every protected path in all served forms, by registering each form or by using valid subtree patterns. Origins trying to cover all paths for a method <bcp14>SHOULD</bcp14> use default_policy_selectors for that method, and <bcp14>SHOULD</bcp14> list every method for which that policy is intended.</t>
      <t>Header injection and stripping: Intermediaries or compromised components might add, remove, or modify human-continuity fields. Inline fields do not select the effective policy identifier, effective realm, or effective attestation audience, and they do not broaden authorized purposes, profile choices, or presentation-assurance values authorized by policy metadata. Holder-bound presentations cover Human-Continuity in the HTTP Message Signature (<xref target="message-signature-requirements"/>).</t>
      <t>Signature coverage: HTTP Message Signatures protect only covered components. If a component is not covered, a verifier <bcp14>MUST NOT</bcp14> claim that the presentation is bound to that component.</t>
      <t>Request content: If Content-Digest is present on a holder-bound request, the signature input <bcp14>MUST</bcp14> cover the <tt>content-digest</tt> component. If request content matters to the attestation decision, the applicable profile <bcp14>SHOULD</bcp14> require Content-Digest coverage.</t>
      <t>Metadata fetching: Realm origins and other URLs obtained from fetched metadata are untrusted and are subject to the destination-validation and credential-handling requirements in <xref target="metadata-precedence"/>.</t>
      <t>Metadata freshness: Stale metadata can cause clients or verifiers to use retired realms, verification material, trust anchors, profiles, or policies. Profiles and origins <bcp14>SHOULD</bcp14> define metadata freshness and refresh behavior. Origins <bcp14>SHOULD</bcp14> send explicit freshness directives, such as Cache-Control with max-age, on policy metadata responses, on the 404 or 410 responses that establish policy absence, and on realm metadata responses. Clients <bcp14>SHOULD NOT</bcp14> apply heuristic caching to these documents; absent explicit freshness directives, a client <bcp14>SHOULD</bcp14> revalidate before relying on them.</t>
      <t>Realm operator trust material compromise and rotation: Compromise of realm operator trust material can allow forged artifacts or false <tt>continuity_handle</tt> values. This risk applies to every form of verification material and trust anchor a profile uses, including keys, circuits, contracts, ledger state, accumulator roots, and transparency logs. The lifecycle requirements for verification material in <xref target="profile-requirements"/>, together with profile-defined revocation or invalidation behavior where applicable, bound the exposure window.</t>
      <t>Browser holder keys: Non-extractable browser key material can reduce key export risk, but it does not prevent use of the key by compromised same-origin script. In browser clients, XSS, malicious dependencies, or other same-origin script compromise can therefore permit unauthorized holder key use even when the private key is not extractable.</t>
      <t>Logging and transcripts: Implementations used by agents, model-facing tools, or developer environments <bcp14>SHOULD</bcp14> attach artifacts in trusted transport code and redact the Human-Continuity, Signature-Input, and Signature fields, verifier outputs containing <tt>continuity_handle</tt> values, and related holder key material from logs and transcripts by default.</t>
      <t>Header size denial of service: Very large artifacts can consume parser memory or trigger header processing failures. Origins <bcp14>SHOULD</bcp14> enforce size limits before expensive verification.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="http-field-name-registrations">
        <name>HTTP Field Name Registrations</name>
        <t>IANA is requested to register the following fields in the "Hypertext Transfer Protocol (HTTP) Field Name Registry" defined by <xref target="RFC9110"/>. The "Structured Type" column is defined by <xref target="RFC9651"/>.</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>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Human-Continuity-Challenge</td>
              <td align="left">permanent</td>
              <td align="left">List</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">Human-Continuity</td>
              <td align="left">permanent</td>
              <td align="left">Item</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="well-known-uri-registrations">
        <name>Well-Known URI Registrations</name>
        <t>IANA is requested to register the following well-known URIs in the "Well-Known URIs" registry <xref target="RFC8615"/>.</t>
        <t>This document uses separate well-known URI suffixes for policy metadata and realm metadata because the policy authority and the realm operator are not necessarily the same party. Policy metadata is authoritative for default policy selectors, policy selectors, accepted purposes, accepted profiles, presentation-assurance values, and effective realms at the origin and its policies. Realm metadata is authoritative for the realm operator's capabilities and verification material. If the same origin acts as both policy authority and realm operator, it <bcp14>MAY</bcp14> serve both metadata documents from that origin.</t>
        <table>
          <thead>
            <tr>
              <th align="left">URI Suffix</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document</th>
              <th align="left">Status</th>
              <th align="left">Related Information</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">human-continuity</td>
              <td align="left">IETF</td>
              <td align="left">This document</td>
              <td align="left">permanent</td>
              <td align="left">Policy metadata for Human Continuity for HTTP</td>
            </tr>
            <tr>
              <td align="left">human-continuity-realm</td>
              <td align="left">IETF</td>
              <td align="left">This document</td>
              <td align="left">permanent</td>
              <td align="left">Realm metadata for Human Continuity for HTTP</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="assurance-registry">
        <name>Human-Continuity Presentation Assurance Value Registry</name>
        <t>IANA is requested to create the Human-Continuity Presentation Assurance Value registry.</t>
        <t>Registered values use the presentation-assurance value syntax defined in <xref target="presentation-assurance"/> and <bcp14>SHOULD</bcp14> be short enough for practical use in HTTP fields.</t>
        <t>Registration policy: Expert Review <xref target="RFC8126"/>.</t>
        <t>The designated experts are instructed to approve a registration when the value's intent is clearly described and distinct from existing entries, and the value is intended for use across more than one profile; values specific to a single profile use author-controlled names as described in <xref target="presentation-assurance"/> and are not registered. The experts <bcp14>MAY</bcp14> require a stable, publicly available definition of the value's general intent. The experts assess only distinctness and clarity of intent: registration does not constitute endorsement of any verification mechanism and does not establish cross-profile equivalence, and the equivalence rules in <xref target="presentation-assurance"/> apply to registered and unregistered values alike. The registry is expected to grow slowly.</t>
        <t>Registration requests <bcp14>MUST</bcp14> include:</t>
        <ul spacing="normal">
          <li>
            <t>presentation-assurance value;</t>
          </li>
          <li>
            <t>description;</t>
          </li>
          <li>
            <t>specification reference; and</t>
          </li>
          <li>
            <t>change controller.</t>
          </li>
        </ul>
        <t>The registry records shared presentation-assurance labels and their general intent only. The definitions in <xref target="presentation-assurance"/> are authoritative for the values registered by this document, and how a value is satisfied for a given profile is defined by that profile as required by <xref target="presentation-assurance"/>. Registration status is not consulted by clients or verifiers at runtime.</t>
        <t>Initial values:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">human-approved</td>
              <td align="left">A human approved the presentation, either individually or through standing consent.</td>
              <td align="left">IETF</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">human-verified</td>
              <td align="left">A human completed a user verification interaction when the evidence was generated.</td>
              <td align="left">IETF</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">subject-present</td>
              <td align="left">The human subject claimed as unique participated when the evidence was generated.</td>
              <td align="left">IETF</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <section anchor="challenge-reuse-for-a-request-scoped-policy">
        <name>Challenge Reuse for a Request-Scoped Policy</name>
        <t>For a GET request to:</t>
        <sourcecode type="text"><![CDATA[
https://service.example/api/quota
]]></sourcecode>
        <t>The origin challenges on the response to the first request:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
Cache-Control: no-store
Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="api_quota_group"; \
  challenge=:u5ytp8jYXgfXmZKNrsllkJt2MH8sWQHIi5UJYyI+VFc=:
]]></sourcecode>
        <t>The client retries with a presentation bound to the challenge nonce:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

GET /api/quota HTTP/1.1
Host: service.example
Human-Continuity: "com.example.unique-human.v1"; \
  artifact=:ZXhhbXBsZS1hcnRpZmFjdA==:; \
  purpose="api_quota_group"
]]></sourcecode>
        <t>With the Policy Metadata example below, GET /api/quota selects the following effective policy identifier:</t>
        <sourcecode type="text"><![CDATA[
quota
]]></sourcecode>
        <t>The effective attestation audience is the canonical HTTPS origin:</t>
        <sourcecode type="text"><![CDATA[
https://service.example
]]></sourcecode>
        <t>The purpose is:</t>
        <sourcecode type="text"><![CDATA[
api_quota_group
]]></sourcecode>
        <t>The effective realm is:</t>
        <sourcecode type="text"><![CDATA[
https://realm.example
]]></sourcecode>
        <t>The continuity scope is:</t>
        <sourcecode type="text"><![CDATA[
(https://realm.example, https://service.example, api_quota_group)
]]></sourcecode>
        <t>The policy is selected from the GET /api/quota request context, while the artifact is bound to the canonical HTTPS origin as its attestation audience. This example assumes that the selected profile permits reuse of the same presentation material. Under window acceptance, the client resends it until the origin challenges again (<xref target="freshness-replay"/>).</t>
      </section>
      <section anchor="holder-bound-example">
        <name>Holder-Bound Presentation</name>
        <t>For a POST request to:</t>
        <sourcecode type="text"><![CDATA[
https://service.example/accounts/free-tier
]]></sourcecode>
        <t>The origin can return:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

HTTP/1.1 409 Conflict
Content-Type: application/problem+json
Cache-Control: no-store
Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="free_tier_signup"; \
  challenge=:nI+HKqYqT858msAv9vvZDqe/x5JOABxh0uO7aMJtM0Y=:; \
  presentation-assurance="subject-present"
]]></sourcecode>
        <t>The origin sends this challenge before creating the account, allocating the free tier, or applying any other signup effect. The client then checks policy metadata before treating the purpose, profile, and presentation-assurance value as authorized. With the Policy Metadata example below, POST /accounts/free-tier selects the signup policy, which authorizes the challenge. The client can then repeat the not-yet-applied signup operation with a holder-bound presentation:</t>
        <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /accounts/free-tier HTTP/1.1
Host: service.example
Authorization: Bearer account-native-token
Content-Type: application/json
Content-Digest: sha-256=:07X+4wcYcvreux20N5iVZsZqskk\
  ynpoTaTbHd8Oufgc=:
Human-Continuity: "com.example.unique-human.v1"; \
  artifact=:ZXhhbXBsZS1hcnRpZmFjdA==:; \
  purpose="free_tier_signup"; \
  presentation-assurance="subject-present"
Signature-Input: hu=("@method" "@target-uri" \
  "human-continuity";sf "content-digest");created=1778480000;\
  expires=1778480060;\
  keyid="urn:ietf:params:oauth:jwk-thumbprint:sha-256:1IG2tMH7J2wbJZ\
  nOf8LJzQitKf7LMvoAElsuDMVM54Y";alg="ed25519";tag="human-continuity"
Signature: hu=:DohOIdStKJj731Yk4BdjDWOxctbp7v00WLXYWrIc8Ryi/WsDT+7Ri\
  TXTU+U6Fa6aOUFYF83ZTHBSMX1N0Q4MCQ==:
]]></sourcecode>
        <t>The challenge above carried a challenge nonce. The challenge nonce evidence required by <xref target="freshness-replay"/> is carried inside the artifact according to the fictional profile; it does not appear as a Signature-Input parameter.</t>
      </section>
      <section anchor="policy-metadata">
        <name>Policy Metadata</name>
        <sourcecode type="json"><![CDATA[
{
  "origin": "https://service.example",
  "default_policy_selectors": {
    "GET": "site",
    "HEAD": "site"
  },
  "policy_selectors": {
    "GET": {
      "/api/quota": "quota"
    },
    "HEAD": {
      "/api/quota": "quota"
    },
    "POST": {
      "/accounts/free-tier": "signup"
    }
  },
  "policies": {
    "site": {
      "purposes": {
        "site_rate_limit": {
          "realm": "https://realm.example",
          "profiles": {
            "com.example.unique-human.v1": {}
          }
        }
      }
    },
    "signup": {
      "purposes": {
        "free_tier_signup": {
          "realm": "https://realm.example",
          "profiles": {
            "com.example.unique-human.v1": {
              "presentation_assurances": ["subject-present"]
            }
          }
        }
      }
    },
    "quota": {
      "purposes": {
        "api_quota_group": {
          "realm": "https://realm.example",
          "profiles": {
            "com.example.unique-human.v1": {}
          }
        }
      }
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="realm-metadata">
        <name>Realm Metadata</name>
        <t>In this non-normative example, <tt>verification_key_uri</tt> and <tt>revocation_status_uri</tt> are members defined by the example profile, not by this document. The members defined by this document are <tt>realm</tt> and <tt>profiles</tt>, and within each realm profile entry, <tt>issuance_endpoint</tt> and <tt>max_artifact_size_issued</tt>.</t>
        <sourcecode type="json"><![CDATA[
{
  "realm": "https://realm.example",
  "profiles": {
    "com.example.unique-human.v1": {
      "issuance_endpoint": "https://realm.example/issue",
      "verification_key_uri": "https://realm.example/keys.json",
      "revocation_status_uri": "https://realm.example/status",
      "max_artifact_size_issued": 3072
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="realm-metadata-without-jwks">
        <name>Realm Metadata Without JWKs</name>
        <t>This non-normative example shows realm metadata for two profiles whose verification material is not a JWK Set. The members other than <tt>issuance_endpoint</tt> and <tt>max_artifact_size_issued</tt> are profile-defined and illustrative only.</t>
        <sourcecode type="json"><![CDATA[
{
  "realm": "https://realm.example",
  "profiles": {
    "org.example.zk-human.v1": {
      "issuance_endpoint": "https://realm.example/issue-zk",
      "verification_key_uri": "https://realm.example/vk.json",
      "circuit_id": "unique-human-v1",
      "max_artifact_size_issued": 8192
    },
    "org.example.onchain-human.v1": {
      "chain_id": "eip155:999999999",
      "verifier_contract":
        "0x1111111111111111111111111111111111111111",
      "verification_method": "verify",
      "root_source": "profile-defined",
      "max_artifact_size_issued": 4096
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="using-verifier-output-in-origin-policy">
        <name>Using Verifier Output in Origin Policy</name>
        <t>A successful verification result is shown in the example in <xref target="verifier-behavior"/>.</t>
        <t>For one-human-one-account enforcement, an origin can apply a uniqueness constraint over the verifier-visible scope:</t>
        <sourcecode type="text"><![CDATA[
UNIQUE (
  realm,
  attestation_audience,
  purpose,
  stored_continuity_handle
)
]]></sourcecode>
        <t><tt>stored_continuity_handle</tt> is policy state, not an authenticator. It can be the raw <tt>continuity_handle</tt> or, preferably for persistent storage, a verifier-local protected derivative. Account access still depends on the origin's native authentication and authorization mechanisms.</t>
      </section>
      <section anchor="agent-delegation-binding">
        <name>Agent Delegation Binding</name>
        <t>For agent delegation, a verifier can use a separate purpose and bind agent keys to the resulting <tt>continuity_handle</tt>:</t>
        <sourcecode type="text"><![CDATA[
purpose = agent_delegation
]]></sourcecode>
        <sourcecode type="text"><![CDATA[
human_agent_delegations (
  realm,
  attestation_audience,
  purpose,
  stored_continuity_handle,
  agent_key_thumbprint,
  account_id,
  expires_at
)
]]></sourcecode>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC6454">
          <front>
            <title>The Web Origin Concept</title>
            <author fullname="A. Barth" initials="A." surname="Barth"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>This document defines the concept of an "origin", which is often used as the scope of authority or privilege by user agents. Typically, user agents isolate content retrieved from different origins to prevent malicious web site operators from interfering with the operation of benign web sites. In addition to outlining the principles that underlie the concept of origin, this document details how to determine the origin of a URI and how to serialize an origin into a string. It also defines an HTTP header field, named "Origin", that indicates which origins are associated with an HTTP request. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6454"/>
          <seriesInfo name="DOI" value="10.17487/RFC6454"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC7638">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </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="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="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="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="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="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>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <front>
              <title>Key words for use in RFCs to Indicate Requirement Levels</title>
              <author 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" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
      </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="RFC7517">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="RFC7800">
          <front>
            <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7800"/>
          <seriesInfo name="DOI" value="10.17487/RFC7800"/>
        </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="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC9278">
          <front>
            <title>JWK Thumbprint URI</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="K. Yasuda" initials="K." surname="Yasuda"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification registers a kind of URI that represents a JSON Web Key (JWK) Thumbprint value. JWK Thumbprints are defined in RFC 7638. This enables JWK Thumbprints to be used, for instance, as key identifiers in contexts requiring URIs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9278"/>
          <seriesInfo name="DOI" value="10.17487/RFC9278"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </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="RFC9576">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="J. Iyengar" initials="J." surname="Iyengar"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies the Privacy Pass architecture and requirements for its constituent protocols used for authorization based on privacy-preserving authentication mechanisms. It describes the conceptual model of Privacy Pass and its protocols, its security and privacy goals, practical deployment models, and recommendations for each deployment model, to help ensure that the desired security and privacy goals are fulfilled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9576"/>
          <seriesInfo name="DOI" value="10.17487/RFC9576"/>
        </reference>
        <reference anchor="RFC9577">
          <front>
            <title>The Privacy Pass HTTP Authentication Scheme</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="S. Valdez" initials="S." surname="Valdez"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document defines an HTTP authentication scheme for Privacy Pass, a privacy-preserving authentication mechanism used for authorization. The authentication scheme specified in this document can be used by Clients to redeem Privacy Pass tokens with an Origin. It can also be used by Origins to challenge Clients to present Privacy Pass tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9577"/>
          <seriesInfo name="DOI" value="10.17487/RFC9577"/>
        </reference>
        <reference anchor="RFC9728">
          <front>
            <title>OAuth 2.0 Protected Resource Metadata</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Parecki" initials="A." surname="Parecki"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client or authorization server can use to obtain the information needed to interact with an OAuth 2.0 protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9728"/>
          <seriesInfo name="DOI" value="10.17487/RFC9728"/>
        </reference>
        <reference anchor="I-D.ietf-privacypass-arc-crypto">
          <front>
            <title>Anonymous Rate-Limited Credentials Cryptography</title>
            <author fullname="Cathie Yun" initials="C." surname="Yun">
              <organization>Apple, Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Apple, Inc.</organization>
            </author>
            <author fullname="Armando Faz-Hernandez" initials="A. F." surname="Faz-Hernandez">
              <organization>Cloudflare</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   This document specifies the Anonymous Rate-Limited Credential (ARC)
   protocol, a specialization of keyed-verification anonymous
   credentials with support for rate limiting.  ARC credentials can be
   presented from client to server up to some fixed number of times,
   where each presentation is cryptographically bound to client secrets
   and application-specific public information, such that each
   presentation is unlinkable from the others as well as the original
   credential creation.  ARC is useful in applications where a server
   needs to throttle or rate-limit access from anonymous clients.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-arc-crypto-01"/>
        </reference>
        <reference anchor="I-D.irtf-cfrg-bbs-per-verifier-linkability">
          <front>
            <title>BBS per Verifier Linkability</title>
            <author fullname="Vasilis Kalos" initials="V." surname="Kalos">
              <organization>MATTR</organization>
            </author>
            <author fullname="Greg M. Bernstein" initials="G. M." surname="Bernstein">
              <organization>Grotto Networking</organization>
            </author>
            <date day="29" month="June" year="2026"/>
            <abstract>
              <t>   The BBS Signatures scheme describes a multi-message digital
   signature, that supports selectively disclosing the messages through
   unlinkable presentations, built using zero-knowledge proofs.  Each
   BBS proof reveals no information other than the signed messages that
   the Prover chooses to disclose in that specific instance.  As such,
   the Verifier (i.e., the recipient) of the BBS proof, may not be able
   to track those presentations over time.  Although in many
   applications this is desirable, there are use cases that require the
   Verifier be able to track the BBS proofs they receive from the same
   Prover.  Examples include monitoring the use of access credentials
   for abnormal activity, assertion of pseudonymous identity,
   monetization, etc.. This document provides a mechanism for binding
   prover secret material for pseudonym creation to a BBS signature and
   shows how to use this bound information for the creation of context
   dependent pseudonyms in BBS proofs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-bbs-per-verifier-linkability-03"/>
        </reference>
        <reference anchor="I-D.meunier-webbotauth-httpsig-directory">
          <front>
            <title>HTTP Message Signatures Directory</title>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Sandor Major" initials="S." surname="Major">
              <organization>Google</organization>
            </author>
            <date day="26" month="June" year="2026"/>
            <abstract>
              <t>   This document describes a method for clients using
   [HTTP-MESSAGE-SIGNATURES] to advertise their signing keys.

   It defines a key directory format based on JWKS as defined in
   Section 5 of [JWK], as well as a new HTTP Method Context for in-band
   key discovery.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-httpsig-directory-00"/>
        </reference>
        <reference anchor="I-D.meunier-webbotauth-httpsig-protocol">
          <front>
            <title>HTTP Message Signatures for automated traffic</title>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Sandor Major" initials="S." surname="Major">
              <organization>Google</organization>
            </author>
            <date day="26" month="June" year="2026"/>
            <abstract>
              <t>   This document describes an architecture for identifying automated
   traffic using [HTTP-MESSAGE-SIGNATURES].  The goal is to allow
   automated HTTP clients to cryptographically sign outbound requests,
   allowing HTTP servers to verify their identity with confidence.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-httpsig-protocol-00"/>
        </reference>
        <reference anchor="I-D.schlesinger-cfrg-act">
          <front>
            <title>Anonymous Credit Tokens</title>
            <author fullname="Samuel Schlesinger" initials="S." surname="Schlesinger">
              <organization>Google</organization>
            </author>
            <author fullname="Jonathan Katz" initials="J." surname="Katz">
              <organization>Google</organization>
            </author>
            <date day="13" month="February" year="2026"/>
            <abstract>
              <t>   This document specifies Anonymous Credit Tokens (ACT), a privacy-
   preserving authentication protocol that enables numerical credit
   systems without tracking individual clients.  Based on keyed-
   verification anonymous credentials and privately verifiable BBS-style
   signatures, the protocol allows issuers to grant tokens containing
   credits that clients can later spend anonymously with that issuer.

   The protocol's key features include: (1) unlinkable transactions -
   the issuer cannot correlate credit issuance with spending, or link
   multiple spends by the same client, (2) partial spending - clients
   can spend a portion of their credits and receive anonymous change,
   and (3) double-spend prevention through cryptographic nullifiers that
   preserve privacy while ensuring each token is used only once.

   Anonymous Credit Tokens are designed for modern web services
   requiring rate limiting, usage-based billing, or resource allocation
   while respecting user privacy.  Example applications include rate
   limiting and API credits.

   This document is a product of the Crypto Forum Research Group (CFRG)
   in the IRTF.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schlesinger-cfrg-act-01"/>
        </reference>
        <reference anchor="OpenID4VP" target="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html">
          <front>
            <title>OpenID for Verifiable Presentations 1.0</title>
            <author>
              <organization>OpenID Foundation</organization>
            </author>
            <date year="2025" month="July"/>
          </front>
        </reference>
        <reference anchor="DC-API" target="https://www.w3.org/TR/digital-credentials/">
          <front>
            <title>Digital Credentials API</title>
            <author>
              <organization>W3C Federated Identity Working Group</organization>
            </author>
            <date year="2026" month="July"/>
          </front>
        </reference>
        <reference anchor="X401" target="https://github.com/proof/x401/blob/3f73cf912cd05a40bf8de3fe6c1f4bb720341336/spec.md">
          <front>
            <title>x401, Version 0.2.0 (Draft)</title>
            <author>
              <organization>Proof</organization>
            </author>
            <author>
              <organization>Circle</organization>
            </author>
            <date year="2026" month="June" day="27"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1806?>

<section anchor="illustrative-profile-sketch">
      <name>Illustrative Profile Sketch</name>
      <t>This appendix is informative. It is not a complete profile specification and is not sufficient for deployment. It exists only to illustrate how a companion profile would use the HTTP framework.</t>
      <t>The example profile "com.example.unique-human.v1" is fictional. It defines an opaque artifact that proves, according to the profile's verification rules, that the subject satisfies the profile's unique-human criteria. The artifact is valid for one attestation audience and one purpose. Verification produces a scope-local <tt>continuity_handle</tt>.</t>
      <t>Example challenge:</t>
      <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Human-Continuity-Challenge: "com.example.unique-human.v1"; \
  purpose="free_tier_signup"; \
  challenge=:9m2RXkyoGnXRLStCQSxKfj1awEL1SGQ7QPgo/opWHsY=:; \
  presentation-assurance="subject-present"
]]></sourcecode>
      <t>Example presentation:</t>
      <sourcecode type="http-message"><![CDATA[
NOTE: '\' line wrapping per RFC 8792

Human-Continuity: "com.example.unique-human.v1"; \
  artifact=:ZXhhbXBsZS1hcnRpZmFjdA==:; \
  purpose="free_tier_signup"; \
  presentation-assurance="subject-present"
]]></sourcecode>
      <t>A successful verification produces the verifier output shown in <xref target="verifier-behavior"/>, with <tt>state</tt> set to "valid" and a scope-local <tt>continuity_handle</tt> for the selected continuity scope.</t>
      <t>A real profile would still need to define artifact syntax, issuance, verification, holder binding, challenge nonce binding, supported presentation-assurance values, replay behavior, revocation, lifecycle events, privacy properties, and <tt>continuity_handle</tt> derivation.</t>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t>RFC Editor: Please remove this section before publication.</t>
      <t>The following issues are intentionally left for discussion:</t>
      <ol spacing="normal" type="1"><li>
          <t>Whether future revisions should add path template matching or keep only exact and terminal subtree path patterns.</t>
        </li>
        <li>
          <t>Whether purpose templates need additional privacy constraints or richer matching syntax beyond exact string prefixes.</t>
        </li>
        <li>
          <t>Whether clients should learn the challenge acceptance mode or validity interval.</t>
        </li>
        <li>
          <t>Clock skew defaults for browser, mobile, embedded, and agent deployments.</t>
        </li>
        <li>
          <t>Whether future revisions should use Accept-Signature for dynamic covered component negotiation.</t>
        </li>
        <li>
          <t>Whether one or more companion profile drafts should be published with this document to demonstrate interoperability across independent realm operator designs.</t>
        </li>
        <li>
          <t>Whether future revisions should introduce attestation audiences other than the canonical HTTPS origin of the request, either same-origin audiences narrowed within an origin at issuance time, or delegated cross-origin audiences, and under what rules for realm visibility and delegation trust.</t>
        </li>
      </ol>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This document is informed by prior work on HTTP Structured Fields, HTTP Message
Signatures, well-known metadata, OAuth 2.0 Protected Resource Metadata, and
Privacy Pass. The editor thanks the authors and contributors of those
specifications.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8y9+3YbR7Yf/D+fokNnLdsJQOsumcqcHFnyRR7b0kiyPTNJ
ltgAGmSPADSmu0GK1qe8T54jL/bte+2qrgYp2ZPE66wzFNCorsuufd+/PZ1O
D86Pi9sHfd2vquPiu9263BSPm01fb3Z1f1ksm7b47tWr5wflbNZW55kn6NtF
M9+Uaxhg0ZbLfgqP/rbbTM/w2encnp2e9f12euPGwbzsq9OmvTwuun5x0O1m
67rranjucgtjPP361TcH9bY9Lvp21/W3btz48satg64vN4vX5arZVPRFdXDw
prq8aNrF8UFRTItt2zTLAv6P3kof0V9FeD99uNvU/9xV7qnuclavirbqanzF
vOIP4Q3zftdWi2JZV6tFxwPC/It11XXlaVV09emmxEe6g4PzarOrcB6nbbPb
HvOmFAWv59emfVNvTotv8Tt8pu7PdrPjooTfrqbL9ovsPsGDK9imrj+m13bH
X3yhPzjiEY7qJv/TL64+haOzfr2CV6zLenVc1FW/5MO5OP33i9tHTXsK35Xt
/Cy8fAXb0x3xl188gq/q86r74vlutqrnX/gBvjg4KHf9WdPyudSb7rh4dFR8
RbOBj4qCSeXRrv3f/2tVVxv46n//L/0ORj8uXjXNqmPaw8nz0RVFxbOlbYDf
HfEC/73Hp+HhM3n2aN6sDw42Tbsue5gkTuPFN49vf/ngnvx5787dO/Lng1t3
v5Q/79+7/UA/vXlLn31w7+Zd+fPLmzdvhD9v6p93btmfd2/bA/fuwqcH9WaZ
TOPel/dv6wvv3ryvfz64ob+8DwPqu+9/qX9+eeu+Tu7L27fv2Lvv3rd3378X
/rRP79+inz2dPjmiM9q29Xk5v9yWXTeF853O28tt39gjLTwyX7an09msm26r
dnpetTVcgHa6qjdvSrgosL/69LqCuwRfXVSzWdPjmRMJwL2YLuq2mvd4w69+
Fi5u38yblT7azc9WcBk3p/A4zaWc9/jds221efrkzi/Pj4kY+rI9rdzlaODr
enG0qfovum017+SD6R1ZQzlbVfCuqqs2PRxIs+mmN1/f0HsA4zEH5LcQ7f1i
vyue+98VN49u0E8CmeN/U6ZdGeCbZrdZ0PP0NfwJg9+6cevu9MZ9+OTJ4+mj
50/zK7m4uNB79urFF4sabnu5gpOqFjCFulx1X/gJP+Hvi8fh+wKGHp/gr7cf
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
uaTrzVGLNeZmLUq59SfkQrhysz9Kxh6pbHgvuRpSw5JGaG2WaXgWnWroS0R/
jzcQw3IsNEsLOubIYBQ7JCcfuuCCOwcfSq/BFXFAUrs3DUXnNDiXm9Gnyevz
Jz+hE879nqq/93U0yYbh3amOxNZHGqFwizIytVeIwDvaCoLSuK6VPOiUnfji
/X5lJxETRKjx/RF151e1w0Pbb4b/c7lLwVer95fOWADeqb2bQXJF2WRkRGK7
71MLsedx9z5eLYj5C47+xc2jmwffNR1GNxJAnsc8qemrS+xE4/K0viCRq18/
qU8R/ATT1qa37t770/H3958/ebx7cdndvXv/5lc3dv988Mu8f/r92/Li2bd/
fvIUFYAnzeq3t9+efX/56NdHYCWl2sq1dBS10/90/Pe/np3N/vpV9/eXN8/m
mxfbv6+/+cfi0Z9M27hKmbm2OpIgHR4XZ7s/fXb47+whOSwO/51xrqa7tj6k
kQ/TMrfDh92S+i3R1i1o6w4/f4hBI7gBf7p5//6DOw9uwH8P8efV2y368u3j
e/zxm+qyXvzpcNdujuuqXx5TNmV33OBtPf7HxZtpD6+dbVvQU4/lVI5vPv32
Vv/jd/e/v3Ux+/7vOMrm2fLBD9//9pe6//Py/g8/njePvl51uyc//vLj3Tt/
O3xYrk7/dFgtbt29e/PLw4d9Cf8aLCZsCG3F8axezH/9R7f95cbyp/rb9cvZ
nS++/e3m33766Vlz/pd7b2+eX745+/6fz1Y/Pvv26+2PFw++fPr333Aq/1j+
o/lnef/vm7Nvf3vx7Tfbsy/ffn+2vLz37a3y2ervbxZP8DAPRMnTe/ZTuUZz
9PAxhRpI1Tov2xoDNCT3D+dk7rrTZn2MoCTwq/VOrAYa4bP/OD8unj75D58X
77g/yWcq7o6L/zjHT5s3xfvi/aHK60/4dlJX7o7rjyifW/p0v6R2aldhpJbD
Bt8/YLphDhyNm30PRxwZ5ylmJe4b5xV1dlRAybYKUKUgg65oGZCG6p2X13U7
/NfgDYK59gEZmzHGwJ4ueCF8tCm65ZQh2gRrheHaaivyTPoABgvy/77Fhjb2
a7SxXyM08W47NNh+/OrGX3Y/bc/uXm6Wu1//+vdn3796+turn59+95cv//N2
9835k5dd9fjRz1/97UanHqwEnpbT6agfy/5ehK6hPIfd8tTuox/0Bve7FBZI
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
bXPz/sb9VfdnCy5PL8+AWUM/vkcfn6aLbPSwC9Y2S6vxAMXUykEO03jw9eK0
7+nVBzwog7WdX9er1883X6xfHL34AneZvR3ff/Xij/dZ9XK8+er1eb79dFLO
n7z+7fXdjc/drWRy/LCbjtbv3l170N2qEvev2sv4DsGuGDzJT97ujPaqly++
bt5Z+3y68Wj09cnHt5fD6uhs83x19eOrT58/FjvD+7uL7PbH8sn+L5u7GbRl
/9P+h18+3HuW3Evefnj2+dn9O1/2nz/ae/1p7c3q+43Xj98/DFxotXnEaiaS
WknsLK9EJblUcannujB4Ut9rMUarKnvKwefruK0SLR2Q8JDryRi2AswHC08j
7180lbwgHvMEh6aOrASuuj9hWtE+0HXLpGXT7vbgZ21AYHch3Mb9wvlicJcy
q+gS99Hzp9tP9DP30Te81VW3oH+4f3rPDm5Cf8HvvoX3v/4FYOnCC2pGj9qL
S5ouDdvtDlq+vfhe5naSvzSf8a8O4MB/gDCG4Ev3NXrItv8Dl5m7Uh7A2dDo
Hp3lNs79+Jv5tf+7/O1b0En89le+V80E/l+8WPBjvJE3wAdqgOG+/10zwv8T
XPw9XSRz7Ioeio+k/7EjD3P8xjcyi85kUG7RW4wdpmcBBv8Z5X7Plcal1zm0
IboDt6UcAIEC1Y14UN0BxYr5O6DuwPLGKCbt2WHUyWNizgbNtcY7xDQyh9ir
3BzpRqZ34EpKrKagQ7AmU5z775y6Q6lOPxB9Q75Rm+zq4UpsYK8xyvXRvea0
79aa1/qg29g+nVTdpjFrvxgpZOCd/A0aR7b9DvQbf3lbB7o73FndXL/GvERv
HvhUX3x8WTKSpnGGQmb3QjTswhr9izzmc2mBlfK2C8/q7KXR/Mt9odD3TxhW
ZQqxqAhVAX09TLScp5Re+memVl4c69T64/QfmVb9P05/dGadn0bzijHEBxlM
ha6d+33XyOvMn/trD9YDc23f2PltJ0k2a3xt/IYfnGZna3fvDh7In/j93LYn
GOfuwJv81cu1a/5p6TA+AQz444VZcHnu3jSfF0NwOrrRlLlWz2ysPrjXuLI+
IBhTeDs6b4m9yZlGQmVqrmAbygQAGjaeT8Kl4vZUwHtBmO4EEGsMhJMliInQ
BjqVFYom5TMZY/ibkCszBlTSnQEbH+apE067CPstU/55vQ19ohTZYrDShqo+
vNl5/+Fp52fXIVS7BcdBH/U70IItf/qDv5IUw0ENi3uDI5eHbT9ANmzBwBEk
Hi3LzNLPQAnHjrJnYQKlRegkJyWAMXDLcR2s1zIRrhRbC7VEvGQFWHux45kk
l6irDQWajzHeLK3AjWHNISJlExgwkmV0INlGAswnXnfvEZHhcFwxUuUL6riQ
upSI5mM5PXgu8R7hDWDD8mJLMDVbsNN2Lsi9HtJNDnwraFB9fBOm6kH8o/If
m0V4Od4d7KeROIPPaYycmer5c/1BUsnMgzQwVKQiHNpuIe+k5usUqrF4w4SD
pOv9S0L/jGXrFD5H2vSU/FBZYALIBdONYsEkgA2HGOQiFKgQBeINiYWDEDRA
ECmtSxnHUCMsZLpXQX4R/kp4EiI2QblkqesE7dSjNbZJaADAvJwlkMLVQ7kg
JM4ZkRqe0D2baWgH55PUMNZqqrhNizrgchwWGToc5F7YnAWV9gq3R2MiiWqo
dEUIDZMSerF0dcjE37AiXL9yYtnHO/5GLP7fFjZ/MF3f/XS6yH+dfdp9tVc9
fr93+XL8dS25ePpqbe/X95vv3x3nt/Ozj8/LHwybP9WZ9k9EXf+fBCrxzdu3
/aWK6OoJNG79PQppH+IueIiSHG5pdXGmd2kfuWqqegVWybnVxDih8WCSI5NC
W9ssJZgal1fqgiMUqReU7EXEZKGAfE2g0n/BXFjtsDKBrwttnOrA+eNVz1TB
YaUXguFJr8tKybXpJXg1cSyReesMfmcHPMLr8w630Arb3Dj6mAJmDUTr03El
cidM9esWzdpKByjR8eDE1CzAEVziNurmDYxRMmJGBJWPVYaHvCDZBNxKiO0J
kXmQaYWgqeFA8PxUrs3r5rGxOG1J08E9NdPQK/VyQCZddIpsiCRJyuxEmOOj
dJFjmS3OIOLiAdcMajbco++YRws2jl8UVaQiiEZEaocwOlgZVIpfgYoiqCFu
uLs+duvjtFOephdSdkE1IlzbB2VvR8SY5I6ro5GwJounJVs0NPLuNYYFduNt
bF3fVK7BAC9myRQKceNafdexx3mVycS5Zx4CGxayMzTxFXdGRTL23XTEM7A8
8UoUNtqDC3lKY1WlddZlBjMbJum4/IXQ2dARm9foiAxSxFij2bQfB2GBJUiD
kJRSgXi2wtLfkhluNHLlD0WJYVJU+VtP7B4QBOr9eoztRbgBaknMRR2qplZm
iOLhNbECEg3K9hBqlLDKF6fRjT8HszkERtKR236gOrn7LS50Um+T6SkKLK4F
8qucYfamUu0ZV0VaogifL3JfmEIpCe/0Om8hPdlZX1nFejzaHXZTOj9rDAk7
4IZIKb5zdpkx32gTcexOmQIXzzQM9oaDf3Y0JwooGD9nR24ETrGbQ/8L7LzS
I2VTAgA=

-->

</rfc>
