<?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-lifecycle-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="oauth-cimd-sw-stmt-lifecycle">Client ID Metadata Document Software Statement Lifecycle</title>
    <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-cimd-sw-stmt-lifecycle-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>Withdrawal</keyword>
    <keyword>Supersession</keyword>
    <keyword>Refresh Token</keyword>
    <keyword>Status List</keyword>
    <keyword>Shared Signals</keyword>
    <keyword>Security Event Token</keyword>
    <abstract>
      <?line 73?>

<t>This specification defines how a Client ID Metadata Document (CIMD) software statement, as defined in a companion specification, is withdrawn, superseded, and replaced after an authorization server has admitted or registered a client on it. That specification evaluates a statement when a grant is opened, not when it is refreshed. Under this specification, an issuer can withdraw a statement before it expires. Once an authorization server accepts a later statement, the issuer's earlier statements about the same software are superseded there for new grants and registrations, within the applicable tenant. When a grant is refreshed, the authorization server requires a later statement in place of one that has been withdrawn, and this specification recommends the same for one that has expired. A profile of Token Status List provides withdrawal, and an optional Shared Signals Framework event prompts authorization servers to check a statement's status.</t>
    </abstract>
  </front>
  <middle>
    <?line 77?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="STATEMENT"/> binds an issuer's review to the exact octets of a Client ID Metadata Document (CIMD) <xref target="CIMD"/>. An authorization server checks the statement when a client opens a grant. On refresh, it verifies the grant's key but evaluates no statement (Section 5.7.1 of <xref target="STATEMENT"/>).</t>
      <t>A review can change after admission: an issuer can find a defect or approve less than before. Under <xref target="STATEMENT"/> alone, earlier unexpired statements remain acceptable and expiry ends no grant. Short statement lifetimes therefore do not make existing grants follow later reviews.</t>
      <t>Token Status List <xref target="STATUSLIST"/> supplies status information, but does not define its consequences for client admission, registrations, or grants. This specification defines withdrawal and refusal records (<xref target="withdrawal"/>), supersession through an <tt>iat</tt> floor (<xref target="supersession"/>), and replacement on refresh (<xref target="refresh-lifecycle"/>). It profiles Token Status List for withdrawal (<xref target="token-status-list"/>) and defines an optional Shared Signals Framework <xref target="SSF"/> event that prompts a status check (<xref target="shared-signals"/>).</t>
      <t>This specification extends <xref target="STATEMENT"/>, which does not depend on it, and also applies to registrations under <xref target="REGISTRATION"/>. It defines no new endpoint. Enforcement timing depends on status checks, caching, and outage policy (<xref target="withdrawal-practice"/>, <xref target="schedule-practice"/>). Withdrawal revokes no issued access token (<xref target="open-grants"/>).</t>
      <section anchor="overview">
        <name>Protocol Overview</name>
        <t>The following non-normative sequence summarizes a statement's lifecycle at one authorization server:</t>
        <ol spacing="normal" type="1"><li>
            <t>An issuer issues a statement as <xref target="STATEMENT"/> defines, optionally with a reference to its entry in a Token Status List (<xref target="status-publication"/>).</t>
          </li>
          <li>
            <t>The authorization server admits a client on the statement, or registers one under <xref target="REGISTRATION"/>, and records the statement. The <tt>iat</tt> floor for the statement's <tt>iss</tt> and <tt>sub</tt>, kept for each use the statement permits, advances to its <tt>iat</tt> if that is later. A multi-tenant server keeps such floors per tenant for statements confined to a tenant, and server-wide for others (<xref target="supersession"/>).</t>
          </li>
          <li>
            <t>The issuer issues a later statement about the same software, for example over a changed document. Once the authorization server accepts it, the earlier statement is superseded for new grants and registrations, and grants already opened on the earlier statement continue. An issuer that uses a withdrawal mechanism and narrows its review also withdraws the earlier statement, as <xref target="withdrawal"/> recommends.</t>
          </li>
          <li>
            <t>To withdraw a statement, the issuer changes its status (<xref target="status-publication"/>) and can send a status change event (<xref target="shared-signals"/>) that prompts servers to check it. The authorization server learns of the withdrawal when it next resolves the status, and keeps a refusal record for the statement (<xref target="withdrawal"/>).</t>
          </li>
          <li>
            <t>When the client refreshes a grant that needs a replacement, such as one whose recorded statement is covered by a refusal record or has expired where the server requires a current statement (<xref target="currency"/>), the client can offer a later statement, and a server that supports pulled statements can pull one (<xref target="refresh-replacement"/>). The grant continues under that statement if the server accepts it. Otherwise the refresh is rejected (<xref target="lifecycle-errors"/>).</t>
          </li>
        </ol>
        <t>A trusting authorization server that implements this specification applies all of <xref target="withdrawal"/> through <xref target="refresh-lifecycle"/> and <xref target="lifecycle-errors"/>, whatever withdrawal mechanism it uses, if any. For an issuer, publishing status and sending events are optional, and supersession and refresh replacement work without them.</t>
        <t>The <tt>iat</tt> floor (<xref target="supersession"/>) limits only the acceptance of a statement to open something new, such as an admission, a registration, or a refresh replacement. A refusal record (<xref target="withdrawal"/>), and expiry where the server requires a current statement (<xref target="currency"/>), also limit the continuation of a grant that records the statement. <xref target="tab-standing"/> shows what a statement's standing at one authorization server allows. Each row describes one condition on its own. A statement can meet more than one, such as being both superseded and covered by a refusal record, and then the limits of every row it meets apply.</t>
        <table anchor="tab-standing">
          <name>What a Statement's Standing Allows</name>
          <thead>
            <tr>
              <th align="left">Standing at the server</th>
              <th align="left">New admission or registration</th>
              <th align="left">Pulled statement selection</th>
              <th align="left">Refresh of a grant that records it</th>
              <th align="left">Use as a refresh replacement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Current, not superseded</td>
              <td align="left">Can be accepted</td>
              <td align="left">Considered</td>
              <td align="left">Continues</td>
              <td align="left">Can be accepted (<xref target="refresh-replacement"/>)</td>
            </tr>
            <tr>
              <td align="left">Superseded by the <tt>iat</tt> floor</td>
              <td align="left">Rejected</td>
              <td align="left">Ignored</td>
              <td align="left">Continues</td>
              <td align="left">Rejected</td>
            </tr>
            <tr>
              <td align="left">Covered by a refusal record</td>
              <td align="left">Rejected</td>
              <td align="left">Ignored</td>
              <td align="left">Needs a replacement</td>
              <td align="left">Rejected</td>
            </tr>
            <tr>
              <td align="left">Expired</td>
              <td align="left">Rejected</td>
              <td align="left">Ignored</td>
              <td align="left">Continues unless <xref target="currency"/> requires a replacement</td>
              <td align="left">Rejected</td>
            </tr>
          </tbody>
        </table>
        <t>A registration (<xref target="REGISTRATION"/>) advances the <tt>iat</tt> floor and follows the same pattern: a refusal record covering its governing statement ends its validity at the server holding the record, and a superseded governing statement leaves it valid until that statement expires.</t>
      </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 the terms transmitter, receiver, stream, and transmitter configuration metadata from <xref target="SSF"/>, Security Event Token (SET) from <xref target="RFC8417"/>, Status List Token from <xref target="STATUSLIST"/>, Governing Statement from Section 2 of <xref target="REGISTRATION"/>, and the terms defined in Section 2 of <xref target="STATEMENT"/>.</t>
      <t>This specification defines the following terms.</t>
      <dl>
        <dt>Withdrawal Mechanism:</dt>
        <dd>
          <t>The means by which a trusting authorization server learns that an issuer has withdrawn a statement before its expiry (<xref target="withdrawal"/>), such as the Token Status List profile of <xref target="token-status-list"/>.</t>
        </dd>
        <dt>Refusal Record:</dt>
        <dd>
          <t>State an authorization server holds for a statement, identified by its <tt>iss</tt> and <tt>jti</tt>, once it has learned that the statement ceased to be acceptable before its expiry, whether from a withdrawal mechanism it uses for the issuer (<xref target="withdrawal"/>) or from its own operator.</t>
        </dd>
        <dt>Recorded Statement:</dt>
        <dd>
          <t>The statement an establishment records: the one presented or pulled to create it or, after a refresh accepts a replacement, the replacement most recently accepted for it (<xref target="refresh-replacement"/>).</t>
        </dd>
        <dt>Refresh Replacement:</dt>
        <dd>
          <t>A later statement from the recorded statement's issuer about the same software, offered or pulled on refresh to take the recorded statement's place (<xref target="refresh-replacement"/>).</t>
        </dd>
        <dt><tt>iat</tt> Floor:</dt>
        <dd>
          <t>For a trusting authorization server, the greatest <tt>iat</tt> claim value among the statements it has accepted for a given <tt>iss</tt>, <tt>sub</tt>, and use (<tt>presentation</tt> or <tt>registration</tt>). A multi-tenant server keeps one for each tenant, for statements confined to that tenant, and one server-wide, for statements confined to none (<xref target="supersession"/>).</t>
        </dd>
      </dl>
      <t>This specification also extends the following term of <xref target="STATEMENT"/>.</t>
      <dl>
        <dt>Current Statement:</dt>
        <dd>
          <t>As Section 2 of <xref target="STATEMENT"/> defines it. Under this specification, a refusal record ends a statement, so a statement that a refusal record covers is not current (<xref target="withdrawal"/>). The <tt>iat</tt> floor (<xref target="supersession"/>) separately limits which current statements a server accepts.</t>
        </dd>
      </dl>
    </section>
    <section anchor="withdrawal">
      <name>Withdrawal and Refusal Records</name>
      <t>An issuer can withdraw a statement before its <tt>exp</tt>. Unlike OAuth token revocation (<xref target="RFC7009"/>), a withdrawal revokes no issued token: a server holding a refusal record refuses new admissions, registration or renewal, and refresh under the statement (<xref target="currency"/>, <xref target="open-grants"/>, <xref target="REGISTRATION"/>).</t>
      <t>How a trusting authorization server learns of a withdrawal is a withdrawal mechanism. This specification requires no withdrawal mechanism. It defines one, the Token Status List profile of <xref target="token-status-list"/>, and other specifications can define how another mechanism applies to these statements.</t>
      <t>In addition to the checks of Section 3.2 of <xref target="STATEMENT"/>, a trusting authorization server <bcp14>MUST</bcp14> reject a statement for which it holds a refusal record. A server that uses a withdrawal mechanism for a statement's issuer <bcp14>SHOULD</bcp14> consult it, within the caching and freshness rules that mechanism defines, before accepting the statement for a new admission, a registration, a refresh replacement, or a replacement at registration renewal, at each refresh of a grant that records it, and at each token request under a registration the statement governs (<xref target="REGISTRATION"/>). Registration renewal includes replacements delivered at the token, pushed authorization request, or client configuration endpoint, and replacements in repeated public-client registration requests (Sections 3.3 and 6 of <xref target="REGISTRATION"/>).</t>
      <t>A refusal derived from a withdrawal mechanism lasts until a later authoritative result from that mechanism replaces it, or until an expiry the mechanism itself defines for the withdrawal. A server <bcp14>MUST NOT</bcp14> retain such a refusal once it is replaced or expired in that way. A failure to consult the mechanism, or cached evidence that has lapsed, neither replaces nor expires a refusal.</t>
      <t>A refusal record that a withdrawal mechanism yields applies in every tenant of the server. One that the server's operator enters applies in the tenants the operator scopes it to. A server <bcp14>MUST</bcp14> keep a refusal record that a withdrawal mechanism yields until the statement's effective expiry has passed and no grant or registration it holds records the statement, unless the mechanism replaces or expires the refusal first. One that the operator entered lasts as long as the operator keeps it (<xref target="withdrawal-practice"/>). When a refusal ends, a grant that records the statement can again be refreshed without a replacement (<xref target="currency"/>), but a registration whose validity the refusal ended stays invalid until a replacement restores it (Section 4 of <xref target="REGISTRATION"/>).</t>
      <t>A withdrawal constrains and never relaxes. A statement for which no withdrawal mechanism reports a withdrawal, or for which the server cannot consult the mechanism it uses (<xref target="withdrawal-practice"/>), is bounded by its effective expiry as it would be otherwise, and a server <bcp14>MUST NOT</bcp14> treat any withdrawal mechanism as grounds to accept a statement past its effective expiry.</t>
      <t>A server consults a withdrawal mechanism while validating a statement, which at admission is step 2 of Section 5.1 of <xref target="STATEMENT"/>. A server whose policy rejects a request because it cannot consult the mechanism uses the <tt>temporarily_unavailable</tt> error code, as for a retrieval that did not complete (Section 6 of <xref target="STATEMENT"/>).</t>
      <t>An issuer that uses a withdrawal mechanism and issues a later statement narrower than the one it replaces <bcp14>SHOULD</bcp14> withdraw the earlier statement (<xref target="replacement-security"/>). A later statement is narrower if the document it names no longer carries a key, redirection URI, or scope the earlier document carried, if its <tt>aud</tt>, <tt>aud_tenant</tt>, or <tt>statement_uses</tt> is narrower, or if its effective expiry is earlier than that of the statement it replaces.</t>
      <t>Rejections under this section use the error responses of <xref target="lifecycle-errors"/>.</t>
    </section>
    <section anchor="supersession">
      <name>Supersession</name>
      <t>Because an issuer's <tt>iat</tt> values for a given <tt>iss</tt> and <tt>sub</tt> increase strictly (Section 3 of <xref target="STATEMENT"/>), a later <tt>iat</tt> marks a later review, and a statement whose <tt>iat</tt> is earlier than the server's <tt>iat</tt> floor for the use being made is superseded.</t>
      <t>A trusting authorization server <bcp14>MUST</bcp14> retain each <tt>iat</tt> floor until at least the floor's value plus the maximum statement lifetime it honors for the issuer. A statement is accepted for the floor when the server creates an establishment on it (step 7 of Section 5.1 of <xref target="STATEMENT"/>), applies it as a refresh replacement (<xref target="refresh-replacement"/>), or registers a client or renews a registration with it (<xref target="REGISTRATION"/>). Accepting a statement advances the floor for each use its <tt>statement_uses</tt> claim permits (Section 3 of <xref target="STATEMENT"/>), so one permitting both uses advances both floors. The server <bcp14>MUST</bcp14> reject a statement whose <tt>iat</tt> claim is earlier than the retained <tt>iat</tt> floor for the use being made: <tt>presentation</tt> for a runtime presentation or a replacement on refresh, and <tt>registration</tt> for a new registration or a replacement under <xref target="REGISTRATION"/>. A client holding a superseded, broader statement therefore cannot defer a narrowing by opening a fresh registration or establishment with it. Keeping a floor per use lets a client publish a <tt>presentation</tt> statement for servers to pull while registering with a separate <tt>registration</tt> statement (Section 11.1 of <xref target="REGISTRATION"/>), without either superseding the other.</t>
      <t>On a multi-tenant server, a statement whose decision is confined to a tenant (Section 3 of <xref target="STATEMENT"/>) advances that tenant's floors, and one confined to no tenant advances the server-wide floors. A statement is checked against the greater of the server-wide floor and the request tenant's floor for the use being made. A statement confined to no tenant that creates or renews a registration with no tenant restriction (Section 3.1 of <xref target="REGISTRATION"/>) is instead checked against the greatest <tt>registration</tt> floor of the server and of every tenant, since that registration can be used in every tenant.</t>
      <t>A repeated registration request that Section 3.3 of <xref target="REGISTRATION"/> answers with the existing registration is not a new registration. The server classifies a repeated registration request under that section before it applies the floor, so a request that resends the governing statement receives the existing registration even if that statement has since been superseded. Supersession does not end a statement's currency, so the registration stays valid (Section 4 of <xref target="REGISTRATION"/>).</t>
      <t>The floor needs one <tt>iat</tt> value for each <tt>iss</tt>, <tt>sub</tt>, and use and, on a multi-tenant server, each tenant to which statements are confined plus one server-wide, not the statements themselves. Every statement the floor refuses has an earlier <tt>iat</tt>, so its effective expiry passes within the maximum statement lifetime the server honors for the issuer, counted from the floor's value. Once that period and any clock-skew allowance have passed, the floor refuses nothing that expiry would not refuse. A server that raises the lifetime it honors for an issuer extends that period for the floors it already holds. A floor lost before then leaves the statements it superseded acceptable until they expire.</t>
      <t>At admission, the server verifies the <tt>iat</tt> floor in step 3 of Section 5.1 of <xref target="STATEMENT"/>, along with the <tt>client_id</tt> rule, before it resolves the reviewed document.</t>
      <t>For a new registration or a replacement under <xref target="REGISTRATION"/>, the server verifies the floor as part of statement validation in Section 3 or Section 6 of that specification, before resolving the reviewed document. This includes a replacement evaluated on a repeated public-client registration request (Section 3.3 of <xref target="REGISTRATION"/>).</t>
      <t>In selecting a pulled statement (Section 5.5.1 of <xref target="STATEMENT"/>), the server also ignores any statement that a refusal record covers (<xref target="withdrawal"/>) or that the <tt>iat</tt> floor supersedes. A pulled statement the server does not apply does not advance the <tt>iat</tt> floor. Nor does a review-only presentation or pulled statement (Section 5.6.3 of <xref target="STATEMENT"/>).</t>
      <t>An instance holding only a superseded statement can open no new grant at the server, which is why instances need the most recently issued statement (Section 12.3 of <xref target="STATEMENT"/>). Grants it already opened continue under <xref target="refresh-lifecycle"/>.</t>
    </section>
    <section anchor="refresh-lifecycle">
      <name>Refresh</name>
      <t>Under <xref target="STATEMENT"/>, refresh evaluates no statement: it checks the establishment's proven key (Section 5.7.1 of <xref target="STATEMENT"/>). This section extends refresh so that a grant can depend on a current statement.</t>
      <section anchor="currency">
        <name>Requiring a Current Statement</name>
        <t>When the establishment's recorded statement has expired, the authorization server <bcp14>SHOULD</bcp14> require a current statement on refresh-token use (<xref target="open-grants"/>). A refresh under an establishment needs a replacement (<xref target="refresh-replacement"/>) if a refusal record covers the recorded statement, or if the recorded statement has expired and either the server requires a current statement or a required issuer (Section 4 of <xref target="STATEMENT"/>) covers the establishment's <tt>sub</tt> in the establishment's tenant. The server <bcp14>MUST</bcp14> reject a refresh that needs a replacement unless it accepts one, even if it does not otherwise require a current statement. If a required issuer covers that <tt>sub</tt> and tenant and the recorded statement is from another issuer, the server <bcp14>MUST</bcp14> reject the refresh, and the client opens a new grant by runtime presentation. A raised <tt>iat</tt> floor (<xref target="supersession"/>) does not by itself require a replacement.</t>
      </section>
      <section anchor="refresh-replacement">
        <name>Refresh Replacement</name>
        <t>A replacement is a <tt>presentation</tt> use of its statement (Section 3 of <xref target="STATEMENT"/>).</t>
        <t>On refresh-token use under an establishment, the authorization server first completes the checks of Section 5.7.1 of <xref target="STATEMENT"/> on the establishment's proven key, unchanged, before it considers any replacement. A server that implements this specification then proceeds as follows. A refresh rejected at any step leaves the grant's state unchanged.</t>
        <ol spacing="normal" type="1"><li>
            <t>Decide whether <xref target="currency"/> requires a replacement or rejects the refresh, having consulted any withdrawal mechanism as <xref target="withdrawal"/> recommends.</t>
          </li>
          <li>
            <t>Obtain a replacement. A client can offer one on any refresh in the <tt>software_statement</tt> parameter. If no replacement is needed, an offered statement that fails the <tt>client_id</tt> rule below or a requirement of step 3, or that the server cannot evaluate because a retrieval needed only for that statement did not complete, is ignored, and the refresh proceeds as one offering none, as at a server that does not implement this specification. A request carrying a replacement <bcp14>MUST</bcp14> meet the <tt>client_id</tt> rule that Section 5.4 of <xref target="STATEMENT"/> sets for a request making a runtime presentation. A statement with the recorded <tt>iss</tt> and <tt>jti</tt> is not a replacement, and a request carrying it is processed as one offering none. When a replacement is needed and the request carries none, a server that supports pulled statements pulls, however the establishment was created, and takes as the replacement the most recently issued statement with the recorded <tt>iss</tt> and <tt>sub</tt> among those it considers under Section 5.5.1 of <xref target="STATEMENT"/>, <xref target="withdrawal"/>, and <xref target="supersession"/>. A refresh that needs a replacement and obtains none is rejected: a reviewed grant never continues under the policy for clients the server has not reviewed.  </t>
            <t>
The pull uses the retrieval and selection rules of Sections 5.3 and 5.5.1 of <xref target="STATEMENT"/>. The continuation rules here apply instead of those sections' rules for opening a new grant, so a refresh whose pull does not complete is rejected.</t>
          </li>
          <li>
            <t>Validate the replacement. If a replacement is needed, a refresh whose replacement fails any of the following requirements is rejected. The replacement:  </t>
            <ul spacing="normal">
              <li>
                <t><bcp14>MUST</bcp14> validate under Section 3.2 of <xref target="STATEMENT"/>, <xref target="withdrawal"/>, and <xref target="supersession"/>.</t>
              </li>
              <li>
                <t><bcp14>MUST</bcp14> have the recorded statement's <tt>iss</tt> and <tt>sub</tt>.</t>
              </li>
              <li>
                <t><bcp14>MUST</bcp14> have an <tt>iat</tt> later than the recorded statement's.</t>
              </li>
              <li>
                <t><bcp14>MUST</bcp14> name in <tt>cimd_digest</tt> the document currently served at that <tt>sub</tt>, which the server confirms by retrieval or by revalidating octets it holds.</t>
              </li>
              <li>
                <t><bcp14>MUST</bcp14> name a document that carries the establishment's proven key, in its <tt>jwks</tt> or at its <tt>jwks_uri</tt> (Section 5.6.1 of <xref target="STATEMENT"/>), or, for an establishment created under Section 5.6.2 of <xref target="STATEMENT"/>, a document that still satisfies that section.</t>
              </li>
              <li>
                <t><bcp14>MUST</bcp14> name a document that permits the establishment's Selected Method (Section 2 of <xref target="STATEMENT"/>) and that does not make the statement review-only (Section 5.6.3 of <xref target="STATEMENT"/>). Refresh keeps the sender-constraint mechanism (Section 5.7.1 of <xref target="STATEMENT"/>), so a replacement cannot change it.</t>
              </li>
            </ul>
            <t>
A replacement that meets these requirements is accepted.</t>
          </li>
          <li>
            <t>Bound access and update. The refreshed access <bcp14>MUST</bcp14> fall within the metadata of the document an accepted replacement names or, without one, the establishment's reviewed metadata. If a replacement is accepted, the refreshed grant's statement identity (<tt>iss</tt> and <tt>jti</tt>), <tt>iat</tt>, effective expiry, any claim an extension uses to locate the statement, reviewed metadata and the digest it matched, and issuer trust decision become the replacement's, in one atomic update. Concurrent replacements resolve to the most recently issued statement.</t>
          </li>
        </ol>
        <t>A replacement accepted on refresh <bcp14>MUST</bcp14> apply only to the grant refreshed.</t>
        <t>If the server bounds establishments (Section 11.3 of <xref target="STATEMENT"/>), a count persists across replacements: a replacement accepted on refresh does not add to it.</t>
        <t><xref target="fig-refresh"/> shows the order of these steps, and <xref target="tab-refresh-errors"/> the error each rejection returns. <xref target="lifecycle-errors"/> lists every code. Three rules take precedence over the table. At any step, a request that needs a retrieval that did not complete is rejected with <tt>temporarily_unavailable</tt> (Section 6 of <xref target="STATEMENT"/>), except a retrieval needed only to evaluate a statement that step 2 ignores. Otherwise, a request for which the document currently served at the establishment's <tt>sub</tt> cannot be obtained or fails validation is rejected with <tt>invalid_client</tt> (Section 6.3 of <xref target="STATEMENT"/>; Section 6.1 of <xref target="CIMD"/>). A proof that its mechanism does not accept is rejected with that mechanism's own error, such as <tt>invalid_dpop_proof</tt>, or answered with its challenge, such as <tt>use_dpop_nonce</tt> (Section 6.5 of <xref target="STATEMENT"/>).</t>
        <figure anchor="fig-refresh">
          <name>Refresh Processing</name>
          <artwork type="ascii-art"><![CDATA[
        refresh-token request
                  |
                  v
          proven key checks
                  |
                  v
     1. is a replacement needed?
                  |
       +----------+------------------+
       |                             |
       | needed, or one offered      | not needed,
       v                             | none offered
     2. obtain it, offered or pulled |
       |                             |
       v                             |
     3. validate it                  |
       |                             |
       +----------+------------------+
                  |
                  v
     4. bound the access, apply any
        accepted replacement
                  |
                  v
            tokens issued
]]></artwork>
        </figure>
        <table anchor="tab-refresh-errors">
          <name>Refresh Rejections</name>
          <thead>
            <tr>
              <th align="left">Step</th>
              <th align="left">Rejected when</th>
              <th align="left">Error</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Key checks</td>
              <td align="left">A check of Section 5.7.1 of <xref target="STATEMENT"/> fails</td>
              <td align="left">
                <tt>invalid_grant</tt></td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">A required issuer covers the <tt>sub</tt> and tenant, and the recorded statement is from another issuer</td>
              <td align="left">
                <tt>statement_required</tt></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">A replacement is needed, and the one offered comes without <tt>client_id</tt></td>
              <td align="left">
                <tt>invalid_request</tt></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">The <tt>client_id</tt> is not the client the refresh token was issued to</td>
              <td align="left">
                <tt>invalid_grant</tt></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">A replacement is needed, and the one offered names a <tt>sub</tt> other than the <tt>client_id</tt></td>
              <td align="left">
                <tt>statement_required</tt></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">The pull did not complete</td>
              <td align="left">
                <tt>temporarily_unavailable</tt></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">A replacement is needed and none is obtained</td>
              <td align="left">
                <tt>statement_required</tt></td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">A replacement is needed, and the one obtained fails a requirement of step 3</td>
              <td align="left">
                <tt>statement_required</tt></td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">The refreshed access exceeds the metadata</td>
              <td align="left">
                <tt>unauthorized_client</tt> or <tt>invalid_scope</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="token-status-list">
      <name>Token Status List</name>
      <t>This section defines the withdrawal mechanism (<xref target="withdrawal"/>) of this specification, a profile of Token Status List <xref target="STATUSLIST"/> through which an issuer publishes the authoritative status of its statements.</t>
      <t>Every retrieval this specification causes, of a status list, of transmitter configuration metadata (<xref target="shared-signals"/>), or of a key set of <xref target="key-sets"/> or the metadata that locates it, has the server-side request forgery protections that Section 5.3 of <xref target="STATEMENT"/> requires for the retrievals that specification causes.</t>
      <section anchor="key-sets">
        <name>Issuer Key Sets</name>
        <t>An issuer's Status List key set is the JWK Set at the <tt>jwks_uri</tt> of its authorization server metadata <xref target="RFC8414"/>, discovered from the configured <tt>iss</tt>. For an issuer that is not an authorization server (Section 4 of <xref target="STATEMENT"/>), it is the JWK Set at a Status List key set URL in the trust configuration. The <tt>https</tt> and certificate requirements of Section 4 of <xref target="STATEMENT"/> for a statement key set URL apply to that URL. An issuer <bcp14>MUST</bcp14> serve its statement key set, its Status List key set, and the key set at the <tt>jwks_uri</tt> of any transmitter configuration metadata it publishes (<xref target="relationship"/>) at three different locations, with no key in more than one of them.</t>
        <table anchor="tab-key-sets">
          <name>Issuer Key Sets</name>
          <thead>
            <tr>
              <th align="left">Key set</th>
              <th align="left">Location</th>
              <th align="left">Verifies</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Statement key set</td>
              <td align="left">Section 4 of <xref target="STATEMENT"/></td>
              <td align="left">Software statements</td>
            </tr>
            <tr>
              <td align="left">Status List key set</td>
              <td align="left">The <tt>jwks_uri</tt> of the issuer's authorization server metadata or, for an issuer that is not an authorization server, a configured URL</td>
              <td align="left">Status List Tokens (<xref target="status-publication"/>)</td>
            </tr>
            <tr>
              <td align="left">Transmitter key set</td>
              <td align="left">The <tt>jwks_uri</tt> of the issuer's transmitter configuration metadata</td>
              <td align="left">Status change events (<xref target="shared-signals"/>)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="status-publication">
        <name>Status Publication</name>
        <t>An issuer that uses Token Status List publishes the status of its statements as <xref target="STATUSLIST"/> defines. A statement locates its entry in the issuer's Status List Token through the <tt>status</tt> claim, whose <tt>status_list</tt> member gives the status list URI and index (Section 6.2 of <xref target="STATUSLIST"/>). It is the claim by which this specification locates a statement, and an establishment records that claim (Section 5.7 of <xref target="STATEMENT"/>). An issuer that publishes status:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> publish status, and carry the <tt>status</tt> claim, for every statement it issues under a given <tt>iss</tt> from the point it begins publishing. A trusting authorization server treats a statement without the claim as one it cannot check for withdrawal, which its effective expiry bounds (<xref target="withdrawal"/>).</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> assign the same combination of status list URI and index to more than one statement, including across successive Status List Tokens published at that URI. Withdrawing a statement then affects no other.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> sign each Status List Token with a key in its Status List key set (<xref target="key-sets"/>).</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> include the <tt>exp</tt> claim in every Status List Token it publishes. An older token then cannot stand in for a newer one indefinitely.</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> give each Status List Token it publishes at a given list URI an <tt>iat</tt> claim value later than that of any token it published there before (<xref target="status-resolution"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="status-resolution">
        <name>Status Resolution</name>
        <t>Whether a server resolves statuses for an issuer, and which statuses other than <tt>VALID</tt> it refuses, is part of its trust configuration for that issuer (Section 4 of <xref target="STATEMENT"/>). If a statement carries the <tt>status</tt> claim and the server resolves statuses for its issuer, a status of <tt>INVALID</tt> is a withdrawal, as is any other status except <tt>VALID</tt> that the server's policy for that issuer refuses. On a withdrawal, the server holds a refusal record (<xref target="withdrawal"/>). Token Status List defines no expiry for a withdrawal. A Status List Token's <tt>exp</tt> bounds its use as evidence, not a refusal derived from it, which lasts until a later Status List Token reports a status the server does not refuse.</t>
        <t>Resolution follows <xref target="STATUSLIST"/>. A statement whose status index lies outside the list is rejected, as <xref target="STATUSLIST"/> requires. A server <bcp14>SHOULD</bcp14> retrieve the list on the list's own schedule, within the expiration and caching bounds its <tt>exp</tt> and <tt>ttl</tt> claims set (Section 13.7 of <xref target="STATUSLIST"/>), rather than once per request (<xref target="schedule-practice"/>, <xref target="privacy-considerations"/>).</t>
        <t>A server <bcp14>MUST NOT</bcp14> accept a Status List Token whose <tt>iat</tt> claim is earlier than that of the latest token it has accepted from that status list URI, and <bcp14>MUST</bcp14> treat one whose <tt>iat</tt> claim is equal but whose contents differ as a resolution failure. It keeps that latest <tt>iat</tt>, with a SHA-256 digest of the token it accepted at that <tt>iat</tt>, for each status list URI while it records any statement that references the list, even after it discards the token, so that it can recognize a different token with the same <tt>iat</tt>. A host serving an older token then cannot restore a status the issuer has withdrawn.</t>
        <t>A server <bcp14>MUST</bcp14> verify a Status List Token only with keys from the issuer's Status List key set (<xref target="key-sets"/>), never with keys from the token itself. It reuses a retrieved key set only as Section 5.3 of <xref target="STATEMENT"/> permits for a statement key set.</t>
      </section>
    </section>
    <section anchor="shared-signals">
      <name>Status Change Events</name>
      <t>This section defines an optional Shared Signals Framework <xref target="SSF"/> event that tells a trusting authorization server that a status published under <xref target="token-status-list"/> has changed. The requirements of <xref target="configuration"/> through <xref target="processing"/> apply only to implementations that support the events.</t>
      <t>For the events defined here, the issuer acts as a transmitter, and a trusting authorization server that has configured it acts as a receiver.</t>
      <t><xref target="fig-withdrawal"/> shows a withdrawal that an event signals.</t>
      <figure anchor="fig-withdrawal">
        <name>Withdrawal Signaled by an Event</name>
        <artwork type="ascii-art"><![CDATA[
  Issuer        Status list host    Authorization server    Client
    |                  |                     |                 |
    | (1) token with   |                     |                 |
    |  changed status  |                     |                 |
    |----------------->|                     |                 |
    | (2) status changed event (SET)         |                 |
    |--------------------------------------->|                 |
    |               (3) acknowledgement      |                 |
    |<---------------------------------------|                 |
    |                  | (4) fetch the list  |                 |
    |                  |<--------------------|                 |
    |                  | (5) Status List     |                 |
    |                  |     Token           |                 |
    |                  |-------------------->|                 |
    |                  |     (6) refusal record                |
    |                  |                     | (7) refresh     |
    |                  |                     |<----------------|
    |                  |                     | (8) replacement |
    |                  |                     |     needed      |
    |                  |                     |---------------->|
]]></artwork>
      </figure>
      <t>The issuer publishes a Status List Token reflecting the change (1) before it sends the event (2), which the receiver acknowledges (3). The receiver then retrieves the list (4, 5) and, if the status is <tt>INVALID</tt>, holds a refusal record (6). The next refresh of a grant that records the statement (7) needs a replacement (8), or is rejected with <tt>statement_required</tt>. Without the event, steps 4 to 6 happen on the server's own schedule (<xref target="status-resolution"/>), so a suppressed event delays the refusal but does not prevent it.</t>
      <section anchor="configuration">
        <name>Stream Configuration</name>
        <t>An issuer that supports the events defined here publishes transmitter configuration metadata as <xref target="SSF"/> defines, discoverable from its issuer identifier. Stream creation, subject management, verification, and delivery follow <xref target="SSF"/>.</t>
        <t>A trusting authorization server that supports these events <bcp14>SHOULD</bcp14> create one stream per configured issuer that offers them (<xref target="stream-practice"/>).</t>
        <t>The subjects appropriate to a stream are those of the issuer's statements whose <tt>aud</tt> claim is absent or names the receiving authorization server. A transmitter <bcp14>SHOULD</bcp14> scope each stream to those subjects.</t>
        <t>A receiver <bcp14>SHOULD</bcp14> request the event this specification defines, and <bcp14>SHOULD</bcp14> use the stream verification facility of <xref target="SSF"/> periodically.</t>
      </section>
      <section anchor="status-changed">
        <name>Status Changed Event</name>
        <t>The event type identifier is <tt>urn:ietf:params:oauth:event-type:software-statement-status-changed</tt> (<xref target="iana-event-type"/>).</t>
        <t>The event reports that the issuer has changed the published status of one or more statements for the subject. A transmitter <bcp14>MUST NOT</bcp14> transmit the event until a Status List Token reflecting the change is retrievable at the status list URI, including through any caching layer it operates. A receiver resolving before then would fetch the status from before the change.</t>
        <t>The event does not say what the new status is, and a receiver <bcp14>MUST NOT</bcp14> infer one from it. Resolving a status of <tt>VALID</tt> after an event is not an error.</t>
        <t>The subject of every event defined here is client software. Events carry it in the <tt>sub_id</tt> claim of <xref target="SSF"/> using the <tt>uri</tt> subject identifier format (Section 3.2.7 of <xref target="RFC9493"/>). The <tt>uri</tt> member carries the client's CIMD URL exactly as it appears in the <tt>sub</tt> claim of the statements the event concerns.</t>
        <t>A trusting authorization server <bcp14>MUST</bcp14> match the subject by exact comparison of the <tt>uri</tt> member against a statement's <tt>sub</tt> claim.</t>
        <t>The payload (<xref target="RFC8417"/>) of an event defined here has the following claims:</t>
        <dl>
          <dt><tt>event_timestamp</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. The claim defined by <xref target="CAEP"/>, a NumericDate value that here gives the time at which the issuer changed the status the event reports. It is informational: a receiver does not use it to order, bound, or scope anything.</t>
          </dd>
          <dt><tt>software_statement_jti</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. The <tt>jti</tt> claim value of a single statement whose status changed (<xref target="processing"/>).</t>
          </dd>
          <dt><tt>reason_admin</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. An administrative message, as <xref target="CAEP"/> defines the claim.</t>
          </dd>
        </dl>
        <t>The following is a non-normative example of the payload of a SET carrying this event for one statement:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://issuer.example",
  "jti": "4d3559ec67504aaba65d40b0363faad8",
  "iat": 1792022400,
  "aud": "https://as.example",
  "sub_id": {
    "format": "uri",
    "uri": "https://client.example/app"
  },
  "events": {
"urn:ietf:params:oauth:event-type:software-statement-status-changed":
    {
      "event_timestamp": 1792022390,
      "software_statement_jti": "c2a907b34d28"
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="relationship">
        <name>Event Issuer Trust and Keys</name>
        <t>A trusting authorization server <bcp14>MUST NOT</bcp14> accept an event from an issuer it has not configured. It <bcp14>MUST</bcp14> verify the SET using keys from the <tt>jwks_uri</tt> member of the issuer's transmitter configuration metadata <xref target="SSF"/>, discovered from the issuer identifier it has configured, and never from a key-location value carried in the event. The SET's <tt>iss</tt> claim is that issuer identifier, which is also the <tt>iss</tt> claim value of the statements the event concerns.</t>
        <t>A receiver <bcp14>MUST NOT</bcp14> create or keep a stream whose transmitter configuration metadata gives as its <tt>jwks_uri</tt> the location of the issuer's statement key set or Status List key set (<xref target="key-sets"/>).</t>
        <t>A SET carrying an event defined here <bcp14>MUST</bcp14> have an <tt>aud</tt> claim containing the audience of the stream that delivers it, which <xref target="SSF"/> lets the transmitter and receiver agree on. A receiver <bcp14>MUST NOT</bcp14> create or keep a stream whose audience does not identify it.</t>
      </section>
      <section anchor="processing">
        <name>Receiver Processing</name>
        <t>The affected statements are those the transmitting issuer made about the subject, never statements another issuer made about the same software. They are the statement the event's <tt>software_statement_jti</tt> claim names or, if the event names none, those the receiver holds or has cached a status for. An event about a subject for which the receiver holds no state requires nothing of it. A receiver ignores events for subjects outside the client identifier namespaces for which it accepts the transmitting issuer (Section 4 of <xref target="STATEMENT"/>).</t>
        <t>A trusting authorization server that receives an event defined here <bcp14>MUST</bcp14> process it as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Verify the SET as <xref target="RFC8417"/>, <xref target="SSF"/>, and <xref target="relationship"/> require.</t>
          </li>
          <li>
            <t>Reject an event whose <tt>aud</tt> claim does not contain the audience of the stream that delivered it (<xref target="relationship"/>).</t>
          </li>
          <li>
            <t>Resolve the subject (<xref target="status-changed"/>).</t>
          </li>
          <li>
            <t>Retrieve the Status List Token each affected statement's <tt>status</tt> claim references, as <xref target="STATUSLIST"/> defines, using a copy that the status list URI served, or confirmed by revalidation, in response to a request begun after the event arrived, without waiting for the schedule that would otherwise apply.</t>
          </li>
          <li>
            <t>Apply the resolved status as <xref target="status-resolution"/> defines.</t>
          </li>
        </ol>
        <t>If step 1 or 2 fails, the receiver reports a SET error as <xref target="RFC8935"/> or <xref target="RFC8936"/> provides. Otherwise, it acknowledges the SET, whatever steps 3 to 5 produce.</t>
        <t>One request begun after several events arrived serves every one of them that concerns the list it retrieves. An event is never grounds for refusal. Until the request succeeds, the copy the receiver holds remains in effect within its validity. If resolution does not complete, the receiver proceeds as it would had no event arrived.</t>
        <t>A receiver <bcp14>MUST</bcp14> treat an event it has already applied as successfully delivered and acknowledge it as <xref target="RFC8935"/> or <xref target="RFC8936"/> requires, rather than reporting a delivery error. Rejecting a retry can stall or disable a stream carrying later events. A receiver recognizes a repeated delivery by the SET's <tt>jti</tt> claim, which is unique within an event feed (Section 2.2 of <xref target="RFC8417"/>), so it detects duplicates per stream.</t>
        <t>Two constraints bound every event:</t>
        <ul spacing="normal">
          <li>
            <t>A receiver <bcp14>MUST NOT</bcp14> let an event by itself create standing, extend a statement's lifetime, or otherwise increase what a client can do. A receiver <bcp14>MUST</bcp14> ignore any payload claim that would have such an effect.</t>
          </li>
          <li>
            <t>A receiver <bcp14>MUST</bcp14> continue to resolve status as <xref target="status-resolution"/> provides, independently of this mechanism. Stream loss, transmitter unavailability, or delivery failure then leaves resolution in force.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="lifecycle-errors">
      <name>Error Responses</name>
      <t>This section extends Section 6 of <xref target="STATEMENT"/>, whose error responses and HTTP status codes apply at each endpoint.</t>
      <t>A presentation is rejected with <tt>statement_required</tt>, in place of the <tt>invalid_client</tt> that Section 6.2 of <xref target="STATEMENT"/> assigns, if a refusal record covers its statement (<xref target="withdrawal"/>), the statement's status index lies outside the list (<xref target="status-resolution"/>), or the <tt>iat</tt> floor supersedes the statement (<xref target="supersession"/>).</t>
      <t>A refresh-token request that <xref target="currency"/> rejects, or whose replacement is rejected (<xref target="refresh-replacement"/>), uses <tt>statement_required</tt>, subject to the order of Section 6 of <xref target="STATEMENT"/>. Subject to the same order, a request for which the document currently served at the establishment's <tt>sub</tt> cannot be obtained or fails validation is instead rejected with <tt>invalid_client</tt> (Section 6.1 of <xref target="CIMD"/>). When a replacement is needed, a request that carries one but omits <tt>client_id</tt> (<xref target="refresh-replacement"/>) is rejected with <tt>invalid_request</tt>, and one whose replacement names a <tt>sub</tt> other than the <tt>client_id</tt> is rejected with <tt>statement_required</tt>. A request whose <tt>client_id</tt> is not the client the refresh token was issued to fails the grant binding and is rejected with <tt>invalid_grant</tt> (Section 5.2 of <xref target="RFC6749"/>). A refresh whose access exceeds the metadata of the document an accepted replacement names is rejected with <tt>unauthorized_client</tt> or <tt>invalid_scope</tt>, as Section 6.3 of <xref target="STATEMENT"/> provides for the reviewed metadata.</t>
    </section>
    <section anchor="authorization-server-metadata">
      <name>Authorization Server Metadata</name>
      <t>This specification defines the following authorization server metadata <xref target="RFC8414"/> value:</t>
      <dl>
        <dt><tt>software_statement_replacement_supported</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. Boolean value indicating whether the authorization server applies refresh replacements (<xref target="refresh-replacement"/>). If omitted, the default value is <tt>false</tt>.</t>
        </dd>
      </dl>
      <t>An authorization server implementing this specification <bcp14>MUST</bcp14> publish <tt>software_statement_replacement_supported</tt> with the value <tt>true</tt>.</t>
      <t>On refresh-token use under an establishment, a server that does not apply refresh replacements ignores an offered statement (Section 5.4 of <xref target="STATEMENT"/>), so a successful refresh does not show that the server applied the statement. At a server that does not advertise <tt>true</tt>, a client that needs a later review to govern a grant under an establishment opens a new grant by runtime presentation. This value does not describe the renewal of a registration, which a statement delivered on a refresh-token request can perform at a server that implements <xref target="REGISTRATION"/>.</t>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>This section gives guidance to implementers. It adds no requirement.</t>
      <section anchor="server-state">
        <name>Server State</name>
        <t>A server implementing this specification keeps the following state:</t>
        <ul spacing="normal">
          <li>
            <t>a refusal record for each statement it has learned is withdrawn, or that its operator refused (<xref target="withdrawal"/>);</t>
          </li>
          <li>
            <t>an <tt>iat</tt> floor for each <tt>iss</tt>, <tt>sub</tt>, and use, per tenant for statements confined to a tenant and server-wide for others (<xref target="supersession"/>);</t>
          </li>
          <li>
            <t>for each establishment, its recorded statement and what step 4 of <xref target="refresh-replacement"/> records with it;</t>
          </li>
          <li>
            <t>with Token Status List, the Status List Tokens it holds and, for each status list URI, the latest <tt>iat</tt> it has accepted and a digest of that token (<xref target="status-resolution"/>); and</t>
          </li>
          <li>
            <t>with status change events, its streams and the SET <tt>jti</tt> values it has applied on each (<xref target="processing"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="event-resolution">
        <name>Resolution in Response to Events</name>
        <t>A receiver can bound the rate of the retrievals that events cause by deferring a retrieval briefly and coalescing events that concern the same status list URI (<xref target="processing"/>). Its scheduled resolution continues regardless.</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="withdrawal-practice">
        <name>Withdrawal Practice</name>
        <t>What a server does when it cannot consult a withdrawal mechanism it relies on is local policy (<xref target="withdrawal"/>). For Token Status List, Section 8.3 of <xref target="STATUSLIST"/> recommends rejecting a statement whose status the server cannot resolve. Refusing makes issuer availability a precondition for every request the statement governs. Proceeding leaves a withdrawn statement acceptable until it expires.</t>
        <t>A refusal that the server's operator entered, rather than one derived from a withdrawal mechanism, persists on the operator's own terms.</t>
        <t>Withdrawal does not replace lifetime: an issuer chooses <tt>exp</tt> assuming no trusting authorization server uses a withdrawal mechanism.</t>
      </section>
      <section anchor="schedule-practice">
        <name>Resolution Schedule and Lifetimes</name>
        <t>Retrieving the list on its own schedule (<xref target="status-resolution"/>) keeps each request a statement governs independent of issuer availability. Because events can be suppressed, a deployment ought to choose a resolution schedule and statement lifetimes it would accept with no event stream (<xref target="processing"/>).</t>
      </section>
      <section anchor="stream-practice">
        <name>Stream Coverage and Monitoring</name>
        <t>A stream can cover every subject appropriate to it (<xref target="configuration"/>), or the receiver can add each subject through the subject management of <xref target="SSF"/> when it first accepts a statement about that software. A withdrawal whose event was transmitted before the subject was added to the stream is found at a later resolution (<xref target="processing"/>).</t>
        <t>A receiver ought to alert on stream loss rather than assume quiescence.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of Section 13 of <xref target="STATEMENT"/>, <xref target="STATUSLIST"/>, <xref target="SSF"/>, and <xref target="RFC8417"/> apply.</t>
      <section anchor="open-grants">
        <name>Withdrawal and Open Grants</name>
        <t>A withdrawal revokes no issued token (<xref target="withdrawal"/>). Beyond the cases of Section 13.7 of <xref target="STATEMENT"/>, <xref target="currency"/> can prevent further refresh of a grant until the server accepts a replacement (<xref target="refresh-replacement"/>), and a server that removes an issuer from trust can end the grants opened and registrations created on that issuer's statements by entering refusal records for them.</t>
      </section>
      <section anchor="replacement-security">
        <name>Supersession and Refresh Replacement</name>
        <t>The <tt>iat</tt> floor (<xref target="supersession"/>) exists because one statement is consumable more than once (Section 11.3 of <xref target="STATEMENT"/>). Without it, a client holding an older, broader statement could keep opening registrations and establishments with it after its issuer narrows the review, until that statement expires. The floor closes this at a server only once the server accepts the later statement. A server that has not seen the later statement still accepts the earlier one, which is why <xref target="withdrawal"/> recommends that an issuer withdraw an earlier statement when it issues a later, narrower one.</t>
        <t>Refresh verifies possession of the establishment's proven key before it considers a replacement (<xref target="refresh-replacement"/>), so holding a statement gives a party nothing at refresh without the key, and a replacement cannot move a grant to another key.</t>
        <t>Because a replacement must name the document currently served (step 3 of <xref target="refresh-replacement"/>), a client cannot move a grant to a reviewed document it no longer serves.</t>
      </section>
      <section anchor="forged-and-replayed-events">
        <name>Forged and Replayed Events</name>
        <t>An event names no status, so a forged, replayed, delayed, or reordered event cannot change whether any statement is acceptable. Its only effect is a resolution the receiver would otherwise have performed on its own schedule.</t>
        <t>The remaining exposure is resource cost: an attacker holding the issuer's SET signing key, or a misbehaving transmitter, can trigger resolutions (<xref target="event-resolution"/>) and nothing more, because the key set that verifies SETs shares no location or key with the statement key set or the Status List key set (<xref target="key-sets"/>).</t>
      </section>
      <section anchor="event-suppression">
        <name>Event Suppression</name>
        <t>Because a receiver resolves status independently (<xref target="processing"/>), an attacker who suppresses events delays a withdrawal at most until the receiver's next scheduled resolution that completes and, for new admissions, never beyond the affected statements' effective expiry (<xref target="schedule-practice"/>).</t>
        <t>The absence of events looks the same on a healthy stream and a suppressed one. Periodic stream verification (<xref target="configuration"/>) makes the difference observable (<xref target="stream-practice"/>).</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The privacy considerations of Section 14 of <xref target="STATEMENT"/>, <xref target="STATUSLIST"/>, <xref target="SSF"/>, and <xref target="RFC8417"/> apply.</t>
      <t>When a list aggregates many statements, a retrieval tells the issuer only that some trusting authorization server is checking, and retrieving the list on its own schedule (<xref target="status-resolution"/>) keeps the server's request timing from disclosing the client population it serves. An issuer that gives a statement its own list, or a list few statements share, learns from each retrieval which server checks that software and when, so an issuer ought to place many statements in each list. A retrieval that an event prompts shows the issuer that the receiver holds a statement or a cached status for the event's subject.</t>
      <t>Subject identifiers in these events name reviewed software and, in aggregate, describe an organization's approved software estate. For this reason, a stream is scoped as <xref target="configuration"/> provides. A receiver ought to treat event logs as sensitive at rest, as Section 11.4 of <xref target="STATEMENT"/> treats statements. A log of events is a record about client identifiers that can outlive the issuer's own published status, so a receiver ought to bound its retention.</t>
      <t>Refusal records (<xref target="withdrawal"/>) and <tt>iat</tt> floors (<xref target="supersession"/>) are durable state that an authorization server keeps per client identifier. They show which software an issuer has withdrawn or reviewed again, so a server ought to protect them as it protects statements (Section 11.4 of <xref target="STATEMENT"/>) and ought not to keep an <tt>iat</tt> floor longer than its purpose requires (<xref target="supersession"/>).</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The <tt>software_statement_jti</tt> payload claim of <xref target="status-changed"/> needs no registration, because SET payload claims need not be registered as JWT claims (Section 2 of <xref target="RFC8417"/>) and no IANA registry of SET payload claims exists.</t>
      <section anchor="iana-event-type">
        <name>OAuth URI Registry</name>
        <t><xref target="RFC8417"/> establishes no registry of event types, so this specification takes its identifier from the <tt>oauth</tt> sub-namespace <xref target="RFC6755"/> and requests registration of the following value in the IANA "OAuth URI" registry:</t>
        <dl>
          <dt>URN:</dt>
          <dd>
            <t><tt>urn:ietf:params:oauth:event-type:software-statement-status-changed</tt></t>
          </dd>
          <dt>Common Name:</dt>
          <dd>
            <t>Client ID Metadata Document Software Statement Status Changed Event Type</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This specification, <xref target="status-changed"/></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 value in the IANA "OAuth Authorization Server Metadata" registry established by <xref target="RFC8414"/>:</t>
        <dl>
          <dt>Metadata Name:</dt>
          <dd>
            <t><tt>software_statement_replacement_supported</tt></t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>Boolean value indicating whether the authorization server applies Client ID Metadata Document software statement refresh replacements.</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="RFC8935">
          <front>
            <title>Push-Based Security Event Token (SET) Delivery Using HTTP</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="M. Jones" initials="M." role="editor" surname="Jones"/>
            <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
            <author fullname="M. Ansari" initials="M." surname="Ansari"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <date month="November" year="2020"/>
            <abstract>
              <t>This specification defines how a Security Event Token (SET) can be delivered to an intended recipient using HTTP POST over TLS. The SET is transmitted in the body of an HTTP POST request to an endpoint operated by the recipient, and the recipient indicates successful or failed transmission via the HTTP response.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8935"/>
          <seriesInfo name="DOI" value="10.17487/RFC8935"/>
        </reference>
        <reference anchor="RFC8936">
          <front>
            <title>Poll-Based Security Event Token (SET) Delivery Using HTTP</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="M. Jones" initials="M." role="editor" surname="Jones"/>
            <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
            <author fullname="M. Ansari" initials="M." surname="Ansari"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <date month="November" year="2020"/>
            <abstract>
              <t>This specification defines how a series of Security Event Tokens (SETs) can be delivered to an intended recipient using HTTP POST over TLS initiated as a poll by the recipient. The specification also defines how delivery can be assured, subject to the SET Recipient's need for assurance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8936"/>
          <seriesInfo name="DOI" value="10.17487/RFC8936"/>
        </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="RFC8417">
          <front>
            <title>Security Event Token (SET)</title>
            <author fullname="P. Hunt" initials="P." role="editor" surname="Hunt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="M. Ansari" initials="M." surname="Ansari"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>This specification defines the Security Event Token (SET) data structure. A SET describes statements of fact from the perspective of an issuer about a subject. These statements of fact represent an event that occurred directly to or about a security subject, for example, a statement about the issuance or revocation of a token on behalf of a subject. This specification is intended to enable representing security- and identity-related events. A SET is a JSON Web Token (JWT), which can be optionally signed and/or encrypted. SETs can be distributed via protocols such as HTTP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8417"/>
          <seriesInfo name="DOI" value="10.17487/RFC8417"/>
        </reference>
        <reference anchor="RFC9493">
          <front>
            <title>Subject Identifiers for Security Event Tokens</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
            <author fullname="P. Jain" initials="P." surname="Jain"/>
            <date month="December" year="2023"/>
            <abstract>
              <t>Security events communicated within Security Event Tokens may support a variety of identifiers to identify subjects related to the event. This specification formalizes the notion of Subject Identifiers as structured information that describes a subject and named formats that define the syntax and semantics for encoding Subject Identifiers as JSON objects. It also establishes a registry for defining and allocating names for such formats as well as the JSON Web Token (JWT) "sub_id" Claim.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9493"/>
          <seriesInfo name="DOI" value="10.17487/RFC9493"/>
        </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="STATEMENT">
          <front>
            <title>Client ID Metadata Document Software Statement</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 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>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-cimd-sw-stmt-00"/>
        </reference>
        <reference anchor="STATUSLIST">
          <front>
            <title>Token Status List (TSL)</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="21" month="June" year="2026"/>
            <abstract>
              <t>   This specification defines a status mechanism called Token Status
   List (TSL), data structures and processing rules for representing the
   status of tokens secured by JSON Object Signing and Encryption (JOSE)
   or CBOR Object Signing and Encryption (COSE), such as JWT, SD-JWT,
   CBOR Web Token, and ISO mdoc.  It also defines an extension point and
   a registry for future status mechanisms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-21"/>
        </reference>
        <reference anchor="SSF" target="https://openid.net/specs/openid-sharedsignals-framework-1_0.html">
          <front>
            <title>OpenID Shared Signals Framework Specification 1.0</title>
            <author initials="A." surname="Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <author initials="T." surname="Cappalli">
              <organization>Okta</organization>
            </author>
            <author initials="M." surname="Scurtescu">
              <organization>Coinbase</organization>
            </author>
            <author initials="A." surname="Backman">
              <organization>Amazon</organization>
            </author>
            <author initials="J." surname="Bradley">
              <organization>Yubico</organization>
            </author>
            <author initials="S." surname="Miel">
              <organization>Cisco</organization>
            </author>
            <date year="2025" month="August" day="29"/>
          </front>
        </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="CAEP" target="https://openid.net/specs/openid-caep-1_0.html">
          <front>
            <title>OpenID Continuous Access Evaluation Profile 1.0</title>
            <author initials="T." surname="Cappalli">
              <organization>Okta</organization>
            </author>
            <author initials="A." surname="Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <date year="2025" month="August" day="29"/>
          </front>
        </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="RFC6755">
          <front>
            <title>An IETF URN Sub-Namespace for OAuth</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This document establishes an IETF URN Sub-namespace for use with OAuth-related specifications. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6755"/>
          <seriesInfo name="DOI" value="10.17487/RFC6755"/>
        </reference>
        <reference anchor="RFC7009">
          <front>
            <title>OAuth 2.0 Token Revocation</title>
            <author fullname="T. Lodderstedt" initials="T." role="editor" surname="Lodderstedt"/>
            <author fullname="S. Dronia" initials="S." surname="Dronia"/>
            <author fullname="M. Scurtescu" initials="M." surname="Scurtescu"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document proposes an additional endpoint for OAuth authorization servers, which allows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed. This allows the authorization server to clean up security credentials. A revocation request will invalidate the actual token and, if applicable, other tokens based on the same authorization grant.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7009"/>
          <seriesInfo name="DOI" value="10.17487/RFC7009"/>
        </reference>
      </references>
    </references>
    <?line 570?>

<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>Aligned with draft -03 of <xref target="CIMD"/>. A refresh replacement's document must permit the establishment's Selected Method (<xref target="refresh-replacement"/>).</t>
        </li>
        <li>
          <t>A refresh whose currently served document cannot be obtained or fails validation is rejected with <tt>invalid_client</tt> (<xref target="lifecycle-errors"/>).</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial version.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V92XYbx7XoO76iL/UgKReAJVKDxeQkl9YQK9Z0RDleWVlZ
YgNokG0B3UhXgzRCKd9yv+V+2d1j1a7uAgjZWevowSab3TXs2vNUo9Fo0Jbt
ojjODp4uyqJqs5fPstdFm8/yNs+e1dP1Eh+e1vP2Km+K7LTN24IevSrnxXQz
XRQHg3wyaYrL46zO1+3FaFouZyN3NXLtsh0t9K3BrJ5W+RImmjX5vB0tp+fr
sqoK50a7Phvduz+YwpTndbM5zlw7GwzKVXOctc3atYf37j25dziAdeWw/tNi
um7KdnMwuKqbT+dNvV7B05+KSXYC49dN+a+8Lesqe9fUbT2tFweDwadiA+/O
jgfZKHuLb+EP/b3i05/K9gJWfpUv6J31qmgcLB4GxN/fF/OmcBfZh/pTQQ/w
27UDIDn6+vQCBpxlp+V5lS8cPZHVZs8vEZr84cC1eTX7mC/qCgC1KdxgVR5n
f4flDjNXN21TzB38tFniD/8YDHLaGC5/kMG/snLH2Q/j7PX0zwJbesxg/yFv
Ft2/1M15XglcjrOX1axYFfAf3DH8K5Z5uTjOVuvJopz+n0/wfTi08bReDgZV
3Szh48sClpC9f/H00eMHT+THb58cPQw/PtIfH9x/EH58LD8+efDkiH58/ueX
px/en3x4+fYNLGf0bLwbS5riHODb0PLh89MPJx+ev37+5sMe38rrP56+ghn5
/bJo5/Kmo9MDLHT04umLYwJImzfnRXucXbTtyh1/800N0Cpn46pov3GrYurk
wcjRaTs+7NG8AfgjSo7uf7w3vmiXCx5MyO4tfAM0F2NI9kI/yk5h5HJeThl5
74/vHdDn/ujp34jP/mScfVgv3EU5yc8BUwv5Kx30cXb65zev4vc/jLOn+WqV
LxZl/OrbT20ev/p6nJ0CxraFm67jd5/WZTXJXdFbynf59NMyr+K3T5b5v+oq
fvcv8G6TzxbFJn73b+tJOa3jd08Bvcti0VlC6eQ9YFsA1MN7hw9H974dHT4B
dlHNLZY+PXn+7utOc5oXq51H97Su2rJa10DvJ9Mp4BvQdL5Ye24zLxfFDQf3
FQex5xn3AAFbf/n6WQ/Vp8T1R7DPpXD90Uy4vtL0QyXkx8BvjweD0WiU5RMk
vGk7GHy4KF3mIiSdFfMS6C67qK+yPNslV+7gmu4CbxOW65TlDrPcyTgz2DcM
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
gvHvUXkdujMsuMDSc7+4WaVvJtWRjcyXaDXcLiVcr9Gd+J9rwFPseMN/xpQg
0iLZ9NGS+4Bb3ASK1DGN8aMLIQ9NN4cq206/PxkdPnyksV7Zkd+K34bPJOGv
fVlfV+BzbXMZlLZEOYy/Pcl5XJPUbu7EitndYMXn2jJIOpNpcQJrODTBeVX+
i3IvvA3YBsHtdRRaMyL/BQaTEQ24w9xW8SptgGKqTnUO7uEVVVdtkjjFnbZx
YaAtuKAY7nSQxLrFUHLXEqPoiWG2Nx18U0g3F6XxWXA4UQ2O2+0S0gSWLX4E
bhbCK37KZtlzNstAasdW2Rbv4a+90g1UG3K+7nEPij+/oI9o8U6imyMdrWZN
i5s2drdcX0c6QHRbysrHRrBwOco28Om0ufHHSZ4nc9NL8Um+EPebWLjaXxt1
qOimo3zKNmQeNxznDNY9AEM7DeY+EbqOqF3LfbpBlMHNGQdRjyBtrc1nJKee
iLOKAS7/Tg3jILqEfyepBcM/vo+TYleJuFw6VNd/+lkGuHP/rmUTXz+Av9RL
sOtrB+jFCf/41Vs4vKuT61rkzipqC//1K0j/S6zrc/IU7hzdBQz6VNVXi2J2
zoxi9wr+sOcS9l0Bg+XB3WxetJJwQai16xh7f0gu6utW8PBuxMd3wiA1AP5j
edF9ut8Av+kY/aM7j+52lfavG6D/9M7juz40+WsG6J3N16/g27tRlO+rB8B/
EmP8VVvon0sUdLcsVe56CU9YNHKLPuC1JGsP5O7MXhwspX4A7LXcmSujSGYj
LwzVTKFnhXCTw7s2aVglgyV1h7Sv0lL+TKqUqh1BxwPyHGYP73LPhzI0NluT
ZepN1+FWs/GRTCT35O3usxsnyCL2JYs3v+WAXD99KhHCZReTet0IREPOtAOj
H+T8I5CrqxWperENbc2obU4Q7ZUOakHDhSZ8BrNigf04JLJP8IiuGoa3L9kN
qW4UvGoE0yuNs+L6Vqy49LzZvupki/Zh/do3O+zZBCXFzTdp1rgcNWPwlz7o
VZt6kUUz1g1Q7jZFid16QlWUy7zKz8VjyF0MwiXzM+1nvNHbnWUB+16ZZwHg
PAi0VzVfF8FeS1rdymw+ZJyIUTiXtJMlnzV+EHVMZaqVbTm+TBtMV8rN5X75
NAdd9kMGXzdmYgIJYjBiM8JgMOYTJxV8nKkRiHcbENgHHQ5WNs79EMXQo0VR
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

-->

</rfc>
