<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mcguinness-oauth-cimd-sw-stmt-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="oauth-cimd-sw-stmt">Client ID Metadata Document Software Statement</title>
    <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-cimd-sw-stmt-01"/>
    <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
      <organization>Independent</organization>
      <address>
        <email>public@karlmcguinness.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>OAuth</keyword>
    <keyword>Software Statement</keyword>
    <keyword>Dynamic Client Registration</keyword>
    <keyword>Client ID Metadata Document</keyword>
    <keyword>Runtime Presentation</keyword>
    <keyword>Sender Constraint</keyword>
    <abstract>
      <?line 74?>

<t>This specification defines a software statement in which a trusted party records its review of the exact octets of a client's Client ID Metadata Document (CIMD), and how an authorization server enforces that review when it admits the client at request time, without a registration. A CIMD carries the client's own metadata, which can change at any time, and a statement binds the review to one version of the document by its digest. The client presents the statement in a token or pushed authorization request, or publishes it where its document points. The authorization server accepts a statement only from an issuer it trusts, and also binds the presenter to the reviewed document, although for a public client that binding does not hold against a party that controls the user agent. Independently operated authorization servers can consume the same review, each under its own trust configuration and admission policy.</t>
    </abstract>
  </front>
  <middle>
    <?line 78?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A Client ID Metadata Document (CIMD) <xref target="CIMD"/> lets a client publish its metadata and identify itself by the document's URL without prior registration. Section 4.3 of <xref target="CIMD"/> permits software statements as an independent signal, but defines no profile binding a review to a particular document version or specifying how that review governs admission.</t>
      <t>This specification supplies that profile using the software statement of Section 2.3 of <xref target="RFC7591"/>. A statement names the client by its document URL and binds the review to the document's exact octets by a digest (<xref target="metadata-digest"/>). Independently operated authorization servers can enforce the same review at request time without creating registrations (<xref target="cimd-presentation"/>). Each server chooses which issuers to trust and for which clients and tenants (<xref target="issuer-trust"/>). A portable review does not imply universal acceptance.</t>
      <t>This specification serves deployments in which a party other than the client decides which software can connect. For example, a marketplace or registry can vouch for software at authorization servers it does not operate, and an enterprise can approve a hosted client for use at services run by other operators. Allowlisting its CIMD URL identifies the client but does not record which metadata was reviewed. The document can change while the URL stays the same. The statement carries that review across operators. This specification also serves server-hosted software, such as an agent using <tt>client_credentials</tt>. Admission grants no access to resources: the authorization server's policy, and the resource owner's authorization where a grant involves one, still govern what it issues.</t>
      <t>A statement records approval of a client configuration, not of the software's code or behavior (<xref target="what-statement-attests"/>). Possession of a statement admits nothing by itself. The authorization server binds the presenter to the reviewed document (<xref target="sender-constraint"/>), although for a public client that binding does not hold against a party that controls the user agent (<xref target="public-client-security"/>). A statement for a native application with a redirection URI another application on the same device could claim is review-only: it counts for nothing in admission (<xref target="review-only"/>).</t>
      <t>Under this specification, an authorization server checks a statement only when a grant is opened. A statement's expiry ends no grant already opened, and an earlier statement that has not expired remains acceptable after a later one is issued (<xref target="enforcement-bounds"/>). Withdrawal and supersession of statements, and refresh rules that follow later reviews, are left to extensions (<xref target="extensions"/>). This specification does not define how a client obtains a statement, or how an authorization server consumes one in an <xref target="RFC7591"/> registration request. <xref target="relationship"/> relates this specification to other work.</t>
      <section anchor="protocol-overview">
        <name>Protocol Overview</name>
        <t>The following non-normative sequence summarizes runtime admission (<xref target="processing"/>):</t>
        <ol spacing="normal" type="1"><li>
            <t>An issuer reviews a client's CIMD and issues a statement whose <tt>sub</tt> claim is the document's URL and whose <tt>cimd_digest</tt> claim is the digest of the document's exact octets (<xref target="profiles"/>).</t>
          </li>
          <li>
            <t>Using its CIMD URL as <tt>client_id</tt>, the client presents the statement in a token request or, for a redirect flow, a pushed authorization request (<xref target="runtime-presentation"/>). A client can instead publish its statements at the <tt>software_statements_uri</tt> its document names, for an authorization server that supports pulled statements to retrieve (<xref target="pulled-statements"/>).</t>
          </li>
          <li>
            <t>The authorization server verifies the statement's signature and claims against its trust configuration for the issuer (<xref target="validation"/>, <xref target="issuer-trust"/>), retrieves the document, and compares the document's digest with the statement's (<xref target="effective-metadata"/>).</t>
          </li>
          <li>
            <t>The authorization server binds the presenter to the reviewed document, in the request or at code redemption. A confidential client authenticates with a key the document carries, and a public client uses PKCE and binds a key in the request (<xref target="sender-constraint"/>). A request whose presenter cannot be bound is rejected, except in the cases <xref target="review-only"/> defines, such as a document with a redirection URI another application on the same device could claim. A review-only statement admits nothing on the strength of the review: unless <xref target="sender-constraint"/> rejects the presentation, the request proceeds as one presenting no statement, and no establishment is created.</t>
          </li>
          <li>
            <t>When the binding succeeds, the request proceeds under the reviewed document's metadata, without a registration. The authorization server records the state the grant depends on, including the proven key, as an establishment, and checks that key again on refresh (<xref target="grant-lifecycle"/>).</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This specification uses terminology from <xref target="RFC6749"/> (OAuth), <xref target="RFC7591"/> (client metadata and software statements), and <xref target="CIMD"/> (Client ID Metadata Documents).</t>
      <t>This specification defines the following terms.</t>
      <dl>
        <dt>Trusting Authorization Server:</dt>
        <dd>
          <t>An authorization server that consumes a software statement of this profile.</t>
        </dd>
        <dt>Runtime Presentation:</dt>
        <dd>
          <t>The consumption of a validated software statement presented in a token request or pushed authorization request, or pulled from where the client's document points (<xref target="pulled-statements"/>), without creating a client registration.</t>
        </dd>
        <dt>Admission:</dt>
        <dd>
          <t>A trusting authorization server's acceptance of a client for a request, either on a valid statement (<xref target="processing"/>), after which the reviewed metadata governs its requests, or under the server's policy for CIMD clients it has not reviewed.</t>
        </dd>
        <dt>Establishment:</dt>
        <dd>
          <t>The state a successful runtime presentation creates for the grant it opens, enumerated in <xref target="grant-lifecycle"/>.</t>
        </dd>
        <dt>Proven Key:</dt>
        <dd>
          <t>The key an establishment is bound to: the key whose possession the presenter proves during runtime presentation (<xref target="sender-constraint"/>), the key it binds under <xref target="public-client-presentation"/>, or, for a statement pulled at the authorization endpoint, the key proved at code redemption (<xref target="pull-binding"/>).</t>
        </dd>
        <dt>Permitted Method:</dt>
        <dd>
          <t>A token endpoint authentication method that a CIMD lists in its <tt>token_endpoint_auth_methods_supported</tt> member or, if the document has no such member, declares in its <tt>token_endpoint_auth_method</tt> member. A document with neither member permits only <tt>none</tt> (Section 5 of <xref target="CIMD"/>).</t>
        </dd>
        <dt>Selected Method:</dt>
        <dd>
          <t>The permitted method an establishment records (<xref target="grant-lifecycle"/>): the method with which a confidential client's presenter authenticates, at code redemption for a statement pulled at the authorization endpoint (<xref target="pull-binding"/>), or <tt>none</tt> for a public client.</t>
        </dd>
        <dt>Effective Expiry:</dt>
        <dd>
          <t>The earlier of a statement's <tt>exp</tt> and its <tt>iat</tt> plus the maximum statement lifetime the trusting authorization server honors for its issuer (<xref target="issuer-trust"/>). A statement is expired once its effective expiry has passed.</t>
        </dd>
        <dt>Required Issuer:</dt>
        <dd>
          <t>An issuer whose current statement a trusting authorization server requires in one of its tenants for software in configured client identifier namespaces (<xref target="issuer-trust"/>).</t>
        </dd>
        <dt>Current Statement:</dt>
        <dd>
          <t>A statement whose effective expiry has not passed and that no extension the server implements has ended. A current statement need not be the most recently issued one: an earlier statement for the same software remains current after a later one is issued (<xref target="enforcement-bounds"/>).</t>
        </dd>
        <dt>Review-Only:</dt>
        <dd>
          <t>Describes a presentation, or a pulled statement, that the authorization server evaluates but whose statement counts for nothing in admission (<xref target="review-only"/>).</t>
        </dd>
        <dt>Tenant:</dt>
        <dd>
          <t>A partition of an authorization server's configuration and issued tokens, such as one customer's. <xref target="validation"/> says how the authorization server determines a request's tenant.</t>
        </dd>
      </dl>
    </section>
    <section anchor="profiles">
      <name>The Software Statement</name>
      <t>The software statement is a compact JWT <xref target="RFC7519"/> protected by JWS <xref target="RFC7515"/>. Although <xref target="RFC7591"/> permits a MAC, a statement issued under this specification <bcp14>MUST</bcp14> use an asymmetric digital signature, and the <tt>none</tt> algorithm and symmetric algorithms <bcp14>MUST NOT</bcp14> be used. Issuers and trusting authorization servers follow <xref target="RFC8725"/>.</t>
      <t>The JOSE header <bcp14>MUST</bcp14> include the <tt>kid</tt> header parameter, identifying the signing key in the issuer's statement key set (<xref target="issuer-trust"/>), and the <tt>typ</tt> header parameter with the value <tt>software-statement+jwt</tt> (Section 3.11 of <xref target="RFC8725"/>). An incompatible revision would use a new <tt>typ</tt> value.</t>
      <t>A statement asserts that its issuer evaluated the CIMD whose content the digest identifies, and vouches for that document. The JWT payload contains the following claims.</t>
      <dl>
        <dt><tt>iss</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. The issuer's identifier, a URL using the <tt>https</tt> scheme with no query or fragment component. For an issuer that is an authorization server, it is its issuer identifier as defined by <xref target="RFC8414"/>.</t>
        </dd>
        <dt><tt>sub</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. The exact client identifier URL of the CIMD the issuer reviewed.</t>
        </dd>
        <dt><tt>aud</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. One or more authorization server issuer identifiers (<xref target="RFC8414"/>) restricting which authorization servers can accept the statement. If the claim is absent, any authorization server that trusts the issuer for the subject can accept it (<xref target="issuer-trust"/>).</t>
        </dd>
        <dt><tt>aud_tenant</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. A tenant identifier at a trusting authorization server, as <xref target="IDJAG"/> defines the claim, naming the tenant in which the statement's decision applies. A statement whose decision is confined to one of a server's tenants <bcp14>MUST</bcp14> carry an <tt>aud</tt> claim naming exactly one authorization server. It <bcp14>MUST</bcp14> also carry an <tt>aud_tenant</tt> claim naming the tenant, unless the issuer and that server have agreed that the server's trust configuration confines the issuer to the tenant (<xref target="issuer-trust"/>).
</t>
          <t>The absence of <tt>aud_tenant</tt> does not mean that the statement applies in every tenant (<xref target="audience-practice"/>).</t>
        </dd>
        <dt><tt>statement_uses</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. A JSON array identifying the permitted uses of the statement: <tt>registration</tt> (<xref target="REGISTRATION"/>) and <tt>presentation</tt> (<xref target="cimd-presentation"/>). If the claim is absent, only <tt>presentation</tt> is permitted. A server ignores a value it does not recognize, and an empty array permits no use. A pulled statement (<xref target="pulled-statements"/>) is a <tt>presentation</tt> use.</t>
        </dd>
        <dt><tt>iat</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. A NumericDate value, which <bcp14>MUST</bcp14> be an integer, giving the time the statement was issued. An issuer <bcp14>MUST</bcp14> ensure that the <tt>iat</tt> claim values of its statements for a given <tt>iss</tt> and <tt>sub</tt> increase strictly, which the selection of a pulled statement (<xref target="pull-selection"/>) and extensions rely on.</t>
        </dd>
        <dt><tt>exp</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. A NumericDate value, which <bcp14>MUST</bcp14> be an integer, giving the expiration time.</t>
        </dd>
        <dt><tt>jti</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. A unique identifier for the statement within the issuer's namespace.</t>
        </dd>
        <dt><tt>cimd_digest</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14>. The metadata digest (<xref target="metadata-digest"/>) of the CIMD the issuer evaluated.</t>
        </dd>
      </dl>
      <t>Profiles and extensions can define further claims.</t>
      <t>A statement issued under this specification <bcp14>MUST NOT</bcp14> contain a claim named in the IANA "OAuth Dynamic Client Registration Metadata" registry, and a trusting authorization server <bcp14>MUST NOT</bcp14> take client metadata from a statement's claims.</t>
      <t>A CIMD can carry a <tt>software_statement</tt> member (Section 4.3 of <xref target="CIMD"/>). A trusting authorization server <bcp14>MUST NOT</bcp14> consume a statement of this profile from that member, and <bcp14>MUST NOT</bcp14> treat that member as satisfying any requirement of this specification. A statement inside the document could not name the document's digest, because it would be part of the octets it digests, so this specification carries statements in requests (<xref target="runtime-presentation"/>) or at a separate location (<xref target="pulled-statements"/>). Statements of other kinds in the member are out of scope for this specification.</t>
      <t>An authorization server implementing this specification <bcp14>MUST</bcp14> reject a statement of this profile in an <xref target="RFC7591"/> registration request with the <tt>unapproved_software_statement</tt> error code (Section 3.2.2 of <xref target="RFC7591"/>), unless an extension it implements defines consumption of the statement at registration (<xref target="extensions"/>). <xref target="legacy-servers"/> explains why.</t>
      <section anchor="metadata-digest">
        <name>Metadata Digest</name>
        <t>The metadata digest is the SHA-256 hash <xref target="RFC6234"/> of the retrieved representation body after removal of content coding, base64url-encoded without padding (Section 2 of <xref target="RFC7515"/>). The body is not transcoded, normalized, or re-serialized. Any byte order mark or trailing newline is included.</t>
        <t>Retrieval for digest purposes follows <xref target="CIMD"/> and <bcp14>MUST NOT</bcp14> use content negotiation: the retrieving party sends <tt>Accept: application/json</tt> (Section 6 of <xref target="CIMD"/>) and no other variant selection. Equal digests show that the issuer and the trusting authorization server obtained the same octets, so any condition that makes retrieval depend on who is asking defeats the comparison.</t>
        <t>A <tt>304 Not Modified</tt> response shows that stored octets, and their digest, are still current only if it carries a strong entity tag that matches the one stored with them under strong comparison (Section 8.8.3.2 of <xref target="RFC9110"/>). Otherwise, the server retrieves the body again.</t>
      </section>
      <section anchor="validation">
        <name>Validating a Statement</name>
        <t>Before accepting a statement, a trusting authorization server <bcp14>MUST</bcp14> ensure the following:</t>
        <ul spacing="normal">
          <li>
            <t>The <tt>typ</tt> JOSE header parameter has the value <tt>software-statement+jwt</tt>, and the <tt>kid</tt> header parameter is present.</t>
          </li>
          <li>
            <t>The signature verifies under a key trusted for the exact <tt>iss</tt> value, obtained as <xref target="issuer-trust"/> requires.</t>
          </li>
          <li>
            <t>Every required claim of <xref target="profiles"/> is present and of the correct type.</t>
          </li>
          <li>
            <t>The statement is not expired, and its <tt>iat</tt> is not unreasonably far in the future according to the server's clock-skew policy.</t>
          </li>
          <li>
            <t>If the statement carries <tt>nbf</tt>, the current time is not before it, according to the same clock-skew policy (Section 4.1.5 of <xref target="RFC7519"/>).</t>
          </li>
          <li>
            <t>If the statement carries <tt>aud</tt>, a value in it exactly matches one of the server's issuer identifiers that its trust configuration permits the statement's issuer to name (<xref target="issuer-trust"/>).</t>
          </li>
          <li>
            <t>If the statement carries <tt>aud_tenant</tt>, <tt>aud</tt> carries exactly one value and <tt>aud_tenant</tt> identifies the request's tenant.</t>
          </li>
          <li>
            <t>If the server requires a tenant-scoped decision for the request, the statement carries <tt>aud_tenant</tt>, or the server's trust configuration confines the statement's issuer to the request's tenant (<xref target="issuer-trust"/>).</t>
          </li>
          <li>
            <t>If the server's trust configuration confines the statement's issuer to a tenant, the statement carries an <tt>aud</tt> claim with exactly one value, and the request belongs to that tenant.</t>
          </li>
          <li>
            <t>The use being made of the statement is one its <tt>statement_uses</tt> claim permits (<xref target="profiles"/>).</t>
          </li>
          <li>
            <t>The <tt>sub</tt> claim is a client identifier URL conforming to <xref target="CIMD"/> and falls within the client identifier namespaces for which this server accepts the issuer (<xref target="issuer-trust"/>).</t>
          </li>
          <li>
            <t>Any claim the server does not recognize, and any client metadata claim (<xref target="profiles"/>), is ignored.</t>
          </li>
          <li>
            <t>The JWT validation guidance in <xref target="RFC8725"/> has been applied.</t>
          </li>
        </ul>
        <t>A trusting authorization server that hosts more than one tenant <bcp14>MUST</bcp14> evaluate every tenant-specific check, such as an <tt>aud</tt> value that identifies one of its tenants, the <tt>aud_tenant</tt> claim, and a required issuer (<xref target="issuer-trust"/>), against the request's tenant. The request's tenant is the tenant that scopes what the server issues on the statement. The server <bcp14>MUST</bcp14> determine it before evaluating the statement, by its own means or from a signed assertion it has validated, and otherwise never from a request parameter, statement claim, or document member the client supplies.</t>
        <t>Rejections outside a registration endpoint use <xref target="errors"/>.</t>
      </section>
    </section>
    <section anchor="issuer-trust">
      <name>Issuer Trust</name>
      <t>A trusting authorization server <bcp14>MUST</bcp14> derive issuer trust from its trust configuration, which is established out of band, and <bcp14>MUST NOT</bcp14> derive it from an <tt>iss</tt>, <tt>jku</tt>, <tt>x5u</tt>, or other key-location value carried in a statement. This specification defines no in-band issuer discovery or trust decision.</t>
      <t>For each trusted issuer, the configuration records at least the following:</t>
      <ul spacing="normal">
        <li>
          <t>The exact <tt>iss</tt> value the server accepts.</t>
        </li>
        <li>
          <t>The signing algorithms it accepts from the issuer.</t>
        </li>
        <li>
          <t>The client identifier namespaces the issuer can attest through <tt>sub</tt>.</t>
        </li>
        <li>
          <t>The authorization server issuer identifiers the issuer can name in <tt>aud</tt>.</t>
        </li>
        <li>
          <t>Any tenant to which the server confines the issuer's decisions.</t>
        </li>
        <li>
          <t>The maximum statement lifetime the server honors, which sets each statement's effective expiry.</t>
        </li>
      </ul>
      <t>A client identifier namespace is an <tt>https</tt> URL with no query or fragment whose path ends in <tt>/</tt>, such as <tt>https://client.example/</tt> or <tt>https://client.example/apps/</tt>. A client identifier URL falls within a namespace if the namespace is a prefix of it under simple string comparison (Section 6.2.1 of <xref target="RFC3986"/>).</t>
      <t>The issuer's statement key set is the JWK Set at the <tt>software_statement_jwks_uri</tt> in its authorization server metadata (<xref target="authorization-server-metadata"/>), discovered from the configured <tt>iss</tt> (<xref target="RFC8414"/>). For an issuer that is not an authorization server, it is the JWK Set at a statement key set URL in the configuration. It is never the JWK Set at a <tt>jwks_uri</tt> metadata value. Its URL <bcp14>MUST</bcp14> use the <tt>https</tt> scheme, and a trusting authorization server <bcp14>MUST</bcp14> validate the certificate of the host serving it. The issuer <bcp14>MUST NOT</bcp14> publish a key of its statement key set in any other JWK Set, or sign anything other than statements under this specification with those keys. A trusting authorization server reuses a retrieved statement key set only as <xref target="retrieval"/> permits.</t>
      <t>The configuration can also make an issuer a required issuer for client identifier namespaces in one of the server's tenants (<xref target="trust-configuration"/>). The server then <bcp14>MUST NOT</bcp14> admit software in a covered namespace in that tenant without a current statement from the required issuer, whatever its policy for CIMD clients it has not reviewed. Without this rule, a holder could evade the required issuer's decision by withholding that issuer's statement or by presenting or publishing only a broader one, such as a marketplace listing. A required issuer configured for software whose document makes every presentation review-only (item 1 of <xref target="review-only"/>) excludes that software from the tenant, and the server rejects a request for such software there.</t>
      <section anchor="multi-tenant-issuers">
        <name>Multi-Tenant Issuers</name>
        <t>If an issuer reviews software for several customers whose decisions are each trusted independently, it <bcp14>MUST</bcp14> issue under a distinct <tt>iss</tt> value for each customer, so that each customer's decisions, and any state a server keeps per <tt>iss</tt> value, stay separate.</t>
      </section>
    </section>
    <section anchor="cimd-presentation">
      <name>Runtime Presentation</name>
      <t>An authorization server that admits clients at request time under this specification <bcp14>MUST</bcp14> support statements presented in requests (<xref target="runtime-presentation"/>). Support for pulled statements (<xref target="pulled-statements"/>) is optional, and a server advertises it with the <tt>software_statement_pull_supported</tt> metadata value (<xref target="authorization-server-metadata"/>). A server that consumes statements only to create or renew registrations (<xref target="REGISTRATION"/>) need not support runtime presentation.</t>
      <section anchor="processing">
        <name>Admission</name>
        <t>For a runtime presentation, the authorization server proceeds as follows, rejecting at the first failure (<xref target="errors"/>):</t>
        <ol spacing="normal" type="1"><li>
            <t>Obtain the statement, presented in the request (<xref target="runtime-presentation"/>) or pulled (<xref target="pulled-statements"/>).</t>
          </li>
          <li>
            <t>Validate the statement (<xref target="validation"/>), completing every check that needs no client-controlled retrieval before any such retrieval (<xref target="retrieval"/>).</t>
          </li>
          <li>
            <t>Verify the <tt>client_id</tt> rule of <xref target="runtime-presentation"/>.</t>
          </li>
          <li>
            <t>Resolve the reviewed document and compare its digest (<xref target="effective-metadata"/>). A server that proceeds without the statement on a mismatch ends admission on the statement here.</t>
          </li>
          <li>
            <t>Apply <xref target="sender-constraint"/> to that document, verifying the sender constraint unless the statement is review-only (<xref target="review-only"/>). If <xref target="sender-constraint"/> or <xref target="pull-binding"/> defers the proof to code redemption, the server verifies it there.</t>
          </li>
          <li>
            <t>Evaluate the request against the reviewed metadata (<xref target="effective-metadata"/>).</t>
          </li>
          <li>
            <t>Create the establishment (<xref target="grant-lifecycle"/>), unless the statement is review-only (<xref target="review-only"/>).</t>
          </li>
        </ol>
      </section>
      <section anchor="effective-metadata">
        <name>Reviewed Metadata</name>
        <t>Having validated the statement, and before verifying the proof (<xref target="processing"/>), the authorization server <bcp14>MUST</bcp14> obtain the CIMD at the statement's <tt>sub</tt>, only by retrieval or from octets it has already digested for that identifier (<xref target="retrieval"/>), and compare its digest with the <tt>cimd_digest</tt> claim. If octets it already holds do not match, it retrieves the document once more before treating the mismatch as a change.</t>
        <t>A match means the served document is the reviewed one, and its members are the client's metadata for the request. The server takes those members from the octets whose digest matched, not from another retrieval or a copy it has not digested. A mismatch means the document changed after review, and the authorization server <bcp14>MUST NOT</bcp14> treat the changed document as reviewed. It rejects the presentation or, by local policy, proceeds without the statement. If it proceeds, it applies its policy for CIMD clients it has not reviewed to the current document and creates no establishment for the statement.</t>
        <t>A trusting authorization server <bcp14>MUST</bcp14> reject a reviewed document containing duplicate object member names (Section 4 of <xref target="RFC8259"/>), wherever it resolves one. Parsers interpret such names differently despite an identical digest.</t>
        <t>The request is evaluated against the reviewed metadata as against any client's registered metadata (<xref target="RFC6749"/>, <xref target="CIMD"/>): any requested grant type, response type, or scope <bcp14>MUST</bcp14> fall within it. A document that omits <tt>scope</tt> sets no ceiling on scope beyond the server's own policy. Omitted <tt>grant_types</tt> and <tt>response_types</tt> members take their <xref target="RFC7591"/> defaults.</t>
      </section>
      <section anchor="retrieval">
        <name>Retrieval</name>
        <t>Every retrieval this specification causes inherits the server-side request forgery protections in Section 10.7 of <xref target="CIMD"/>, whether of the CIMD, a <tt>jwks_uri</tt> it names, the statements its <tt>software_statements_uri</tt> names, or a statement key set or the issuer metadata that locates one (<xref target="issuer-trust"/>). A trusted signature does not make a URL safe: the authorization server <bcp14>MUST</bcp14> apply its URL, redirect, address-range, transport, and content-type policy independently to every referenced location.</t>
        <t>If a retrieval fails, the authorization server <bcp14>MUST</bcp14> reject the request and <bcp14>MUST NOT</bcp14> fall back to a weaker proof. The exception is a failed pull of statements, or a failed retrieval of a statement key set (<xref target="issuer-trust"/>) needed to verify a pulled statement, for a request opening a new grant: that failure does not by itself reject the request, which proceeds as <xref target="pull-selection"/> describes.</t>
        <t>A retrieval does not complete if it times out, its connection fails, or the response has a 429 (Too Many Requests) status code (Section 4 of <xref target="RFC6585"/>) or a 5xx status code. Any other failure to obtain an acceptable representation is final, such as another 4xx status code, a body that is not a JSON object, or a response exceeding the server's configured size bound (Section 10.11 of <xref target="CIMD"/>), which the authorization server <bcp14>MUST</bcp14> treat as a failure rather than digesting what it read. After a final failure, a document is treated as failing validation, a key set as carrying no acceptable key, and a statements location as publishing no statement. For the document, a retrieval that does not complete is a transient failure and a final failure is a terminal failure (Section 6.1 of <xref target="CIMD"/>).</t>
        <t>A trusting authorization server <bcp14>MAY</bcp14> reuse document octets it holds for digest comparison (<xref target="effective-metadata"/>), a key set retrieved from a document's <tt>jwks_uri</tt>, and a statement key set from either source (<xref target="issuer-trust"/>), only within ordinary HTTP caching bounds and a maximum reuse period of its own choosing. It <bcp14>MUST NOT</bcp14> let the publisher's cache directives alone (the client's for the document and its key set, the issuer's for a statement key set) determine how long held octets continue to match a statement or a removed key continues to verify (<xref target="statement-validation"/>). Without this rule, a key the document carries inline would continue to verify after the publisher removes it.</t>
      </section>
      <section anchor="runtime-presentation">
        <name>Presentation Request</name>
        <t>A client presents a software statement by including the following parameter in a token request or a pushed authorization request:</t>
        <dl>
          <dt><tt>software_statement</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14> for a presentation made in a request. The software statement (<xref target="profiles"/>). It is consumed as a runtime presentation or in a role defined by an extension the server implements. On refresh-token use under an establishment, a server ignores the parameter unless an extension it implements defines its role there. A request carrying the parameter in any other role is rejected.</t>
          </dd>
        </dl>
        <t>A request making a runtime presentation <bcp14>MUST</bcp14> include the <tt>client_id</tt> parameter, even if the client authenticates, and its value, the client's CIMD URL, <bcp14>MUST</bcp14> exactly equal the statement's <tt>sub</tt> claim. The authorization server <bcp14>MUST</bcp14> reject a request that omits the parameter or carries another value. The effective <tt>client_id</tt> is the statement's <tt>sub</tt>, and the authorization server assigns none.</t>
        <t>An authorization server that does not implement this specification ignores the parameter (Sections 3.1 and 3.2 of <xref target="RFC6749"/>).</t>
        <section anchor="token-requests">
          <name>Token Endpoint</name>
          <t>At the token endpoint, a runtime presentation is valid on a request that opens a new grant in that request, such as one using the <tt>client_credentials</tt> grant, the JWT or SAML 2.0 assertion grant (Section 2.1 of <xref target="RFC7523"/> and Section 2.1 of <xref target="RFC7522"/>), or token exchange <xref target="RFC8693"/>.</t>
          <t>It is not valid on a request that continues or completes a grant an earlier request began, such as authorization-code redemption, refresh-token use (<xref target="grant-lifecycle"/>, <xref target="refresh"/>), or redemption of a device code <xref target="RFC8628"/>. Admission belongs to the request that begins the grant, before the resource owner approves the client.</t>
        </section>
        <section anchor="authorization-requests">
          <name>Authorization Endpoint</name>
          <t>Presentation in an authorization request <bcp14>MUST</bcp14> use a pushed authorization request <xref target="RFC9126"/>. The subsequent authorization request <bcp14>MUST</bcp14> use a <tt>client_id</tt> parameter exactly equal to the establishment's <tt>sub</tt> and <bcp14>MUST NOT</bcp14> include the <tt>software_statement</tt> parameter. A pulled statement needs no pushed authorization request (<xref target="pulled-statements"/>).</t>
        </section>
      </section>
      <section anchor="pulled-statements">
        <name>Pulled Statements</name>
        <t>A client can publish its statements at a URL its document names instead of presenting one. When a client opening a new grant presents no statement, at the token endpoint, the pushed authorization request endpoint, or the authorization endpoint, an authorization server that supports pulled statements <bcp14>MAY</bcp14> retrieve them. Admission then follows <xref target="processing"/>, except that:</t>
        <ul spacing="normal">
          <li>
            <t>The server chooses the statement (<xref target="pull-selection"/>).</t>
          </li>
          <li>
            <t>If the pull yields no usable statement, the request proceeds as if the client had presented none (<xref target="pull-selection"/>).</t>
          </li>
          <li>
            <t>A pulled statement is review-only in the cases <xref target="pull-binding"/> identifies.</t>
          </li>
        </ul>
        <t>This specification defines the following client metadata member:</t>
        <dl>
          <dt><tt>software_statements_uri</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. URL, in a CIMD, at which the client publishes software statements about itself. The member has no meaning in a registration request. The URL <bcp14>MUST</bcp14> use the <tt>https</tt> scheme. A request to it returns, with a JSON media type such as <tt>application/json</tt>, a JSON object whose <tt>software_statements</tt> member is an array of statements (<xref target="profiles"/>), each a string in JWS compact serialization. The metadata digest covers this member (<xref target="metadata-digest"/>).</t>
          </dd>
        </dl>
        <t>An authorization server advertises support through <tt>software_statement_pull_supported</tt> (<xref target="authorization-server-metadata"/>).</t>
        <section anchor="pull-selection">
          <name>Retrieval and Selection</name>
          <t>In retrieving the <tt>software_statements_uri</tt>, the authorization server:</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>MUST</bcp14> send a <tt>GET</tt> request with <tt>Accept: application/json</tt>.</t>
            </li>
            <li>
              <t><bcp14>MUST NOT</bcp14> automatically follow redirects.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> accept a new representation only from a <tt>200</tt> response with a JSON media type, and can instead reuse a stored representation that a <tt>304 Not Modified</tt> response revalidates (Section 15.4.5 of <xref target="RFC9110"/>).</t>
            </li>
          </ul>
          <t>The document and this URL are necessarily retrieved before any statement is validated, so the ordering of step 2 of <xref target="processing"/> applies only to the retrievals that follow.</t>
          <t>The server considers only statements that meet all of the following conditions, and ignores the rest:</t>
          <ul spacing="normal">
            <li>
              <t>The <tt>sub</tt> claim equals the document's client identifier.</t>
            </li>
            <li>
              <t>The statement validates under <xref target="validation"/>.</t>
            </li>
            <li>
              <t>The <tt>cimd_digest</tt> claim equals the digest of the document the server resolved.</t>
            </li>
          </ul>
          <t>If the server's trust configuration requires an issuer for this client (<xref target="issuer-trust"/>), the server also ignores statements from any other issuer. If more than one statement remains, it applies the most recently issued statement from an issuer of its choice.</t>
          <t>Having selected a statement, the server continues from step 5 of <xref target="processing"/>, with the document already resolved. The selection satisfies the <tt>client_id</tt> rule of step 3.</t>
          <t>If retrieving the statements does not complete or no statement remains, the server applies its policy for CIMD clients it has not reviewed, subject to any required issuer (<xref target="issuer-trust"/>), and rejects the request if that policy or a required issuer requires reviewed software.</t>
        </section>
        <section anchor="pull-binding">
          <name>Binding</name>
          <t>Unless the reviewed document's redirection URIs make it review-only (<xref target="review-only"/>), a pulled statement is bound to the presenter as a presented statement is (<xref target="sender-constraint"/>), at the point the following table shows:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Where the statement is pulled</th>
                <th align="left">Confidential client</th>
                <th align="left">Public client</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Token endpoint, opening a new grant</td>
                <td align="left">The request's client authentication</td>
                <td align="left">Review-only</td>
              </tr>
              <tr>
                <td align="left">Pushed authorization request endpoint</td>
                <td align="left">The request's client authentication</td>
                <td align="left">PKCE with <tt>S256</tt> and a key bound through a DPoP proof or <tt>dpop_jkt</tt>, as <xref target="public-client-presentation"/> requires. Otherwise review-only</td>
              </tr>
              <tr>
                <td align="left">Authorization endpoint</td>
                <td align="left">Client authentication at code redemption, before any token is issued</td>
                <td align="left">PKCE with <tt>S256</tt> and a key bound through <tt>dpop_jkt</tt>, as <xref target="public-client-presentation"/> requires, which redemption then proves. Otherwise review-only</td>
              </tr>
            </tbody>
          </table>
          <t>At code redemption, a confidential client whose statement was pulled at the authorization endpoint authenticates with a key the reviewed document carries, in its <tt>jwks</tt> or at its <tt>jwks_uri</tt> within the reuse bounds of <xref target="retrieval"/>, not one that only a later retrieval of the document carries, and that key becomes the establishment's proven key. The method with which the client authenticates becomes the establishment's Selected Method.</t>
        </section>
      </section>
      <section anchor="sender-constraint">
        <name>Sender Constraint</name>
        <t>A runtime presentation that is not review-only (<xref target="review-only"/>) <bcp14>MUST</bcp14> be sender-constrained under one of two models:</t>
        <ul spacing="normal">
          <li>
            <t>Confidential client: by a key the reviewed document carries (<xref target="confidential-client-presentation"/>).</t>
          </li>
          <li>
            <t>Public client: by an installation key the presenter binds (<xref target="public-client-presentation"/>), while its reviewed redirection URIs, with PKCE <tt>S256</tt>, bind the presentation itself (<xref target="public-client-security"/>).</t>
          </li>
        </ul>
        <t>The authorization server determines the model from the reviewed document's permitted methods that it supports and its policy allows, not from the request. It <bcp14>MUST</bcp14> apply the confidential-client model if those methods include one other than <tt>none</tt>, and otherwise applies the public-client model if they include <tt>none</tt>. If they include neither, Section 5 of <xref target="CIMD"/> applies. A document sets one model at a server. Components of one piece of software that differ in client type, such as a backend that holds a key and a desktop application that does not, therefore each use their own CIMD (Section 2.1 of <xref target="RFC6749"/>).</t>
        <t>For a presentation that is not review-only, under either model:</t>
        <ul spacing="normal">
          <li>
            <t>The presenter proves possession of the key its model requires through the applicable client authentication method or a DPoP proof <xref target="RFC9449"/>. A public client that binds its key through <tt>dpop_jkt</tt> proves possession at code redemption (<xref target="grant-lifecycle"/>). If a confidential client's request carries both client authentication and a DPoP proof, the key its client authentication proves is the proven key.</t>
          </li>
          <li>
            <t>The proof <bcp14>MUST</bcp14> be bound to the current request and validated with the replay protections of that mechanism.</t>
          </li>
          <li>
            <t>A confidential client's presenter <bcp14>MUST</bcp14> authenticate with a permitted method other than <tt>none</tt> that the server supports and its policy allows, and that method is the establishment's Selected Method. A public client's Selected Method is <tt>none</tt>.</t>
          </li>
          <li>
            <t>The authorization server <bcp14>MUST</bcp14> reject a presentation without such a proof or, for a confidential client, whose proven key the reviewed document does not carry.</t>
          </li>
        </ul>
        <section anchor="confidential-client-presentation">
          <name>Confidential Clients</name>
          <t>For a confidential client's presentation that is not review-only, the proven key <bcp14>MUST</bcp14> appear in the <tt>jwks</tt> or at the <tt>jwks_uri</tt> of the reviewed document (<xref target="effective-metadata"/>). A key appears there if the document's <tt>jwks</tt>, or the JWK Set at its <tt>jwks_uri</tt>, contains a key with the same JWK Thumbprint (<xref target="RFC7638"/>), computed with SHA-256. The comparison covers key material only: the key's algorithm and intended use are checked as the client authentication method requires. The same comparison applies wherever this specification asks whether a document carries a key. Methods that prove possession of a key the document carries, such as <tt>private_key_jwt</tt> (Section 5 of <xref target="CIMD"/>) and <tt>self_signed_tls_client_auth</tt> (Section 2.2 of <xref target="RFC8705"/>), satisfy this directly.</t>
        </section>
        <section anchor="public-client-presentation">
          <name>Public Clients</name>
          <t>Software distributed to end users cannot hold a key its reviewed document carries: a key shipped in every copy identifies the software, not the installation. Such a document permits <tt>none</tt> and carries no key material.</t>
          <t>An authorization server <bcp14>MUST</bcp14> reject a presentation made in a request, even a review-only one, that opens a new grant at the token endpoint (<xref target="token-requests"/>) from a public client. Such a presentation opens no redirect and has nothing to bind it. <xref target="pull-binding"/> covers a pulled statement.</t>
          <t>For a public client's presentation that is not review-only, made or pulled at the pushed authorization request endpoint, or pulled at the authorization endpoint (<xref target="pull-binding"/>), the authorization server:</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>MUST</bcp14> require PKCE <xref target="RFC7636"/> with the <tt>S256</tt> method.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> require the presenter to bind a key it holds, through the <tt>dpop_jkt</tt> parameter or, at the pushed authorization request endpoint, a DPoP proof (Section 10.1 of <xref target="RFC9449"/>), and records that key as the proven key of the establishment (<xref target="grant-lifecycle"/>).</t>
            </li>
            <li>
              <t><bcp14>MUST NOT</bcp14> require that key to appear in the reviewed document.</t>
            </li>
          </ul>
        </section>
        <section anchor="review-only">
          <name>Review-Only Presentations</name>
          <t>The following are review-only:</t>
          <ol spacing="normal" type="1"><li>
              <t>Every presentation and pulled statement for a reviewed document that carries any redirection URI another application on the same device could claim, whatever methods the document permits. Such a URI is a non-<tt>https</tt> URI, such as a private-use scheme or an <tt>http</tt> loopback redirection URI (Sections 7.1 and 7.3 of <xref target="RFC8252"/>), or an <tt>https</tt> URI whose host is a loopback address, <tt>localhost</tt>, or a name ending in <tt>.localhost</tt> (Section 6.3 of <xref target="RFC6761"/>), ignoring case and a trailing dot. The application that claims such a URI receives the code, so neither the reviewed redirection URIs nor a key shipped in every copy of the software can bind the presenter.</t>
            </li>
            <li>
              <t>A pulled statement that <xref target="pull-binding"/> makes review-only.</t>
            </li>
          </ol>
          <t>A review-only presentation or pulled statement creates no establishment, and its statement <bcp14>MUST NOT</bcp14> satisfy a policy requiring reviewed software: the authorization server proceeds as it would for the same CIMD client presenting no statement, though it can record the statement's issuer for audit (<xref target="ui-audit"/>).</t>
        </section>
      </section>
      <section anchor="grant-lifecycle">
        <name>Grant Binding</name>
        <t>A successful presentation creates an establishment: the state against which the subsequent authorization request, code redemption, and refresh under the grant it opens are checked. It comprises the following:</t>
        <ul spacing="normal">
          <li>
            <t>The validated <tt>sub</tt>.</t>
          </li>
          <li>
            <t>The statement identity (its <tt>iss</tt> and <tt>jti</tt>), its <tt>iat</tt> and effective expiry, and any claim an extension uses to locate the statement.</t>
          </li>
          <li>
            <t>The authorization server's own tenant the grant was opened for, if it hosts more than one.</t>
          </li>
          <li>
            <t>The reviewed metadata and the digest it matched (<xref target="effective-metadata"/>).</t>
          </li>
          <li>
            <t>The issuer trust decision.</t>
          </li>
          <li>
            <t>The Selected Method, the sender-constraint mechanism, and the proven key.</t>
          </li>
        </ul>
        <t>The authorization server <bcp14>MUST</bcp14> bind the resulting <tt>request_uri</tt>, authorization code, refresh token, and other grant continuation state to the establishment, as applicable. An establishment ends once no continuation state bound to it remains usable.</t>
        <t>A token request that redeems an authorization code bound to an establishment:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> have a <tt>client_id</tt> parameter exactly equal to the establishment's <tt>sub</tt>, even if the client authenticates.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> be made in the tenant the establishment records, if the authorization server hosts more than one tenant (<xref target="validation"/>).</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> demonstrate possession of the establishment's proven key under the same sender-constraint mechanism or, for a confidential client whose statement was pulled at the authorization endpoint (<xref target="pull-binding"/>), authenticate with the key that becomes the proven key.</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> carry the <tt>software_statement</tt> parameter.</t>
          </li>
        </ul>
        <t>A redemption that carries a statement, has a wrong client identifier, is made in another tenant, or fails the key binding is rejected.</t>
        <section anchor="refresh">
          <name>Refresh</name>
          <t>On refresh-token use under an establishment, the authorization server:</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>MUST</bcp14> verify that the request is made in the tenant the establishment records, if it hosts more than one tenant.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> verify possession of the establishment's proven key under the same sender-constraint mechanism.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14>, except for an establishment created under <xref target="public-client-presentation"/>, verify that the document currently served at the establishment's <tt>sub</tt> still carries that key, in its <tt>jwks</tt> or at its <tt>jwks_uri</tt>, within the reuse bounds of <xref target="retrieval"/>.</t>
            </li>
          </ul>
          <t>If any of these checks fails, the server rejects the refresh. The refreshed access <bcp14>MUST</bcp14> fall within the establishment's reviewed metadata.</t>
          <t>Under this specification, refresh evaluates no statement (<xref target="enforcement-bounds"/>) and never changes the establishment's proven key or reviewed metadata. A client that needs a different key or review opens a new grant by presentation. An extension can instead provide for replacing the review on refresh.</t>
        </section>
      </section>
    </section>
    <section anchor="errors">
      <name>Error Responses</name>
      <t>A rejection uses the error response and HTTP status codes of its endpoint: Section 5.2 of <xref target="RFC6749"/> at the token endpoint, Section 2.3 of <xref target="RFC9126"/> at the pushed authorization request endpoint, and Section 4.1.2.1 of <xref target="RFC6749"/> at the authorization endpoint.</t>
      <t>A rejection for a reason this specification defines uses the first of the following error codes that applies:</t>
      <ol spacing="normal" type="1"><li>
          <t><tt>invalid_request</tt>, if the request carries the <tt>software_statement</tt> parameter in a role <xref target="runtime-presentation"/> does not permit.</t>
        </li>
        <li>
          <t><tt>temporarily_unavailable</tt>, if a retrieval the request needs did not complete (<xref target="retrieval"/>), including a pull of statements (<xref target="pulled-statements"/>) or the retrieval of a statement key set needed to verify a pulled statement.</t>
        </li>
        <li>
          <t>The code that <xref target="presentation-errors"/>, <xref target="continuation-errors"/>, or <xref target="authorization-errors"/> assigns.</t>
        </li>
      </ol>
      <t>At the token and pushed authorization request endpoints, an authorization server <bcp14>MUST</bcp14> respond with HTTP status code 503 to a request it rejects with the <tt>temporarily_unavailable</tt> error code, as Section 6.1 of <xref target="CIMD"/> requires for a transient failure to retrieve the document.</t>
      <t>A rejection for another reason, such as an assertion grant whose assertion is invalid (Section 3.1 of <xref target="RFC7523"/>) or an expired or revoked refresh token, uses the error code its grant or endpoint assigns. An extension assigns codes to the rejections it defines.</t>
      <section anchor="statement-required">
        <name>Statement Required Error</name>
        <t>This specification defines the following error code:</t>
        <dl>
          <dt><tt>statement_required</tt>:</dt>
          <dd>
            <t>A current software statement is required and none was presented or pulled, or the one presented or pulled is expired and otherwise valid. An extension can assign it to further cases. The client recovers by obtaining a current statement, from the required issuer if the tenant has one (<xref target="issuer-trust"/>).</t>
          </dd>
        </dl>
      </section>
      <section anchor="presentation-errors">
        <name>Presentation Requests</name>
        <t>A presentation at the token or pushed authorization request endpoint is rejected with the following error codes:</t>
        <dl>
          <dt><tt>invalid_client</tt>:</dt>
          <dd>
            <t>Any of the following:
</t>
            <ul spacing="normal">
              <li>
                <t>The statement is malformed or fails validation (<xref target="validation"/>) for a reason other than expiry.</t>
              </li>
              <li>
                <t>The request's <tt>client_id</tt> differs from the statement's <tt>sub</tt> (<xref target="runtime-presentation"/>).</t>
              </li>
              <li>
                <t>The request fails the sender constraint (<xref target="sender-constraint"/>), including a presentation opening a new grant at the token endpoint for a public client (<xref target="public-client-presentation"/>).</t>
              </li>
              <li>
                <t>The reviewed document cannot be obtained, including over the size bound, fails validation as <xref target="CIMD"/> requires, contains duplicate member names (<xref target="effective-metadata"/>), or does not match and the server does not proceed without the statement (<xref target="effective-metadata"/>).</t>
              </li>
              <li>
                <t>The bound on establishments is reached (<xref target="establishment-bounds"/>).</t>
              </li>
            </ul>
          </dd>
          <dt><tt>statement_required</tt>:</dt>
          <dd>
            <t>Expiry is the statement's only validation failure (<xref target="statement-required"/>), or a required statement is absent, including one from an issuer required for the tenant (<xref target="issuer-trust"/>).</t>
          </dd>
          <dt><tt>unauthorized_client</tt>:</dt>
          <dd>
            <t>Any of the following, in place of <tt>statement_required</tt> if both apply at the step of <xref target="processing"/> where the server rejects the request:
</t>
            <ul spacing="normal">
              <li>
                <t>The request exceeds the reviewed document's grant types or response types (<xref target="effective-metadata"/>).</t>
              </li>
              <li>
                <t>The document carries metadata this server's policy refuses.</t>
              </li>
              <li>
                <t>The client's statement is review-only where policy or a required issuer requires reviewed software (<xref target="review-only"/>).</t>
              </li>
              <li>
                <t>The request is for software a required issuer excludes from the tenant (<xref target="issuer-trust"/>).</t>
              </li>
            </ul>
          </dd>
          <dt><tt>invalid_scope</tt>:</dt>
          <dd>
            <t>The request exceeds the reviewed document's scope (<xref target="effective-metadata"/>), or the document carries a scope this server's policy refuses.</t>
          </dd>
          <dt><tt>invalid_request</tt>:</dt>
          <dd>
            <t>The request omits <tt>client_id</tt> (<xref target="runtime-presentation"/>).</t>
          </dd>
        </dl>
      </section>
      <section anchor="continuation-errors">
        <name>Code Redemption and Refresh</name>
        <t>Under an establishment, code redemption (<xref target="grant-lifecycle"/>) is rejected with the following error codes:</t>
        <dl>
          <dt><tt>invalid_grant</tt>:</dt>
          <dd>
            <t>The request has a wrong client identifier, is made in another tenant, or fails the key binding.</t>
          </dd>
          <dt><tt>invalid_client</tt>:</dt>
          <dd>
            <t>The bound on establishments is reached (<xref target="establishment-bounds"/>).</t>
          </dd>
        </dl>
        <t>Under an establishment, a refresh-token request is rejected with the following error codes:</t>
        <dl>
          <dt><tt>invalid_client</tt>:</dt>
          <dd>
            <t>The document currently served at the establishment's <tt>sub</tt> cannot be obtained or fails validation (<xref target="retrieval"/>), as Section 6.1 of <xref target="CIMD"/> requires.</t>
          </dd>
          <dt><tt>invalid_grant</tt>:</dt>
          <dd>
            <t>Any other check of <xref target="refresh"/> fails.</t>
          </dd>
          <dt><tt>unauthorized_client</tt> or <tt>invalid_scope</tt>:</dt>
          <dd>
            <t>The refreshed access exceeds the reviewed metadata or this server's policy, as for a presentation.</t>
          </dd>
        </dl>
        <t>None of these rejections indicates refresh-token replay (<xref target="RFC9700"/>), whose detection this specification does not change.</t>
      </section>
      <section anchor="authorization-errors">
        <name>Authorization Requests</name>
        <t>If the authorization server's policy or a required issuer (<xref target="issuer-trust"/>) requires reviewed software, an authorization request from a client the server has not admitted on a statement is rejected in the authorization error response (Section 4.1.2.1 of <xref target="RFC6749"/>) with the following error codes:</t>
        <dl>
          <dt><tt>unauthorized_client</tt>:</dt>
          <dd>
            <t>The client's statement is review-only (<xref target="review-only"/>), or a required issuer excludes the software from the tenant (<xref target="issuer-trust"/>).</t>
          </dd>
          <dt><tt>statement_required</tt>:</dt>
          <dd>
            <t>In any other case, subject to the order of <xref target="errors"/>, the authorization server <bcp14>MUST</bcp14> return this code.</t>
          </dd>
        </dl>
        <t>When an authorization request is evaluated against a statement pulled at the authorization endpoint (step 6 of <xref target="processing"/>), one that exceeds the reviewed document's response types or scope is rejected with <tt>unauthorized_client</tt> or <tt>invalid_scope</tt>, as for a presentation (<xref target="presentation-errors"/>).</t>
        <t>Before redirecting with an error, the authorization server validates the <tt>redirect_uri</tt> against the client's CIMD, which it resolves first, or, for a registered client, against its registered redirection URIs (Section 4.1.2.1 of <xref target="RFC6749"/>). If it cannot obtain a CIMD client's document, or the document fails validation, it <bcp14>MUST NOT</bcp14> redirect (Section 6.1 of <xref target="CIMD"/>).</t>
      </section>
      <section anchor="proof-errors">
        <name>Proof Mechanism Errors</name>
        <t>If the proof mechanism defines an error of its own for a proof it does not accept, such as <tt>invalid_dpop_proof</tt> for a DPoP proof that fails the checks of Section 4.3 of <xref target="RFC9449"/> or <tt>use_dpop_nonce</tt> for a nonce challenge (Section 8 of <xref target="RFC9449"/>), the request is rejected with that error in place of the code this specification assigns to a failed sender constraint.</t>
        <t>A proof that its mechanism accepts but that proves a key other than the one this specification requires, such as a key the reviewed document does not carry or one other than the establishment's proven key, is not an invalid proof but a failed sender constraint.</t>
      </section>
      <section anchor="error-descriptions">
        <name>Error Descriptions</name>
        <t>The authorization server can return non-sensitive diagnostics in the <tt>error_description</tt> parameter to a client it has authenticated, but <bcp14>MUST NOT</bcp14> reveal details of its issuer trust configuration (<xref target="issuer-trust"/>), such as the client identifier namespaces an issuer can attest, to an unauthenticated requester.</t>
      </section>
    </section>
    <section anchor="example">
      <name>Examples</name>
      <t>The examples in this section are non-normative.</t>
      <section anchor="presenting-at-the-token-endpoint">
        <name>Presenting at the Token Endpoint</name>
        <t>The following is an example of a client presenting a statement at the token endpoint of a server holding no record for the client (line breaks for display purposes only). The reviewed document, which is not shown, names a <tt>jwks_uri</tt>, the <tt>private_key_jwt</tt> authentication method, the <tt>client_credentials</tt> grant type, and a <tt>scope</tt> that includes <tt>tools.read</tt>, so the client authenticates with a key that document carries. The <tt>client_id</tt> is the statement's <tt>sub</tt>.</t>
        <sourcecode type="http"><![CDATA[
POST /token HTTP/1.1
Host: as.example
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&scope=tools.read
&client_id=https%3A%2F%2Fclient.example%2Fapp
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3A
client-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJFUzI1NiIsImtpZCI6IjIwMjYtMDgifQ...
&software_statement=eyJ0eXAiOiJzb2Z0d2FyZS1zdGF0ZW1l...
]]></sourcecode>
        <t>The authorization server validates the statement, retrieves the document at the statement's <tt>sub</tt>, checks its digest, verifies the client assertion against a key from that document's <tt>jwks_uri</tt>, and checks that the requested <tt>scope</tt> falls within the document's <tt>scope</tt>. It keeps no registration.</t>
      </section>
      <section anchor="publishing-a-statement-for-servers-to-pull">
        <name>Publishing a Statement for Servers to Pull</name>
        <t>The following is an example of a CIMD that names where its statements are published:</t>
        <sourcecode type="json"><![CDATA[
{
  "client_id": "https://client.example/app",
  "redirect_uris": ["https://client.example/cb"],
  "token_endpoint_auth_methods_supported": ["private_key_jwt"],
  "jwks_uri": "https://client.example/jwks.json",
  "software_statements_uri":
    "https://client.example/statements.json"
}
]]></sourcecode>
        <t>A request to that URL returns the statements, here one:</t>
        <sourcecode type="json"><![CDATA[
{
  "software_statements": [
    "eyJ0eXAiOiJzb2Z0d2FyZS1zdGF0ZW1lbnQrand0Iiwi..."
  ]
}
]]></sourcecode>
        <t>An authorization server receiving an ordinary authorization request with this <tt>client_id</tt> resolves the document, retrieves the statements, and selects the one from a trusted issuer whose <tt>cimd_digest</tt> matches the document it retrieved. It completes the binding when the client authenticates with <tt>private_key_jwt</tt> at code redemption (<xref target="pull-binding"/>).</t>
      </section>
      <section anchor="statement-header-and-payload">
        <name>Statement Header and Payload</name>
        <t>The following is an example of the JOSE header and payload of a statement over the document in the previous example, served exactly as shown there, with two-space indentation, LF line endings, and a single final newline, and without any indentation added for display (287 octets):</t>
        <sourcecode type="json"><![CDATA[
{
  "typ": "software-statement+jwt",
  "alg": "ES256",
  "kid": "2026-10"
}
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://issuer.example",
  "sub": "https://client.example/app",
  "aud": ["https://as.example"],
  "statement_uses": ["presentation"],
  "iat": 1790812800,
  "exp": 1793404800,
  "jti": "c2a907b34d28",
  "cimd_digest": "DHPektjuDKWb2ZSp3nQs-hSrZ_tJE5nOv5-H_J83zn0"
}
]]></sourcecode>
        <t>The statement names one audience and permits only runtime presentation, as omitting <tt>statement_uses</tt> would. It carries no client metadata: the reviewed document supplies it.</t>
      </section>
    </section>
    <section anchor="authorization-server-metadata">
      <name>Authorization Server Metadata</name>
      <t>This specification defines the following authorization server metadata <xref target="RFC8414"/> values:</t>
      <dl>
        <dt><tt>software_statement_jwks_uri</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14> for an authorization server that issues statements under this specification. URL of its statement key set (<xref target="issuer-trust"/>), a JWK Set containing only the keys with which it signs them.</t>
        </dd>
        <dt><tt>software_statement_signing_alg_values_supported</tt>:</dt>
        <dd>
          <t><bcp14>REQUIRED</bcp14> for an authorization server that issues statements under this specification. A JSON array containing the asymmetric JWS <tt>alg</tt> values that the authorization server can use to sign them. The array <bcp14>MUST NOT</bcp14> contain <tt>none</tt> or a symmetric algorithm.</t>
        </dd>
        <dt><tt>software_statement_pull_supported</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. Boolean value indicating whether the authorization server retrieves statements from a client's <tt>software_statements_uri</tt> member when admitting a client that presented none (<xref target="pulled-statements"/>). If omitted, the default value is <tt>false</tt>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="extensions">
      <name>Extension Points</name>
      <t>The following extensions are left to separate specifications:</t>
      <ul spacing="normal">
        <li>
          <t>Consumption at registration (<xref target="REGISTRATION"/>): a statement in an <xref target="RFC7591"/> registration request, with the registered metadata taken from the reviewed document.</t>
        </li>
        <li>
          <t>Attested keys: a client attestation <xref target="ABCA"/> vouching for a key the reviewed document does not carry. Without one, software whose instances authenticate with keys of their own cannot prove those keys (<xref target="sender-constraint"/>).</t>
        </li>
        <li>
          <t>Statement conveyance within a client attestation, rather than as a request parameter.</t>
        </li>
        <li>
          <t>Runtime presentation in the request that begins a grant at an endpoint this specification does not cover, such as the device authorization endpoint of <xref target="RFC8628"/>.</t>
        </li>
        <li>
          <t>Partial review, by which an issuer vouches for particular members rather than a whole document (<xref target="metadata-digest"/>).</t>
        </li>
        <li>
          <t>Statement lifecycle: withdrawal, supersession, requiring a current statement on refresh, and refresh replacement.</t>
        </li>
      </ul>
    </section>
    <section anchor="relationship">
      <name>Relationship to Other Work</name>
      <t>This section is non-normative.</t>
      <section anchor="relationship-attestation">
        <name>Client Attestation</name>
        <t>A software statement and a client attestation <xref target="ABCA"/> are both signed third-party assertions. A statement records a review of client configuration. A client attestation attests a running instance and the key it holds, and is presented with a proof bound to the request.</t>
        <t>Neither assertion grants access nor substitutes for the other.</t>
      </section>
      <section anchor="identity-assertions">
        <name>Identity Assertions</name>
        <t>A statement records that a named party reviewed software, not that a particular customer currently permits that software to act in its tenant. A tenant-scoped decision (<tt>aud_tenant</tt>) authorizes no particular user or transaction. When a customer's identity provider mediates a grant, as with a cross-domain identity assertion <xref target="IDJAG"/>, it issues assertions per grant only for clients the customer permits. A statement serves when the issuer is not in the request path, or when a customer wants a portable record of what its review covered.</t>
      </section>
      <section anchor="relationship-federation">
        <name>OpenID Federation</name>
        <t>A trust mark <xref target="OPENID-FED"/> is also a signed third-party assertion about an entity. Section 17.5 of <xref target="OPENID-FED"/> permits trust marks whose accreditation authority is established out of band. This specification binds a review to exact CIMD octets and defines its use at admission, with directly configured issuers (<xref target="issuer-trust"/>) and no dependency on federation metadata resolution.</t>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>This section gives guidance to implementers. It adds no requirement.</t>
      <section anchor="caching">
        <name>Caching and Reuse of Retrieved Content</name>
        <t>A response from a <tt>software_statements_uri</tt> ought to be cached no longer than the document is. Because <xref target="CIMD"/> forbids caching an error response (Section 6.2 of <xref target="CIMD"/>), a failed retrieval (<xref target="retrieval"/>) is followed by back-off.</t>
      </section>
      <section anchor="processing-bounds">
        <name>Retrieval and Processing Bounds</name>
        <t>An authorization server can bound the retrieval and processing work of <xref target="external-retrieval"/> as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Rate-limit presentations per statement identity, per subject, and per source, and pulls (<xref target="pulled-statements"/>) per client identifier and per source, before spending retrieval or storage on a new presentation.</t>
          </li>
          <li>
            <t>Refuse a presentation that would create a new establishment, before spending retrieval or storage on it, once a bound on establishments (<xref target="establishment-bounds"/>) is reached.</t>
          </li>
          <li>
            <t>Bound JWT size and parsing work, concurrent retrievals, response size, and response time.</t>
          </li>
          <li>
            <t>Bound the size of a <tt>software_statements_uri</tt> response and the number of statements examined separately from the document's. Several issuers' statements outgrow a document-sized bound, and a host can pad the array.</t>
          </li>
          <li>
            <t>Discard pulled statements from unconfigured issuers before verifying any signature.</t>
          </li>
        </ul>
        <t>A response size bound also decides which reviewed documents a server can admit. Section 10.11 of <xref target="CIMD"/> recommends that a server read at most 5 kilobytes, so an issuer ought not to issue a statement over a larger document.</t>
      </section>
      <section anchor="establishment-bounds">
        <name>Bounding Establishments</name>
        <t>A statement attests client software, identified by <tt>sub</tt>, not its runtime instances, and this specification defines no instance identifier. One unexpired statement can therefore open establishments at each trusting authorization server in its audience, and more than one at each.</t>
        <t>A trusting authorization server can bound the number of establishments derived from one issuer's statements about one piece of software, identified by <tt>iss</tt> and <tt>sub</tt> claims. How it counts toward a bound is local policy, and a multi-tenant server keeps any bound per tenant. A bound stays effective only if what anyone holding a copy of a statement can create does not count toward it: a pushed authorization request and its unredeemed code, which a holder of a copy of a public client's statement can approve with its own account. Otherwise a holder of a copy could exhaust the bound for the software's other instances.</t>
        <t>For software admitted under <xref target="public-client-presentation"/>, a server can also bound establishments per resource owner, so that one user cannot exhaust a bound the software's other users share.</t>
        <t>When a request is refused at a bound (<xref target="presentation-errors"/>, <xref target="continuation-errors"/>), the authorization server ought to state that reason in <tt>error_description</tt>, and the client can retry once earlier establishments end (<xref target="grant-lifecycle"/>).</t>
      </section>
      <section anchor="ui-audit">
        <name>User Interface, Audit, and Logging</name>
        <t>An authorization server ought not to present the review in a review-only presentation to the user as an assurance about the presenter (<xref target="review-only"/>). It can record the statement's issuer for audit and inventory.</t>
        <t>Authorization servers ought to avoid logging software statements, which are sensitive in transit and at rest. A statement names reviewed software and, if it carries an audience, that software's intended relationships.</t>
      </section>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <t>This section gives guidance to operators and issuers. It adds no requirement.</t>
      <section anchor="trust-configuration">
        <name>Configuring Issuer Trust</name>
        <t>Trust configuration ought to constrain each issuer to the client identifier namespaces it is expected to attest (<xref target="issuer-trust"/>), for example URLs under the domains of the software publishers it serves. Without such a scope, a compromised or over-broad issuer can mint acceptable statements about any client software.</t>
        <t>When a trusting authorization server configures an issuer whose decisions are confined to one of its tenants, as a customer's own issuer is, it ought to record with that configuration the client identifier namespaces for which the issuer's decision is required in that tenant (<xref target="issuer-trust"/>).</t>
      </section>
      <section anchor="audience-practice">
        <name>Audience and Tenant Claims</name>
        <t>An issuer ought to name an audience.</t>
        <t>An issuer ought to omit the <tt>aud_tenant</tt> claim from a statement whose review applies wherever its <tt>aud</tt> reaches, such as a marketplace listing. The claim is also unnecessary if the authorization server has one tenant, or if the issuer and the server have agreed that the server's trust configuration confines the issuer to a tenant, as they can for an issuer that does not know the tenant's identifier.</t>
      </section>
      <section anchor="lifetime-practice">
        <name>Statement Lifetime and Renewal</name>
        <t>Short lifetimes tighten an issuer's control and increase renewal traffic. A fleet of statements issued together expires together, so issuers ought to stagger expiries or renew ahead of the boundary.</t>
        <t>A changed document is always served before a statement over it exists, so presentations under an earlier statement fail the digest comparison (<xref target="effective-metadata"/>), and the client cannot be admitted on a statement until one over the changed document is issued. A statement's lifetime bounds how long a review stands without being renewed.</t>
        <t>Instances need the most recently issued statement from a shared source rather than a copy fixed at build or install time, because the document can change (<xref target="effective-metadata"/>).</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="CIMD"/> and Section 5 of <xref target="RFC7591"/> apply.</t>
      <section anchor="what-statement-attests">
        <name>Assurance Provided by a Statement</name>
        <t>A statement binds an issuer's review to the octets of a CIMD, which describes an OAuth client configuration. It does not bind the software's code, dependencies, or behavior. Software can change while its document stays the same, and the statement remains acceptable until it expires (<xref target="enforcement-bounds"/>) or is withdrawn under an extension. Assurance about the software itself rests on the issuer's review process. Any change to the document's octets, including one that changes no metadata value, makes statements over the earlier octets fail the digest comparison (<xref target="effective-metadata"/>). The digest covers a URL the document carries, such as <tt>logo_uri</tt>, but not the content served at it, which can change after review.</t>
        <t>The following table states what admission on a statement does and does not establish:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Property</th>
              <th align="left">Established</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">A configured issuer signed the statement for this client identifier and, if the statement names an audience, one that includes this server</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">The served document is the one the issuer reviewed, octet for octet</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">The presenter controls a key the reviewed document carries</td>
              <td align="left">Yes, before any token is issued, except under <xref target="public-client-presentation"/>. A <tt>jwks_uri</tt> attests only the keys' location (<xref target="statement-validation"/>)</td>
            </tr>
            <tr>
              <td align="left">Authorization codes reach only a reviewed redirection URI</td>
              <td align="left">Yes, in a redirect flow. For a public client under <xref target="public-client-presentation"/> it is the only binding, and it does not hold against a party that controls the user agent (<xref target="public-client-security"/>)</td>
            </tr>
            <tr>
              <td align="left">The running software is the software the issuer reviewed</td>
              <td align="left">No; an attested-key extension can add evidence for it (<xref target="extensions"/>)</td>
            </tr>
            <tr>
              <td align="left">The client may access a particular resource</td>
              <td align="left">No; the authorization server's policy, and the resource owner's authorization where a grant involves one, decide</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="statement-validation">
        <name>Statement Theft and Replay</name>
        <t>A copied statement admits nothing without the sender constraint (<xref target="sender-constraint"/>), which for a public client does not hold against a party that controls the user agent (<xref target="public-client-security"/>). Except under <xref target="public-client-presentation"/> (<xref target="public-client-security"/>), admitting only keys the reviewed document carries also prevents a downgrade to a key the issuer did not review. An extension admitting attested keys (<xref target="extensions"/>) has to address downgrade itself.</t>
        <t>Attesting a <tt>jwks_uri</tt> attests the location, not its contents: a compromised key host can add keys that satisfy the proof without a digest change. If that matters, an issuer attests <tt>jwks</tt> inline and accepts that rotation changes the digest. A server reusing a cached key set (<xref target="retrieval"/>) also accepts that a just-removed key can briefly continue to verify.</t>
      </section>
      <section anchor="legacy-servers">
        <name>Servers That Do Not Implement This Specification</name>
        <t>A statement carries no client metadata, so an <xref target="RFC7591"/> server that verified one without implementing this specification would take every metadata value from the registration request, attaching the issuer's approval to an attacker's redirection URIs and keys. Keeping statement signing keys in a dedicated statement key set, out of any <tt>jwks_uri</tt>, and away from statements of other profiles (<xref target="issuer-trust"/>, <xref target="authorization-server-metadata"/>) means such a server finds no key that verifies a statement through the <tt>jwks_uri</tt> in an issuer's <xref target="RFC8414"/> metadata. It is exposed only if its operator configures the statement key set in it. For an issuer that is not an authorization server, that configuration is the only route to its keys, so the protection rests on operators recording the statement key set URL only in servers that implement this specification.</t>
      </section>
      <section anchor="public-client-security">
        <name>Copied Statements and Public Clients</name>
        <t>A statement for a document that permits <tt>none</tt> can be presented under the public-client model by anyone holding a copy, at any server that supports none of the document's other methods or whose policy refuses them (<xref target="sender-constraint"/>). An issuer that intends software to be admitted only as a confidential client reviews only documents that do not permit <tt>none</tt>.</t>
        <t>A party holding a copied statement for a public client can open a pushed authorization request in the reviewed software's name. It cannot receive an authorization code that another resource owner approves in a user agent the party does not control (<xref target="public-client-presentation"/>), so other users are exposed only to a consent prompt carrying the reviewed software's name and branding. Rate limits (<xref target="processing-bounds"/>) and the issuer's choice of audience and lifetime bound that exposure.</t>
        <t>A party that controls the user agent receives the code: an application embedding a user agent (Section 8.12 of <xref target="RFC8252"/>), or a holder authorizing with its own account. It redeems the code with a PKCE verifier and key of its own choosing. An admission under <xref target="public-client-presentation"/> therefore shows where codes are delivered, not which software holds the grant, and a tenant's required issuer (<xref target="issuer-trust"/>) cannot keep unreviewed software out for a user who chooses to run it. This is the client impersonation that Section 8.6 of <xref target="RFC8252"/> describes for public clients. An attested-key extension (<xref target="extensions"/>) would strengthen the binding by giving the instance a key a third party vouches for.</t>
      </section>
      <section anchor="tenant-confusion">
        <name>Tenant Confusion at a Multi-Tenant Authorization Server</name>
        <t>A multi-tenant server that derives the tenant one way to check a decision and another way to scope a token lets a client reach one tenant's resources on another tenant's decision. <xref target="validation"/> requires one tenant for both, which the client cannot select through a request parameter, statement claim, or document member.</t>
        <t>This specification defines no tenant parameter, and a CIMD URL is the same <tt>client_id</tt> in every tenant, so neither a client nor an issuer can verify that a server honored the tenant rule of <xref target="validation"/>.</t>
        <t>The <tt>aud_tenant</tt> claim names a tenant at the trusting authorization server, not which of the client's own customers is asking. Software that acts for many customers under one client identifier and key presents the same statement and key for each, so a statement naming a tenant admits the software there on behalf of every customer it serves, and any of those customers can direct the software at another customer's tenant. A statement attests software and cannot prevent this. A deployment that needs a customer-to-tenant binding records it at the trusting authorization server.</t>
      </section>
      <section anchor="external-retrieval">
        <name>External Retrieval and Resource Exhaustion</name>
        <t>The retrievals of <xref target="retrieval"/> happen before any client is registered or any user has interacted, so an unauthenticated requester can cause them with one acceptable statement or, at a server that pulls statements, with none. The bounds of <xref target="processing-bounds"/> limit this work but do not prevent it.</t>
      </section>
      <section anchor="enforcement-bounds">
        <name>Expiry and Open Grants</name>
        <t>Under this specification, expiry limits new admissions and ends nothing already opened: a grant lasts for the life of its refresh tokens, whatever the statement's lifetime, unless the server finds the proven key gone from the client's document (<xref target="refresh"/>). An older statement that has not expired remains admissible after a newer one narrows the review. A deployment that needs withdrawal, supersession, or grants that follow later reviews implements an extension providing them (<xref target="extensions"/>). Removing an issuer from trust configuration, or narrowing what it can attest, does not by itself end a grant already admitted on one of its statements. Nor does configuring a required issuer (<xref target="issuer-trust"/>) end a grant already admitted. A server ends such grants by its own means, such as revoking refresh tokens.</t>
      </section>
      <section anchor="oracle-considerations">
        <name>Observable State</name>
        <t>A <tt>statement_required</tt> refusal at the authorization endpoint (<xref target="authorization-errors"/>) travels through the user agent, so anyone who can see the redirection learns that this client has no established standing at this server. The disclosure is accepted because a client that cannot learn why it was refused cannot act. Outcomes still reveal some policy. By probing with public client identifier URLs, anyone can learn whether a request is admitted and, from <tt>statement_required</tt> versus <tt>unauthorized_client</tt>, whether a required issuer covers a client identifier in a tenant. <xref target="error-descriptions"/> keeps further detail of the issuer trust configuration out of <tt>error_description</tt> for unauthenticated requesters.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The privacy considerations of <xref target="CIMD"/> and Section 6 of <xref target="RFC7591"/> apply.</t>
      <t>A presentation reveals to the authorization server the client's issuer relationship and, if the statement carries an <tt>aud</tt> claim, the other authorization servers the client intends to use. Omitting that claim discloses nothing beyond the review. Pushed authorization requests (<xref target="authorization-requests"/>) keep statements out of browser history, referrers, and front-channel logs.</t>
      <t>Retrieving the document tells its host that the server is resolving the client. Pulling statements (<xref target="pulled-statements"/>) tells the host of <tt>software_statements_uri</tt> the same. That host is an additional party only if the URL is on another origin. Published statements are readable by anyone, so their <tt>aud</tt> and <tt>aud_tenant</tt> claims disclose which servers and tenants a review names. A statement whose audience is sensitive is presented rather than published.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="oauth-parameters-registry">
        <name>OAuth Parameters Registry</name>
        <t>This specification requests registration of the <tt>software_statement</tt> parameter in the IANA "OAuth Parameters" registry established by <xref target="RFC6749"/>:</t>
        <dl>
          <dt>Parameter Name:</dt>
          <dd>
            <t><tt>software_statement</tt></t>
          </dd>
          <dt>Parameter Usage Location:</dt>
          <dd>
            <t>authorization request, token request</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="runtime-presentation"/> and <xref target="authorization-requests"/></t>
          </dd>
        </dl>
        <t>The "OAuth Dynamic Client Registration Metadata" registry established by <xref target="RFC7591"/> already contains a <tt>software_statement</tt> member, which this registration does not affect. The parameter reuses the name because it carries the same <xref target="RFC7591"/> artifact.</t>
      </section>
      <section anchor="media-type">
        <name>Media Type Registration</name>
        <t>This specification requests registration of the <tt>application/software-statement+jwt</tt> media type in the IANA "Media Types" registry <xref target="RFC6838"/>. <xref target="RFC7591"/> defines no media type for software statements. This registration covers only statements under this specification, as its "Applications that use this media type" entry states, and a statement of another profile carries a <tt>typ</tt> value of its own.</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>software-statement+jwt</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>8bit. A software statement is a JWT. JWT values are encoded as a series of base64url-encoded values separated by period ('.') characters, as registered for <tt>application/jwt</tt> in Section 10.3.1 of <xref target="RFC7519"/>.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security-considerations"/> of this specification and Section 11 of <xref target="RFC7519"/>.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This specification</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Issuers, authorization servers, and clients that issue, request, or accept software statements under this specification; other profiles are distinguished by their own <tt>typ</tt> values</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <t>Magic number(s): n/a. File extension(s): n/a. Macintosh file type code(s): n/a.</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>Karl McGuinness, public@karlmcguinness.com</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>Karl McGuinness, public@karlmcguinness.com</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
        </dl>
      </section>
      <section anchor="json-web-token-claims-registry">
        <name>JSON Web Token Claims Registry</name>
        <t>This specification requests registration of the following values in the IANA "JSON Web Token Claims" registry established by <xref target="RFC7519"/>:</t>
        <dl>
          <dt>Claim Name:</dt>
          <dd>
            <t><tt>cimd_digest</tt></t>
          </dd>
          <dt>Claim Description:</dt>
          <dd>
            <t>Unpadded base64url-encoded SHA-256 digest of the retrieved octets of the Client ID Metadata Document evaluated during software statement issuance</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="profiles"/></t>
          </dd>
          <dt>Claim Name:</dt>
          <dd>
            <t><tt>statement_uses</tt></t>
          </dd>
          <dt>Claim Description:</dt>
          <dd>
            <t>Permitted uses of a software statement</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="profiles"/></t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-extensions-error-registry">
        <name>OAuth Extensions Error Registry</name>
        <t>This specification requests registration of the following error code in the IANA "OAuth Extensions Error Registry" established by <xref target="RFC6749"/>:</t>
        <dl>
          <dt>Error Name:</dt>
          <dd>
            <t><tt>statement_required</tt></t>
          </dd>
          <dt>Error Usage Location:</dt>
          <dd>
            <t>authorization error response, token error response, pushed authorization request error response</t>
          </dd>
          <dt>Related Protocol Extension:</dt>
          <dd>
            <t>Client ID Metadata Document Software Statement</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="errors"/></t>
          </dd>
        </dl>
        <t>This specification also requests that IANA update the existing <tt>temporarily_unavailable</tt> entry, adding the token error response and the pushed authorization request error response to its usage locations and this specification as a reference:</t>
        <dl>
          <dt>Error Name:</dt>
          <dd>
            <t><tt>temporarily_unavailable</tt></t>
          </dd>
          <dt>Error Usage Location:</dt>
          <dd>
            <t>token error response, pushed authorization request error response, in addition to the locations already registered</t>
          </dd>
          <dt>Related Protocol Extension:</dt>
          <dd>
            <t>OAuth 2.0 Authorization Framework</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t><xref target="RFC6749"/>, this specification (<xref target="errors"/>)</t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-dynamic-client-registration-metadata-registry">
        <name>OAuth Dynamic Client Registration Metadata Registry</name>
        <t>This specification requests registration of the following value in the IANA "OAuth Dynamic Client Registration Metadata" registry established by <xref target="RFC7591"/>. A client publishes this member in its CIMD:</t>
        <dl>
          <dt>Client Metadata Name:</dt>
          <dd>
            <t><tt>software_statements_uri</tt></t>
          </dd>
          <dt>Client Metadata Description:</dt>
          <dd>
            <t>URL, in a Client ID Metadata Document, at which the client publishes software statements about itself for an authorization server to retrieve. It is not meaningful in a registration request.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="pulled-statements"/></t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-authorization-server-metadata-registry">
        <name>OAuth Authorization Server Metadata Registry</name>
        <t>This specification requests registration of the following values in the IANA "OAuth Authorization Server Metadata" registry established by <xref target="RFC8414"/>:</t>
        <dl>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>software_statement_jwks_uri</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>URL of the JWK Set containing only the keys with which the authorization server signs software statements.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="authorization-server-metadata"/></t>
          </dd>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>software_statement_signing_alg_values_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>JSON array containing the asymmetric JWS algorithms supported by the authorization server for signing software statements.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="authorization-server-metadata"/></t>
          </dd>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>software_statement_pull_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>Boolean value indicating whether the authorization server retrieves software statements from a client's <tt>software_statements_uri</tt>.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="authorization-server-metadata"/></t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="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="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC6585">
          <front>
            <title>Additional HTTP Status Codes</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>This document specifies additional HyperText Transfer Protocol (HTTP) status codes for a variety of common situations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6585"/>
          <seriesInfo name="DOI" value="10.17487/RFC6585"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </reference>
        <reference anchor="RFC7591">
          <front>
            <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Machulak" initials="M." surname="Machulak"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <date month="July" year="2015"/>
            <abstract>
              <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7591"/>
          <seriesInfo name="DOI" value="10.17487/RFC7591"/>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC9126">
          <front>
            <title>OAuth 2.0 Pushed Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="D. Tonge" initials="D." surname="Tonge"/>
            <author fullname="F. Skokan" initials="F." surname="Skokan"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document defines the pushed authorization request (PAR) endpoint, which allows clients to push the payload of an OAuth 2.0 authorization request to the authorization server via a direct request and provides them with a request URI that is used as reference to the data in a subsequent call to the authorization endpoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9126"/>
          <seriesInfo name="DOI" value="10.17487/RFC9126"/>
        </reference>
        <reference anchor="RFC7636">
          <front>
            <title>Proof Key for Code Exchange by OAuth Public Clients</title>
            <author fullname="N. Sakimura" initials="N." role="editor" surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Agarwal" initials="N." surname="Agarwal"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7636"/>
          <seriesInfo name="DOI" value="10.17487/RFC7636"/>
        </reference>
        <reference anchor="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
        <reference anchor="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="RFC8252">
          <front>
            <title>OAuth 2.0 for Native Apps</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>OAuth 2.0 authorization requests from native apps should only be made through external user-agents, primarily the user's browser. This specification details the security and usability reasons why this is the case and how native apps and authorization servers can implement this best practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="212"/>
          <seriesInfo name="RFC" value="8252"/>
          <seriesInfo name="DOI" value="10.17487/RFC8252"/>
        </reference>
        <reference anchor="RFC6761">
          <front>
            <title>Special-Use Domain Names</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes what it means to say that a Domain Name (DNS name) is reserved for special use, when reserving such a name is appropriate, and the procedure for doing so. It establishes an IANA registry for such domain names, and seeds it with entries for some of the already established special domain names.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6761"/>
          <seriesInfo name="DOI" value="10.17487/RFC6761"/>
        </reference>
        <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="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="CIMD">
          <front>
            <title>OAuth Client ID Metadata Document</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Emelia Smith" initials="E." surname="Smith">
              <organization>independent</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This specification defines a mechanism through which an OAuth client
   can identify itself to authorization servers, without prior dynamic
   client registration or other existing registration.  This is through
   the usage of a URL as a client_id in an OAuth flow, where the URL
   refers to a document containing the necessary client metadata,
   enabling the authorization server to fetch the metadata about the
   client as needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-client-id-metadata-document-03"/>
        </reference>
        <reference anchor="IDJAG">
          <front>
            <title>Identity Assertion JWT Authorization Grant</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="30" month="October" year="2026"/>
            <abstract>
              <t>   This specification provides a mechanism for an application to use an
   identity assertion to obtain an access token for a third-party API by
   coordinating through an identity provider that the downstream
   Resource Authorization Server already trusts for single sign-on
   (SSO), using OAuth 2.0 Token Exchange (RFC 8693) and the JWT Profile
   for OAuth 2.0 Authorization Grants (RFC 7523).  This pattern is
   informally referred to as Cross-App Access (XAA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-06"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7522">
          <front>
            <title>Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a Security Assertion Markup Language (SAML) 2.0 Bearer Assertion as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7522"/>
          <seriesInfo name="DOI" value="10.17487/RFC7522"/>
        </reference>
        <reference anchor="RFC7523">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7523"/>
          <seriesInfo name="DOI" value="10.17487/RFC7523"/>
        </reference>
        <reference anchor="RFC9700">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
        <reference anchor="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC8628">
          <front>
            <title>OAuth 2.0 Device Authorization Grant</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>The OAuth 2.0 device authorization grant is designed for Internet- connected devices that either lack a browser to perform a user-agent- based authorization or are input constrained to the extent that requiring the user to input text in order to authenticate during the authorization flow is impractical. It enables OAuth clients on such devices (like smart TVs, media consoles, digital picture frames, and printers) to obtain user authorization to access protected resources by using a user agent on a separate device.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8628"/>
          <seriesInfo name="DOI" value="10.17487/RFC8628"/>
        </reference>
        <reference anchor="RFC8693">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="REGISTRATION">
          <front>
            <title>Client ID Metadata Document Software Statement Registration</title>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This specification defines how an authorization server registers a
   client through OAuth 2.0 Dynamic Client Registration (RFC 7591) on a
   Client ID Metadata Document (CIMD) software statement, as defined in
   a companion specification.  Such a statement carries no client
   metadata of its own.  It vouches for the exact octets of the client's
   document, and the authorization server takes every registered
   metadata value from that document rather than from the registration
   request.  This specification also bounds the registration's validity
   by the statement's expiry, which RFC 7591 leaves unbounded, and
   defines how a client renews the registration by delivering a later
   statement, which also updates the registered metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-cimd-sw-stmt-registration-00"/>
        </reference>
        <reference anchor="ABCA">
          <front>
            <title>OAuth 2.0 Attestation-Based Client Authentication</title>
            <author fullname="Tobias Looker" initials="T." surname="Looker">
              <organization>MATTR</organization>
            </author>
            <author fullname="Paul Bastian" initials="P." surname="Bastian">
              <organization>Bundesdruckerei</organization>
            </author>
            <author fullname="Christian Bormann" initials="C." surname="Bormann">
              <organization>SPRIND</organization>
            </author>
            <date day="12" month="October" year="2026"/>
            <abstract>
              <t>   This specification defines an extension to the OAuth 2.0 protocol
   (RFC 6749) that enables a client instance to include a key-bound
   attestation when interacting with an Authorization Server or Resource
   Server.  This mechanism allows a client instance to prove its
   authenticity, as verified by a client attester, without revealing its
   target audience to that attester.  It may also serve as a mechanism
   for client authentication as per OAuth 2.0.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-attestation-based-client-auth-12"/>
        </reference>
        <reference anchor="OPENID-FED" target="https://openid.net/specs/openid-federation-1_0.html">
          <front>
            <title>OpenID Federation 1.0</title>
            <author initials="R." surname="Hedberg" role="editor">
              <organization/>
            </author>
            <author initials="M. B." surname="Jones">
              <organization/>
            </author>
            <author initials="A. Å." surname="Solberg">
              <organization/>
            </author>
            <author initials="J." surname="Bradley">
              <organization/>
            </author>
            <author initials="G." surname="De Marco">
              <organization/>
            </author>
            <author initials="V." surname="Dzhuvinov">
              <organization/>
            </author>
            <date year="2026" month="February" day="17"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 978?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This mechanism began as the consumption part of a draft on software statement issuance and was split out so that consumption can evolve separately from issuance. It draws on working-group discussion of CIMDs and attestation-based client authentication.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed from the final specification ]]</t>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Updated references for draft -03 of <xref target="CIMD"/>, including its section numbers and the <tt>Accept</tt> header field it specifies.</t>
        </li>
        <li>
          <t>Defined Permitted Method and Selected Method. The client model follows the methods the reviewed document permits, and components that differ in client type use separate documents (<xref target="sender-constraint"/>).</t>
        </li>
        <li>
          <t>A document that declares no authentication method permits only <tt>none</tt> and is no longer rejected.</t>
        </li>
        <li>
          <t>Aligned retrieval failures with Section 6.1 of <xref target="CIMD"/>, including HTTP status code 503 for <tt>temporarily_unavailable</tt> and <tt>invalid_client</tt> on refresh when the document cannot be used.</t>
        </li>
        <li>
          <t>Updated the pull example for <tt>token_endpoint_auth_methods_supported</tt>.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V963bbVpbmfz4Fxl7dsatJRpLv6q7uVmw5URJfynI6U1Wr
lgkSoISYBNgAaIVxpf/Ne8yzzLzY7Os5+wAHlOxK9VpTa6Yjg7icyz77vr89
mUxGbdGu8uPk1tNVkZdtcvYseZG3aZa2afKsWmzXePG8WrZXaZ0n523a5njp
1iidz+v8w3FSpdv2crIo1tmkuZo07bodZdWiTNfw0qxOl+1kvbjYFmWZN82k
f/Pk4HC0gJdeVPXuOGnabNRs5+uiaYqqbHcbeMnZ6dvno1GxqY+Ttt427dHB
wZODoxEMJ4Vhn+eLbV20u1ujq6p+f1FX2w1c/TGfJyfwqaoufklbeFXyuq7a
alGtbo1G7/Md3Jsdj5JJ8grvwj/6U8Srz3YwkWKRyOK8yS+Kpq3pjfjznjXD
n99sy7ZY5/DtvIFL7rHzvMzyOnlalfiyAm4eNW1aZu/SVVXCjHd5M9oUx8mf
YcTjpKnqts6XDfy1W+MffxmNUpobzmCUwP+KsjlOvpsmLxZfy0rTZd6E79J6
1f2lqi/SUpYGVhiGs8Ex4bDhf/k6LVbHyWY7XxWLf38Pz/stnC6q9WhUVvUa
Hv6QwxCSN8+fPnx0/4n8+fjogf758Ojeff3zweMH+ufje4/lz0cPDh/4P90b
Hh35q08O9er9Q33Zk8Ojh3rDw3v655P7bgxPDg8P/HCO3CAf6svuPXls3kDD
eXr24hksxeTZtMjbpVIqbfCkyCZr2eBJ5jYY9v3bk697zxS4jkCRk7Rp8hpX
eILXf5lc1CludVEuO6v36MHRkf/znk7i0YGbxKMDXZHHD48euz+f8L2nX5+d
v31z8vbs1Usezf4TVwdUnJx89fSkN4m0bfOGKXYyT5s806VI6bwkr16fvjx7
Nnl++uyYSKZN64u8PU4u23bTHH/5ZQX0VGTTMm+/bDb5opELk2UOlM+vPXx3
ML1s1yt+XrjQK7gNjtNzd1tyOD24Rbc4mqf/TZjo30yTb/JsntcXcj1J6grf
lGdFW9XhzS+mX02Tb+GINeH1k+n//V9T4AAr8x756dtp8lWdZqt8F17/epo8
y5MXab2owh/+A3745XL7oSirD/QLEA0M5+jg6OHk4Ghy+Gg0mkwmSTrHHVgA
Oby9LJoE16hYFguecpYvCxhkksLZF67UKFeCryRXl8XiEn4ldphnySat211S
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
Tm4gUSYoh/ziEkP5+mL6BwoLOGOIqeW7mPfzCzuhxK7WgQeMpm5tota7fiO5
2Oy/IweqIAP3fAlT9uu4mTPKvi67tmCcbyXqIxUl0vPMu0jUXxYZhjfYffrd
TYsUqC1mWAu2P3Q1Nk3s1JnKs5tTS689y3Bb40jPCGh4oymUtOiTzFz8dU++
CedbEY8uCSqlbArK+smK9KKsmrZYNK66gV79zrzaRjxo21SdFiXbBPWzMU3J
HMQPOaIhgxKFtCvnI8i9CUEgYpX8ukMmXSPerM1b/7695lhySph5u3EqTVOm
AKwxN3ukleU/ZTlz/aFQzUuOCmGRwFqWVY0ILR/ywHlpev6EGH/ddNdCcCjp
Kxxy6afRWcEY949xrEbzTLjZGqWKU46dukDUcUaQqHMwTN4rpm7DBVPbekMg
VqiV3J3GfWem1yw1WroEbjcW51YahLqJmnrlENEiD7l5EGrQINOkDpefWUMp
KtKsrSqwAxD+YubQXqLVykEVt2mtoyb3VOBProechD3/r//6rwQTakevXwHN
f8n7giGjLw+nh6Nv4GwdA+1qN9HRUwF8fwvzCdF/fp5cXV1N0DM82dbAl5GB
ZqORbx3w+/7qjP6RluL3fuqjf3TD/j3l+f7DvZN/OHoO/y9sawoX4OPubhfv
4S8Bo4Dnirxdwn/o8ON7KlxG+O9I/K3uIYKvhx9gfyfzHE5G3X/x7/Pdt5fz
rxfFq+Lb5z/8cnb4sjhrztbt5k9Pzx6e/XR29eKnP7Yvnl0Uyz9Mp1OYWC/w
im84yP/nCb7hl/nRnw6yo+e7P50f/pJ9/fzgTz8ervA52I49fDDUlUzoYqCb
zHD3HJHAvrXN2Pc4soTn4mheyUW6ExXeEF8EiFq+0c3oodxPPgG91u/2bXwP
ZZVyjzxiCB7ZTBEGHYJ4aoJlyBbOadFIVCMO4Q1YF2lvnIhB/IBdfF0cwtqD
LWfHfIIQ+mr0cZQktxz53jpObg235L01xputstvAA38eemIxv/UXeoLO5zvl
m1Rn9U7y9z26GL2pw7jked2iPaPDW6Y4IR7jAIDYrWP4MRl8ib+ZXzX6lUk7
wJejlUZgLEGZC4kVdBtaflBVeqscGRROmod03Tmbl38AppQdnBVXBZy5W/DU
X9z4BsLqnLFPVGag0ePGoaiWReitdGaKpfPuybWTxyPEwEeN0wTFxRD2E1do
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

-->

</rfc>
