<?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.2.3) -->
<?rfc tocindent="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dogru-cedulon-09" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Cedulon">Cedulon: An Audit Layer for Agent-to-Agent Commerce</title>
    <seriesInfo name="Internet-Draft" value="draft-dogru-cedulon-09"/>
    <author initials="E. C." surname="Dogru" fullname="Emek Can Dogru">
      <organization>VERAX TEKNOLOJI LIMITED SIRKETI</organization>
      <address>
        <postal>
          <country>Turkey</country>
        </postal>
        <email>e.dogru@cedulon.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="06"/>
    <area>sec</area>
    <keyword>Cedulon</keyword>
    <keyword>agent</keyword>
    <keyword>receipt</keyword>
    <keyword>policy</keyword>
    <keyword>SCITT</keyword>
    <abstract>
      <?line 170?>

<t>This document defines the Cedulon Protocol, an audit layer for
agent-to-agent commerce. Payment rails such as HTTP 402 flows (x402)
and mandate protocols (AP2) already move value, and a mandate protocol
can already refuse a spend before it happens. What they do not, by
themselves, give a party that is neither payer nor rail operator is a
retrievable record of that decision and a signed spend receipt that
reconciles against an authenticated extract of the rail. Cedulon
specifies a Trade Manifest (a signed offer before payment), a Policy
Decision Point with default deny, a Spend Receipt (a COSE/CWT claim
set issued after a gated payment), epoch checkpoints, and rail-extract
reconciliation.</t>
      <t>The reconciliation shows that no settlement on the extract lacks a
receipt and no settled receipt is absent from the extract. That result
is unconditional only when the verifier pins the rail key out of band
and names the account, rail and window under audit; otherwise it is
reported as conditional. Checkpoints are profiled as SCITT Signed
Statements, and a checkpoint the presented chain omits is reported by
a witness that holds it. No signed object is attested by a key it
carries itself, and the exact input to every hash-valued field is
stated, so that an independent verifier can be written from the text
alone. Cedulon is not a competitor to x402 or AP2; it sits above them.</t>
    </abstract>
  </front>
  <middle>
    <?line 195?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Agents can now pay. Open HTTP 402 protocols <xref target="X402"/> attach
stablecoin settlement to ordinary requests. Card networks and
processors issue agent-scoped tokens. Google's Agent Payments
Protocol (AP2) <xref target="AP2"/> binds user intent to signed mandates.</t>
      <t>What is missing is an interoperable <strong>audit layer</strong>: a machine-checkable
answer to "was this spend allowed by policy, against which offer, and
what bytes were delivered?" The third question is answered to the
extent the evidence carries it: machine-checkably where an
attributable payee countersignature binds a <tt>deliveredHash</tt>
(<xref target="countersign"/>), and narrowed to "what bytes were promised, and
what hash was presented beside them" where none does - a bundle
must not claim more than its signatures cover. Without this layer, a
prompt-injected or
looping agent can drain a rail that has already accepted a valid
signature. A counterparty can ship the wrong artifact. A transparency
log, if used at all, is proprietary.</t>
      <t>Cedulon fills that gap. It does not clear funds, hold custody, or
operate a payment facilitator. An optional escrow actor is defined only
as a third-party role interface (<xref target="escrow-role"/>). Implementations of
this specification <bcp14>MUST NOT</bcp14> take custody of funds or operate escrow
(<tt>MUST-T8-custody</tt>).</t>
      <t>The control is an old one. Reconciling an internal ledger against an
external statement is what double-entry bookkeeping <xref target="PACIOLI"/> made
routine, and signing the artifacts on both sides is Grigg's
triple-entry idea <xref target="GRIGG"/>. Neither is claimed here. What this
document contributes is an open wire profile for that control in a
setting where the parties are software: a COSE receipt shape, an
extract shape, a checkpoint chain, and a verification algorithm
precise enough that two implementations reach the same finding on the
same evidence. The novelty is interoperability, not the idea.</t>
      <t>Neighbor drafts are complementary, not substitutes.
draft-bates-atp <xref target="BATES-ATP"/> covers tamper-evident causal lineage as
a signed DAG. Cedulon is the completeness layer: a spend that never
produced a receipt is visible when an authenticated rail extract is
reconciled (<tt>MUST-T10-1</tt>).</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms are used:</t>
      <dl>
        <dt>Trade Manifest:</dt>
        <dd>
          <t>A signed statement produced <strong>before</strong> payment. It binds a description
of goods or service, price, currency, acceptance-criteria hash, cancel
condition, expiry, and an optional AP2 mandate reference.</t>
        </dd>
        <dt>Policy Decision Point (PDP):</dt>
        <dd>
          <t>The function that evaluates a structured spend request against stored
policy. The default is deny.</t>
        </dd>
        <dt>Spend Receipt:</dt>
        <dd>
          <t>A signed statement produced <strong>after</strong> a gated payment attempt. It
binds payer, payee, amount, currency, policy hash, <tt>manifestHash</tt> or
an explicit <tt>noManifest</tt> flag, rail payment reference, <tt>timestampMs</tt>,
nonce, <tt>prevReceiptHash</tt>, and <tt>outcome</tt>.</t>
        </dd>
        <dt>Receipt Issuer:</dt>
        <dd>
          <t>The party that signs Spend Receipts.</t>
        </dd>
        <dt>Anchor:</dt>
        <dd>
          <t>An optional SCITT Transparency Service <xref target="RFC9943"/> that registers a
signed statement and returns a COSE receipt <xref target="RFC9942"/>.</t>
        </dd>
        <dt>Dispute Evidence Bundle:</dt>
        <dd>
          <t>A package of the Trade Manifest, the Spend Receipt, and a delivery
hash. It is evidence for a later human or legal process. It is not an
arbitral award and not an escrow release.</t>
        </dd>
        <dt>Decision Token:</dt>
        <dd>
          <t>A portable, single-use PDP allow encoded as COSE_Sign1. The claim
set binds <tt>requestHash</tt>, <tt>policyHash</tt>, <tt>expiryMs</tt>, <tt>nonce</tt>, and
<tt>singleUseId</tt>. See <xref target="decision-token"/>.</t>
        </dd>
        <dt>Rail Extract:</dt>
        <dd>
          <t>An authenticated list of settlement records for one account, one
rail, and one time window. See <xref target="rail-extract"/>.</t>
        </dd>
        <dt>Presented-unattested:</dt>
        <dd>
          <t>The state of a receipt or checkpoint the verifier holds no pinned
issuer key for. Its signature is checked against the key the object
itself carries (<xref target="presentation"/>), which establishes internal
consistency only, so the object is neither attested nor rejected:
every presented object is weighed as one set and the completeness
guarantee is reported as conditional. It is a state of the report,
not a finding code. See <xref target="issuer-root"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t>Cedulon has three control-plane objects and one optional log:</t>
      <artwork><![CDATA[
  Principal --policy--> PDP --allow/deny--> x402/AP2 rail
                              |
                              v
                      Receipt Issuer --> Spend Receipt
                              |
                              v
                      Anchor / SCITT (optional)
]]></artwork>
      <t>The payer agent never talks to the rail except through an adapter that
calls the PDP first (<tt>MUST-T5-1</tt>).</t>
      <section anchor="policy-decision-point">
        <name>Policy Decision Point</name>
        <t>The PDP evaluates structured fields only (<tt>MUST-T1-1</tt>): amount,
currency, payee, tool identifier, nonce, optional manifest hash, and
evaluation time. It applies limit, velocity, and scope checks
(<tt>MUST-T2-1</tt>, <tt>MUST-T2-2</tt>). If the PDP is unreachable, uninitialized,
or throws, the result is deny (<tt>MUST-T2-3</tt>). Denied attempts do not
increment success counters (<tt>MUST-T2-4</tt>).</t>
        <t>An allow produces a Decision Token whose <tt>requestHash</tt> covers six
fields: amount, currency, payee, tool, nonce, and <tt>manifestHash</tt>
(<tt>MUST-T3-4</tt>, <tt>MUST-T6-1</tt>). The token is a COSE_Sign1 object
(<tt>MUST-T6-4</tt>), is single-use (<tt>MUST-T6-2</tt>), and <bcp14>MAY</bcp14> be carried to
the adapter that performs settlement.</t>
      </section>
      <section anchor="receipt-issuer">
        <name>Receipt Issuer</name>
        <t>After the adapter attempts settlement (success or a recorded deny that
still needs an audit trail for an allowed-then-aborted path), the
Receipt Issuer signs a Spend Receipt over the deterministic CBOR
encoding of its claims (<tt>MUST-T4-1</tt>). Verifiers reject bad signatures and byte mismatch
(<tt>MUST-T4-2</tt>).</t>
      </section>
      <section anchor="anchor-scitt">
        <name>Anchor / SCITT</name>
        <t>Parties <bcp14>MAY</bcp14> register the signed receipt (or a privacy-preserving hash
encoding) as a SCITT Signed Statement <xref target="RFC9943"/> and attach the COSE
receipt (<tt>MAY-T4-6</tt>). This document does not operate a Transparency
Service.</t>
      </section>
    </section>
    <section anchor="trade-manifest">
      <name>Trade Manifest</name>
      <t>A Trade Manifest is the commerce analogue of a promise: it is issued
<strong>before</strong> value moves. It is conceptually symmetric to a later Spend
Receipt (promise then proof), and it <bcp14>MAY</bcp14> carry an AP2 mandate hash so
that user intent and the Cedulon offer stay linked (<tt>SHOULD-T8-5</tt>).</t>
      <t>A Trade Manifest <bcp14>MUST</bcp14> bind all of the following (<tt>MUST-T8-1</tt>):</t>
      <ul spacing="normal">
        <li>
          <t>goods or service description</t>
        </li>
        <li>
          <t>price (integer minor units, encoded as a decimal string matching
<tt>0|[1-9][0-9]*</tt>)</t>
        </li>
        <li>
          <t>currency (ISO 4217 alphabetic or a documented token identifier)</t>
        </li>
        <li>
          <t>acceptance-criteria hash (SHA-256 <xref target="RFC6234"/> of the exact delivery
bytes, lowercase hexadecimal)</t>
        </li>
        <li>
          <t>cancel condition (opaque string agreed by the parties)</t>
        </li>
        <li>
          <t>expiry (POSIX milliseconds, <tt>expiresAtMs</tt>)</t>
        </li>
      </ul>
      <t>-03 allowed this hash to be taken over "the exact
delivery bytes or a declared schema instance" and gave a verifier no
way to tell which one an issuer had used. Two implementations reading
the same manifest would then compute different digests over the same
delivery and neither would be wrong. This revision defines the first
reading only. Hashing a schema instance instead would need a marker in
the manifest saying so, this document defines no such marker, and until
one is defined that use is out of scope rather than an alternative a
verifier is expected to guess at.</t>
      <t>It <bcp14>MAY</bcp14> include <tt>ap2MandateHash</tt>. The corresponding CBOR label is
always present; a missing mandate is encoded as CBOR null.</t>
      <t>It <bcp14>MAY</bcp14> name a <tt>payee</tt>. An offer that is specific to one counterparty
carries that party's payee identifier; when present, every receipt
that names this manifest has its <tt>payee</tt> compared against it as exact
octets under <tt>MUST-T8-9</tt>, on that requirement's two-branch severity.
An open offer legitimately omits the member, and no comparison is
made. Unlike <tt>ap2MandateHash</tt>, the label is encoded only when the
member is present, so a manifest signed before -05 carries
the same bytes and keeps verifying; this is why the null convention
above does not apply to it.</t>
      <t>The manifest is COSE_Sign1 <xref target="RFC9052"/> over a deterministic CBOR claim
map (<xref target="cose-profile"/>). <tt>manifestHash</tt> is the SHA-256 of the signed
COSE bytes (<tt>MUST-T8-7</tt>). A spend bound to a manifest <bcp14>MUST</bcp14> be denied
if the requested amount or currency differs from the manifest
(<tt>MUST-T8-2</tt>) or if the manifest is expired (<tt>MUST-T3-3</tt>).</t>
      <t>A spend that is not bound to a verified manifest <bcp14>MUST</bcp14> be marked
<tt>noManifest</tt> on the receipt and <bcp14>MUST</bcp14> still pass limit, velocity, and
scope checks (<tt>MUST-T1-2</tt>). An implementation <bcp14>MAY</bcp14> refuse all
<tt>noManifest</tt> spend (<tt>MAY-T1-4</tt>).</t>
    </section>
    <section anchor="spend-receipt">
      <name>Spend Receipt</name>
      <t>The Spend Receipt claim set is carried in COSE_Sign1 <xref target="RFC9052"/>
wrapping a CWT-compatible map <xref target="RFC8392"/>. New receipts <bcp14>MUST</bcp14> use the
COSE profile (<xref target="cose-profile"/>).</t>
      <t>Claims (<tt>MUST-T4-3</tt>, <tt>MUST-T4-4</tt>, <tt>MUST-T4-7</tt>):</t>
      <table>
        <thead>
          <tr>
            <th align="left">Claim</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">payer</td>
            <td align="left">Payer agent identifier</td>
          </tr>
          <tr>
            <td align="left">payee</td>
            <td align="left">Payee identifier</td>
          </tr>
          <tr>
            <td align="left">amount</td>
            <td align="left">Minor units as a decimal string <tt>0|[1-9][0-9]*</tt></td>
          </tr>
          <tr>
            <td align="left">currency</td>
            <td align="left">Currency identifier</td>
          </tr>
          <tr>
            <td align="left">policyHash</td>
            <td align="left">SHA-256 of the canonical policy document (lowercase hex)</td>
          </tr>
          <tr>
            <td align="left">manifestHash</td>
            <td align="left">SHA-256 of the signed manifest COSE bytes, or null when <tt>noManifest</tt> is true</td>
          </tr>
          <tr>
            <td align="left">noManifest</td>
            <td align="left">Boolean; <bcp14>MUST</bcp14> be true if and only if <tt>manifestHash</tt> is null</td>
          </tr>
          <tr>
            <td align="left">x402PaymentRef</td>
            <td align="left">Rail payment reference, or null</td>
          </tr>
          <tr>
            <td align="left">timestampMs</td>
            <td align="left">POSIX milliseconds</td>
          </tr>
          <tr>
            <td align="left">nonce</td>
            <td align="left">Unique spend nonce; at least 128 bits of randomness; unique in the issuer scope</td>
          </tr>
          <tr>
            <td align="left">prevReceiptHash</td>
            <td align="left">Previous receipt hash, or null for the first receipt (<tt>SHOULD-T4-5</tt>)</td>
          </tr>
          <tr>
            <td align="left">outcome</td>
            <td align="left">
              <tt>settled</tt> or <tt>aborted</tt></td>
          </tr>
        </tbody>
      </table>
      <t>A receipt with <tt>outcome</tt> = <tt>settled</tt> <bcp14>MUST</bcp14> have a non-null
<tt>x402PaymentRef</tt> (<tt>MUST-T4-7</tt>). An aborted receipt <bcp14>MUST NOT</bcp14> be added
into checkpoint totals.</t>
      <t>All twelve labels in <xref target="receipt-labels"/> are always present. An empty
optional value is encoded as CBOR null, never by omitting the label.</t>
      <t><tt>receiptHash</tt> is the SHA-256 of the receipt's signed COSE bytes,
encoded as lowercase hex.</t>
      <t>Verifiers <bcp14>MUST</bcp14> reject a receipt if the signature fails or if the
decoded claim map does not match the presented claims (<tt>MUST-T4-2</tt>).</t>
      <section anchor="countersign">
        <name>Optional payee countersignature</name>
        <t>A payee <bcp14>MAY</bcp14> attach a countersignature over the issuer's signed
Spend Receipt (<tt>MAY-T8-10</tt>). The profile uses a <strong>detached</strong>
COSE_Sign1 <xref target="RFC9052"/> whose payload is a CBOR map with private-use
labels:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Claim</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-70401</td>
              <td align="left">receiptCose</td>
              <td align="left">bstr (exact issuer COSE_Sign1 bytes)</td>
            </tr>
            <tr>
              <td align="left">-70402</td>
              <td align="left">deliveredHash</td>
              <td align="left">bstr (optional; SHA-256 of the exact delivered bytes)</td>
            </tr>
          </tbody>
        </table>
        <t>The countersignature uses the header profile in <xref target="cose-profile"/>
and content type <tt>application/cedulon-countersign+cbor</tt>.</t>
        <t>This is a second Sign1 object, not RFC 9052 Countersignature0
(unprotected-header label 11). Countersignature0 would write into
the issuer object and change <tt>receiptHash</tt> after issue, breaking
the receipt chain. A detached Sign1 keeps the issuer bytes
stable, reuses <tt>kid</tt> and content-type, and is absent by simply
omitting the sibling object.</t>
        <t>Absence of a countersignature <bcp14>MUST NOT</bcp14> invalidate the issuer
receipt (<tt>MAY-T8-10</tt>). A countersignature travels beside the issuer
signature without being covered by it, so anyone holding an honest
receipt can append one of their own. Attribution is therefore the
gate: a countersignature that cannot be attributed to the pinned
payee key - the signature fails, <tt>kid</tt> or content type does not
match, label -70401 is not the issuer COSE bytes (<tt>MUST-T8-8</tt>), or
the signature is valid under some other key - <bcp14>MUST</bcp14> be rejected as
approval evidence. What is rejected is the countersignature, not
the receipt: the verdict on the untouched issuer receipt <bcp14>MUST NOT</bcp14>
change because an unattributable object was attached. An appendable
object the issuer signature does not cover must not be able to
manufacture a negative result; this is the lesson <tt>MUST-T8-9</tt>
already encodes for the manifest comparison, applied one object
over. The identifiers <tt>countersign-bad</tt> (unverifiable) and
<tt>countersign-key-mismatch</tt> (verifiable under another key) name the
discarded object as warnings, and where the verifier pinned a payee
key and no attributable countersignature remains, the
<tt>countersign-missing</tt> warning still applies: a discarded forgery is
the absence of the payee's word, not a substitute for it.</t>
        <t>The optional <tt>deliveredHash</tt> claim binds delivery to the receipt
under the payee's key. A payee who countersigns <bcp14>MAY</bcp14> include the
SHA-256 of the exact bytes it received in the same signed payload
as the issuer receipt bytes. When an attributable countersignature
carries <tt>deliveredHash</tt> and the verifier also holds the Trade
Manifest, the two digests are compared as exact octets:
<tt>deliveredHash</tt> against <tt>acceptanceCriteriaHash</tt>. A mismatch is
<tt>delivery-mismatch</tt>, and it is a finding rather than a warning,
because both ends of the comparison are signed. A <tt>deliveredHash</tt>
carried by an unattributable countersignature is discarded with it.
A countersigner <bcp14>MUST</bcp14> refuse to sign a <tt>deliveredHash</tt> that is not 32
octets; a verifier that meets one anyway treats the countersignature
as carrying no <tt>deliveredHash</tt>, so the delivery question narrows as
it does when the claim is absent, and the signature verdict does not
move. A countersignature without the claim is valid exactly as before
-05, which introduced it.</t>
        <t>A Dispute Evidence Bundle that includes a verified countersignature
has stronger evidence that the payee accepted those bytes; the
bundle is still not an award (<tt>MUST-T8-4</tt>).</t>
      </section>
    </section>
    <section anchor="cose-profile">
      <name>COSE Profile</name>
      <t>This profile uses deterministic CBOR <xref target="RFC8949"/> Section 4.2.1
(definite lengths, shortest integer form, map keys sorted in
<strong>bytewise lexicographic</strong> order of their encoded keys).
Implementations <bcp14>MUST</bcp14> encode only the types used by Cedulon claim maps:
null, bool, unsigned and negative integers, UTF-8 text, byte strings,
arrays, and maps (<tt>MUST-T4-1</tt>).</t>
      <t>-03 bound the encoder and said nothing about the
decoder, which left the reading side free where the writing side was
not. A decoder <bcp14>MUST</bcp14> refuse a CBOR map that carries a duplicate encoded
key (<tt>MUST-T4-18</tt>). The encoding rules already forbid producing one, so
a decoder that accepts it accepts a document no conforming encoder can
produce, and two decoders may disagree on which of the two values
wins, which is a disagreement about what was signed.</t>
      <t>A decoder <bcp14>MUST</bcp14> also impose a bound on what it will attempt: on encoded
size, on nesting depth, and on the number of elements it will decode
from an audit input. It <bcp14>MUST</bcp14> refuse an input that exceeds a bound with
a named refusal rather than by exhausting memory or the stack, and it
<bcp14>SHOULD</bcp14> document the bounds it applies (<tt>MUST-T4-19</tt>). This document
fixes no numbers. A bound that is right for a desktop verifier is wrong
for a service, and a number written here would be wrong for one of them
within a year. What a reader is entitled to is that the refusal is a
refusal, named and reported, rather than a crash that an operator has
to interpret.</t>
      <section anchor="receipt-labels">
        <name>Claim labels</name>
        <t>Registered CWT claims <xref target="RFC8392"/> are not required by this profile. Cedulon
uses CWT private-use integer labels less than -65536 so that the
profile does not occupy the 100-110 registry range.</t>
        <t>Every claim the tables below annotate as <tt>hash</tt> carries a SHA-256
digest rendered as exactly 64 lowercase hexadecimal characters
(<tt>[0-9a-f]{64}</tt>). A signer <bcp14>MUST</bcp14> refuse to sign, and a validator <bcp14>MUST</bcp14>
reject, a value that does not match that grammar, naming the claim in
the refusal. A decoder that preserves unknown or foreign claims is a
separate layer and keeps them unchanged; the grammar binds what a
party signs and what a validator accepts, not what a decoder can
carry. -04 stated the rendering in prose while its
own Appendix A vector violated it, which taught decoders to be
lenient; the grammar is enforced and the vector was regenerated in
-05.</t>
        <t>Receipt labels (<tt>MUST-T4-3</tt>, <tt>MUST-T4-4</tt>, <tt>MUST-T4-7</tt>):</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Claim</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-70001</td>
              <td align="left">payer</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70002</td>
              <td align="left">payee</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70003</td>
              <td align="left">amount</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70004</td>
              <td align="left">currency</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70005</td>
              <td align="left">policyHash</td>
              <td align="left">tstr (hash)</td>
            </tr>
            <tr>
              <td align="left">-70006</td>
              <td align="left">manifestHash</td>
              <td align="left">tstr (hash) / null</td>
            </tr>
            <tr>
              <td align="left">-70007</td>
              <td align="left">noManifest</td>
              <td align="left">bool</td>
            </tr>
            <tr>
              <td align="left">-70008</td>
              <td align="left">x402PaymentRef</td>
              <td align="left">tstr / null</td>
            </tr>
            <tr>
              <td align="left">-70009</td>
              <td align="left">timestampMs</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70010</td>
              <td align="left">nonce</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70011</td>
              <td align="left">prevReceiptHash</td>
              <td align="left">tstr (hash) / null</td>
            </tr>
            <tr>
              <td align="left">-70012</td>
              <td align="left">outcome</td>
              <td align="left">tstr (<tt>settled</tt> / <tt>aborted</tt>)</td>
            </tr>
          </tbody>
        </table>
        <t>Checkpoint labels (<tt>MUST-T11-1</tt>):</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Claim</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-70101</td>
              <td align="left">epoch</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70102</td>
              <td align="left">startMs</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70103</td>
              <td align="left">endMs</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70104</td>
              <td align="left">receiptCount</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70105</td>
              <td align="left">chainHeadHash</td>
              <td align="left">tstr (hash) / null</td>
            </tr>
            <tr>
              <td align="left">-70106</td>
              <td align="left">totals</td>
              <td align="left">map tstr -&gt; tstr / null</td>
            </tr>
            <tr>
              <td align="left">-70107</td>
              <td align="left">prevCheckpointHash</td>
              <td align="left">tstr (hash) / null</td>
            </tr>
          </tbody>
        </table>
        <t>Manifest labels (<tt>MUST-T8-1</tt>):</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Claim</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-70201</td>
              <td align="left">description</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70202</td>
              <td align="left">amount</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70203</td>
              <td align="left">currency</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70204</td>
              <td align="left">acceptanceCriteriaHash</td>
              <td align="left">tstr (hash)</td>
            </tr>
            <tr>
              <td align="left">-70205</td>
              <td align="left">cancelCondition</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70206</td>
              <td align="left">expiresAtMs</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70207</td>
              <td align="left">ap2MandateHash</td>
              <td align="left">tstr (hash) / null</td>
            </tr>
            <tr>
              <td align="left">-70208</td>
              <td align="left">payee</td>
              <td align="left">tstr (optional; encoded only when present)</td>
            </tr>
          </tbody>
        </table>
        <t>Decision Token labels (<tt>MUST-T6-4</tt>):</t>
        <table>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Claim</th>
              <th align="left">CBOR type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-70301</td>
              <td align="left">requestHash</td>
              <td align="left">tstr (hash)</td>
            </tr>
            <tr>
              <td align="left">-70302</td>
              <td align="left">policyHash</td>
              <td align="left">tstr (hash)</td>
            </tr>
            <tr>
              <td align="left">-70303</td>
              <td align="left">expiryMs</td>
              <td align="left">uint</td>
            </tr>
            <tr>
              <td align="left">-70304</td>
              <td align="left">nonce</td>
              <td align="left">tstr</td>
            </tr>
            <tr>
              <td align="left">-70305</td>
              <td align="left">singleUseId</td>
              <td align="left">tstr</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cosesign1-headers">
        <name>COSE_Sign1 headers</name>
        <t>The protected header <bcp14>MUST</bcp14> be a deterministic CBOR map containing
(<tt>MUST-T4-1</tt>, <tt>MUST-T4-8</tt>):</t>
        <ul spacing="normal">
          <li>
            <t><tt>1</tt> (alg) = <tt>-19</tt> (Ed25519, <xref target="RFC9864"/>; the generic EdDSA value
<tt>-8</tt> from <xref target="RFC9053"/> is deprecated for this profile)</t>
          </li>
          <li>
            <t><tt>3</tt> (content type) = a tstr that distinguishes the payload:
<tt>application/cedulon-receipt+cbor</tt>,
<tt>application/cedulon-checkpoint+cbor</tt>,
<tt>application/cedulon-manifest+cbor</tt>,
<tt>application/cedulon-decision+cbor</tt>,
<tt>application/cedulon-countersign+cbor</tt>, or
<tt>application/cedulon-inclusion+cbor</tt></t>
          </li>
          <li>
            <t><tt>4</tt> (kid) = bstr, mandatory. The profile computes <tt>kid</tt> as the
first eight bytes of SHA-256 over the issuer's SubjectPublicKeyInfo
DER, in the Ed25519 SubjectPublicKeyInfo encoding of <xref target="RFC8410"/>. A
verifier <bcp14>MUST</bcp14> obtain the public key from an authenticated
channel (preconfigured issuer set, directory, or transparency
statement) and <bcp14>MUST</bcp14> reject a message whose <tt>kid</tt> does not match
that key.</t>
          </li>
        </ul>
        <t>The unprotected header <bcp14>MUST</bcp14> be empty, and a decoder <bcp14>MUST</bcp14> refuse a
message whose unprotected header is not an empty map, by the name
<tt>cose-sign1-unprotected</tt>, rather than verify the signature and ignore
the header (<tt>MUST-T4-21</tt>). The reason is in <xref target="hash-inputs"/>: every
digest over a signed object in this profile is computed over the
COSE_Sign1 octets, which include the unprotected header, while the
signature does not cover it. A decoder that ignored a stuffed header
would verify the signature and compute a <tt>receiptHash</tt> the issuer
never produced, so one honestly signed receipt could carry as many
digests as a stranger cared to give it, and a chain built on
<tt>prevReceiptHash</tt> would follow whichever copy it was handed. The
posted -05 stated the header empty and said nothing about the
decoder; the companion decoder ignored the header until the
question of what the digest covers was measured. The payload <bcp14>MUST</bcp14> be
the CBOR encoding of the claim map. The signature is Ed25519
<xref target="RFC8032"/> over the COSE <tt>Sig_structure</tt>
          <tt>["Signature1", protected, h'', payload]</tt>.</t>
      </section>
      <section anchor="presentation">
        <name>How a signed object is presented</name>
        <t>The signed octets above are what this profile defines and what every
digest in <xref target="hash-inputs"/> is taken over. An object handed to a
verifier travels with a little more than that, and the previous
revisions used one of those members - the key an object carries -
without ever saying where it came from.</t>
        <t>A presented Spend Receipt, epoch checkpoint, Trade Manifest, or
Decision Token carries, beside the signed octets, its claim set or
body in decoded form and <strong>the signer's public key as a
SubjectPublicKeyInfo PEM</strong>; a countersigned receipt carries the
payee's key the same way, and an object presented in the JSON
encoding of <xref target="canonical-json"/> repeats its signature there as
base64. None of these is inside the signed octets, which is the
whole point of naming them here: the signature
covers the COSE message and nothing else, so every one of these
members is a surface anyone holding the object can rewrite. This is
the same shape the Rail Extract states in <xref target="rail-extract"/>, and it
is stated once here for the COSE objects rather than left to be
inferred from an implementation.</t>
        <t>A carried key is not an identity source and <bcp14>MUST NOT</bcp14> be used as one
(<tt>MUST-T4-11</tt>). Under a pin it has exactly one effect: an object
that verifies under the pinned key while carrying a different key is
reported as <tt>carried-key-mismatch</tt>, a warning, and stays attested
(<xref target="issuer-root"/>). With no pin held it is the only key present, so
the signature check that runs against it says the object is
internally consistent and says nothing about who signed it; two
issuers cannot be told apart in that state.</t>
      </section>
    </section>
    <section anchor="canonical-json">
      <name>Canonical JSON encoding</name>
      <t>Not everything this document hashes or signs is CBOR. The policy
document, the six request fields bound by a Decision Token, and the
scoped body of a Rail Extract are JSON, and -03
called each of them "canonical" without saying what that meant. Two
implementations could therefore agree on every requirement in this
document and still produce different bytes, which makes an independent
verifier impossible to write from the text. This section closes that.</t>
      <t>Where this document says "the canonical encoding" of a JSON document,
it means the encoding defined by <xref target="RFC8785"/>, and the octets hashed or
signed are the UTF-8 octets of that encoding.</t>
      <t>Three notes on the boundary of that reference:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="RFC8785"/> Section 3.1 takes I-JSON <xref target="RFC7493"/> as its input, and
an I-JSON object carries no duplicate member names. This document
makes that precondition a rule at every place a verifier receives a
JSON document as text - a rail extract body, a policy document, a
stored receipt file: a text in which any object, at any depth,
repeats a member name <bcp14>MUST</bcp14> be refused by the name
<tt>json-duplicate-key</tt>, before the text is parsed (<tt>MUST-T4-20</tt>). The
rule is measured on the text because a parser that keeps either
value has already discarded the evidence of the other, and two
verifiers parsing one text could then canonicalize two different
documents and sign or check two different octet strings, which is
the JSON form of the disagreement <tt>MUST-T4-18</tt> forbids for CBOR. A
verifier handed an object rather than text, as a tool behind a
JSON-RPC boundary is, cannot apply the rule and <bcp14>MUST NOT</bcp14> report
that it did; whether the text was checked is then the transport's
to state. The posted -05 said nothing about this. The companion
implementation refused such texts before the sentence existed, and
its conformance runner carried the difference as a recorded split
against -05 rather than as a pass.</t>
        </li>
        <li>
          <t><xref target="RFC8785"/> Section 3.2.2.2 requires a serializer to terminate on a
lone surrogate, and so does this document: a producer <bcp14>MUST</bcp14> refuse to
encode a document containing one, by name, and <bcp14>MUST NOT</bcp14> sign what it
could not encode. A verifier reading bytes it cannot canonicalize for
this reason reports the input as failing verification with the
refusal named beside the verdict; it does not crash. No field defined
by this document may contain a lone surrogate, so a conforming
document never reaches this rule. -04 permitted
emitting the escaped form instead, which contradicted the RFC it
cited; that permission is removed.</t>
        </li>
        <li>
          <t><xref target="RFC8785"/> defines no encoding for an integer outside the IEEE 754
double range. No document defined here carries one: every amount and
cumulative limit is already a decimal string before it is encoded,
and every hash is lowercase hexadecimal. A document that would need
such an integer is outside this specification.</t>
        </li>
      </ul>
      <section anchor="hash-inputs">
        <name>Which octets are hashed</name>
        <t>Every hash-valued field in this document is SHA-256 <xref target="RFC6234"/> of the
input named below. All but three are rendered as lowercase hexadecimal.
<tt>kid</tt> differs only in its rendering: the digest is computed over the
same stated input and then truncated to its first 8 bytes, carried as
a byte string rather than as hex (<xref target="cose-profile"/> states the same
rule where the header is defined). <tt>ap2MandateHash</tt> differs in whose
digest it is: AP2 defines the mandate and its octets, and this
document carries the result opaquely rather than restating a rule it
does not own. <tt>deliveredHash</tt> differs in its carrier: it is a claim in
a CBOR map and is carried as the raw 32 digest bytes (bstr), not as
hex; comparisons against <tt>acceptanceCriteriaHash</tt> are made over the
digest value. -03 named the digest for some of
these fields and not for others; the omissions were not a deliberate
degree of freedom.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Field</th>
              <th align="left">Input to SHA-256</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>receiptHash</tt></td>
              <td align="left">the signed COSE_Sign1 octets of the receipt</td>
            </tr>
            <tr>
              <td align="left">
                <tt>manifestHash</tt></td>
              <td align="left">the signed COSE_Sign1 octets of the Trade Manifest</td>
            </tr>
            <tr>
              <td align="left">
                <tt>checkpointHash</tt></td>
              <td align="left">the signed COSE_Sign1 octets of the checkpoint</td>
            </tr>
            <tr>
              <td align="left">
                <tt>statementHash</tt></td>
              <td align="left">the signed COSE_Sign1 octets of the statement</td>
            </tr>
            <tr>
              <td align="left">
                <tt>acceptanceCriteriaHash</tt></td>
              <td align="left">the exact delivery bytes, as defined where the Trade Manifest is</td>
            </tr>
            <tr>
              <td align="left">
                <tt>deliveredHash</tt></td>
              <td align="left">the exact bytes the payee received; the same input rule as <tt>acceptanceCriteriaHash</tt>, computed by the other party</td>
            </tr>
            <tr>
              <td align="left">
                <tt>policyHash</tt></td>
              <td align="left">the UTF-8 octets of the canonical policy document</td>
            </tr>
            <tr>
              <td align="left">
                <tt>requestHash</tt></td>
              <td align="left">the UTF-8 octets of the canonical six-field request document</td>
            </tr>
            <tr>
              <td align="left">
                <tt>kid</tt></td>
              <td align="left">the SubjectPublicKeyInfo DER; the digest is then truncated to its first 8 bytes</td>
            </tr>
            <tr>
              <td align="left">
                <tt>ap2MandateHash</tt></td>
              <td align="left">the octets AP2 defines for its mandate; not profiled by this document</td>
            </tr>
          </tbody>
        </table>
        <t>Wherever this table, or any other sentence in this document, says "the
signed COSE_Sign1 octets", those are the octets of the <strong>untagged</strong>
four-element COSE_Sign1 array of <xref target="RFC9052"/>. This profile never wraps
a message in CBOR tag 18, and the vectors in Appendix A carry the
untagged form. A verifier that hashed a tagged copy would compute a
different digest for every object in this profile, so the choice is
stated here once rather than left to be inferred from the vectors.</t>
        <t>The six fields of the request document are the ones <tt>MUST-T6-1</tt> names:
amount, currency, payee, tool, nonce, and <tt>manifestHash</tt>. -03 described
<tt>requestHash</tt> as "the six-field hash" while naming
SHA-256 for <tt>policyHash</tt> in the same sentence, which left a reader free
to conclude that the request binding was not a digest at all. It is
one.</t>
        <t>Naming the members is not stating the document, so the document is
stated here. The request document is a JSON object carrying exactly
those six members and no others, every member always present. <tt>amount</tt>
is the decimal string of the request, in the amount syntax the receipt
claims table states, never a JSON number: <xref target="RFC8785"/> encodes the
number 1 and the string "1" differently, and an implementation free to
pick either would produce two digests for one request. <tt>currency</tt>,
<tt>payee</tt>, and <tt>nonce</tt> are the request's text strings. <tt>tool</tt> is the
request's text string, or JSON null where the deployment names none.
<tt>manifestHash</tt> is the lowercase hexadecimal string, or JSON null for a
spend bound to no manifest; an absent value is null, never an omitted
member. A document with a seventh member, a missing member, or another
type for one of these is not the request document this section
defines.</t>
        <t>The policy document is different on purpose, and the difference is
scope rather than an oversight. Its member set is the deployment's
own: this document defines how the bytes of whatever policy document a
PDP evaluates are encoded (<xref target="canonical-json"/>) and digested, not what
its members are. <tt>policyHash</tt> binds a spend to the exact bytes its PDP
evaluated; it is not a value two deployments are expected to compute
from a shared schema, and nothing in the verification algorithm
compares one deployment's <tt>policyHash</tt> to another's.</t>
      </section>
    </section>
    <section anchor="decision-token">
      <name>Decision Token</name>
      <t>A Decision Token is the portable encoding of a PDP allow. It is
COSE_Sign1 with the header profile in <xref target="cose-profile"/> and the
labels in <xref target="receipt-labels"/>. All five labels are always present
(<tt>MUST-T6-4</tt>).</t>
      <t><tt>requestHash</tt> <bcp14>MUST</bcp14> be the SHA-256 of the canonical encoding of the six
fields the PDP evaluated (<tt>MUST-T6-1</tt>), rendered as lowercase
hexadecimal; <xref target="canonical-json"/> defines that encoding and
<xref target="hash-inputs"/> states the octets. -03 called this
"the six-field hash" in the same sentence that named SHA-256 for
<tt>policyHash</tt>, which left the digest for one of them unstated.
<tt>policyHash</tt> <bcp14>MUST</bcp14> be the SHA-256 of the canonical
policy document the PDP evaluated. <tt>expiryMs</tt> is a Unix time in
milliseconds after which the token <bcp14>MUST</bcp14> be treated as expired
(<tt>SHOULD-T6-3</tt>): expired when the evaluation time is strictly greater
than <tt>expiryMs</tt>, not yet expired at exactly <tt>expiryMs</tt>, on the same
boundary discipline <tt>MUST-T3-3</tt> states for the manifest. <tt>nonce</tt> is the request nonce. <tt>singleUseId</tt> is
the identifier consumed on the first settlement attempt
(<tt>MUST-T6-2</tt>).</t>
      <t>A party that accepts a Decision Token <bcp14>MUST</bcp14> reject it if the
signature fails, if <tt>kid</tt> does not match a configured PDP key, if
the content type is not <tt>application/cedulon-decision+cbor</tt>, if
the decoded claim map does not match the presented claims, or if
<tt>expiryMs</tt> is in the past (<tt>MUST-T6-5</tt>).</t>
    </section>
    <section anchor="rail-extract">
      <name>Rail Extract Profile</name>
      <t>A verifier checks completeness against a <strong>rail extract</strong>, not against
the issuer's own receipts alone (<tt>MUST-T10-7</tt>).</t>
      <section anchor="record-schema">
        <name>Record schema</name>
        <t>The extract body is a JSON document. Each settlement record <bcp14>MUST</bcp14>
contain the following members, under these names:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Member</th>
              <th align="left">JSON type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ref</td>
              <td align="left">string (rail payment reference)</td>
            </tr>
            <tr>
              <td align="left">amount</td>
              <td align="left">string matching <tt>0|[1-9][0-9]*</tt></td>
            </tr>
            <tr>
              <td align="left">currency</td>
              <td align="left">string</td>
            </tr>
            <tr>
              <td align="left">timestampMs</td>
              <td align="left">number (POSIX milliseconds, an integer)</td>
            </tr>
          </tbody>
        </table>
        <t>These member names are normative. A rail <bcp14>MAY</bcp14> add members of its own
to a record; it <bcp14>MUST NOT</bcp14> rename the four above. -04
said the member names were the rail's to define, which contradicted
this table and made the extract unconstructable from the text: a
verifier reading <tt>reference</tt> where the table says <tt>ref</tt> has no rule
telling it whether the two are the same member. The table wins, and
-04's sentence is withdrawn. The table also used
CBOR terms (<tt>tstr</tt>, <tt>uint</tt>) for what is a JSON body; the types above
are stated in JSON terms.</t>
        <t>A record <bcp14>MAY</bcp14> carry a <tt>beneficiary</tt> member (string). A rail that can
resolve a payment reference to the party credited declares it there;
when present, it is compared against the payee of the receipt that
names the same <tt>ref</tt>, and a difference is reported
(<tt>beneficiary-mismatch</tt>). Resolving a reference to a beneficiary is a
feature of the rail's own system: this profile does not assume it,
and measures it only when the rail declares it.</t>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>An extract is scoped to one account identifier, one rail identifier,
and one half-open time window <tt>[windowStartMs, windowEndMs)</tt>. The
signed body is one JSON document with exactly this shape:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Member</th>
              <th align="left">JSON type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">accountId</td>
              <td align="left">string</td>
            </tr>
            <tr>
              <td align="left">railId</td>
              <td align="left">string</td>
            </tr>
            <tr>
              <td align="left">windowStartMs</td>
              <td align="left">number (POSIX milliseconds, an integer)</td>
            </tr>
            <tr>
              <td align="left">windowEndMs</td>
              <td align="left">number (POSIX milliseconds, an integer)</td>
            </tr>
            <tr>
              <td align="left">clockSkewMs</td>
              <td align="left">number (milliseconds, a non-negative integer; optional; see <xref target="reconciliation"/>)</td>
            </tr>
            <tr>
              <td align="left">settlements</td>
              <td align="left">array of settlement records (schema above)</td>
            </tr>
          </tbody>
        </table>
        <t>All six named members except <tt>clockSkewMs</tt> <bcp14>MUST</bcp14> be present; a body
missing one, or a record renaming a core member, <bcp14>MUST</bcp14> be refused by
name at both ends - by the signer before it signs and by the verifier
before it checks a signature - so a malformed extract is the same
refusal on both sides rather than a signature verdict. Additional
members beyond these are the rail's to add, as with records.</t>
        <t>The integer-valued members - <tt>windowStartMs</tt>, <tt>windowEndMs</tt>, each
record's <tt>timestampMs</tt>, and <tt>clockSkewMs</tt> - <bcp14>MUST</bcp14> be integers of
magnitude at most 2^53 - 1, the range a JSON number carries exactly,
and <tt>clockSkewMs</tt> <bcp14>MUST NOT</bcp14> be negative; a value outside those bounds,
or a non-integer, is refused by name in the same way as a missing
member. <tt>windowEndMs</tt> <bcp14>MUST</bcp14> be greater than <tt>windowStartMs</tt>: the window
is half-open, so one that does not end after it starts declares no
population, and a body carrying one is refused by name
(<tt>malformed-extract-window</tt>) in the same way, at both ends.</t>
        <t>The body is read as text before it is read as an object. A text in
which any object repeats a member name is refused as
<tt>json-duplicate-key</tt> at both ends, before parsing and before any
signature is checked (<tt>MUST-T4-20</tt>, <xref target="canonical-json"/>); a signer
that parsed first would sign one of the two values and an honest
verifier could check the other.</t>
        <t><tt>clockSkewMs</tt>, when present, declares the boundary allowance the
verifier applies at this window's edges during reconciliation
(<xref target="reconciliation"/>); when absent, the profile default of 300000
milliseconds (five minutes) applies.</t>
      </section>
      <section anchor="authentication">
        <name>Authentication</name>
        <t>The rail signs Ed25519 <xref target="RFC8032"/> over the canonical encoding of the
scoped body, which is a JSON document and therefore takes the encoding
of <xref target="canonical-json"/>: the signed octets are the UTF-8 octets of the
<xref target="RFC8785"/> encoding of the body above. The signature and the rail's
public key travel beside the body, the signature as base64 and the
key as a SubjectPublicKeyInfo PEM; neither is part of the signed
octets. A verifier <bcp14>MUST</bcp14>
obtain the extract from the rail or from a signature the rail
published (<tt>MUST-T10-7</tt>). A deployment that cannot do so is running
the reconciliation against evidence it did not obtain independently,
and <bcp14>MUST</bcp14> report the guarantee as conditional.</t>
        <t>A signature on an extract proves internal consistency, not origin: a
key generated by whoever produced the object verifies against itself.
The verifier therefore <bcp14>MUST</bcp14> obtain the rail's public key out of band
and <bcp14>MUST</bcp14> verify the extract signature against that key (<tt>MUST-T10-8</tt>).
A key the extract carries is not that key: it is neither the rail's
identity nor a fallback for one the verifier did not obtain. Where no
such key is held, the carried key is the only key present, so the
signature check that runs against it says the extract is internally
consistent and says nothing about who produced it, and the verifier
<bcp14>MUST</bcp14> treat the guarantee as conditional.</t>
        <t>Keys are compared as bytes. A verifier <bcp14>MUST</bcp14> compare the pinned key
and the key that signed the extract by their SubjectPublicKeyInfo
DER encoding, not by any text encoding of it, so that the same key
presented in a different envelope still compares equal
(<tt>MUST-T10-9</tt>). A pinned key the verifier cannot decode is a fault in
the verifier's own configuration, not evidence about the extract, and
<bcp14>MUST</bcp14> be reported as <tt>trust-key-unreadable</tt> rather than as a key
mismatch.</t>
        <t>What a verifier emits for an extract it cannot authenticate depends on
whether it stated an expectation. With no pinned key the verifier has
asserted nothing, so the condition is <tt>unauthenticated-extract</tt>
whatever the extract carries - a signature that verifies against the
carried key establishes internal consistency and not origin, and one
that fails or is refused is not a verdict about a key either. It is a
warning: completeness findings may still be computed, but the
guarantee is <strong>conditional</strong> on the extract being authentic. With a pinned key the verifier has
asserted what it requires, and an extract that fails to meet it is a
failure rather than a caveat; see the verification algorithm for which
finding applies. -00 defined only the first case, and readers of -00
should note that -02 made the pinned case fail closed.
See <xref target="security"/>.</t>
      </section>
      <section anchor="scope-agreement">
        <name>Scope agreement</name>
        <t>An extract declares a window and carries settlement records. The two
<bcp14>MUST</bcp14> agree: a verifier <bcp14>MUST</bcp14> report every settlement record whose
<tt>timestampMs</tt> falls outside <tt>[windowStartMs, windowEndMs)</tt> as
<tt>extract-scope-mismatch</tt>, identified by that record's <tt>ref</tt>
(<tt>MUST-T10-10</tt>). This check is about the extract's internal
consistency and <bcp14>MUST</bcp14> be performed whether or not a rail key is
pinned.</t>
        <t>A verifier that knows which account, rail, and window it is auditing
<bcp14>MUST</bcp14> also check the extract against that expectation and <bcp14>MUST</bcp14> fail
closed when the extract does not cover it (<tt>MUST-T10-11</tt>). An extract
for another account or rail, or one whose window does not span the
period under audit, cannot support a completeness claim about that
period.</t>
        <t>A verifier that states no period leaves the extract free to define
one, and an extract that reports on a millisecond balances as easily
as one that reports on a month. Pinning a key establishes who signed;
only a stated period establishes what the signature had to cover. A
verifier that has not stated the period under audit therefore <bcp14>MUST</bcp14>
emit <tt>unstated-audit-window</tt> and <bcp14>MUST</bcp14> treat the guarantee as
conditional (<tt>MUST-T10-15</tt>), whatever else verifies.</t>
        <t>The period is one axis of that scope. The account and the rail are
the other two, and they behave the same way: an extract names one of
each, so a verifier that has not stated them leaves the extract to
say whose settlements were accounted for and which way out was
watched. A verifier that has not stated the account or the rail under
audit therefore <bcp14>MUST</bcp14> emit <tt>unstated-audit-scope</tt> and <bcp14>MUST</bcp14> treat the
guarantee as conditional (<tt>MUST-T10-18</tt>). Where no rail key is pinned
at all, all three axes are equally unstated and
<tt>unauthenticated-extract</tt> is the condition reported.</t>
        <t>Stating them does not widen the population; it names it. One account
settling on two rails has two settlement paths, and an extract for
the first reports nothing about the second: a spend that left that
way is not an unmatched row, it is outside the population the extract
declared. Because the strongest line this profile prints - a balanced
audit under an unconditional guarantee - is true of one account, on
one rail, over one window, a report that carries it <bcp14>MUST</bcp14> also carry
that account, rail and window (<tt>MUST-T10-19</tt>). A completeness claim
about an account is the conjunction of one such report per rail that
account can settle on, and enumerating those rails is the deployment's
statement, not something an extract can be asked to prove.</t>
      </section>
    </section>
    <section anchor="trust-roots">
      <name>Trust roots</name>
      <t><xref target="rail-extract"/> states the rule for one object: a signature proves
internal consistency, not origin, so the verifier obtains the rail key
out of band and checks the extract against it, and the key the extract
carries is neither the rail's identity nor a fallback for one the
verifier did not obtain (<tt>MUST-T10-8</tt>). -02 already
required a verifier to obtain the public key from an authenticated
channel and to reject a <tt>kid</tt> that does not match that key
(<tt>MUST-T4-8</tt>). What -02 did not carry was the verification algorithm,
the separate root inputs, and the error semantics that name a missing
or mismatched pin. This section states those for every signed object
in the profile.</t>
      <t>The gap is not theoretical. A verifier that checks a Spend Receipt
against the key the receipt carries accepts a receipt signed by any
key at all, including one an attacker minted for the occasion. Such a
receipt matches a settlement the attacker was never authorised to
make, the settlement stops looking uncovered, and the audit reports
nothing. The completeness property in <xref target="reconciliation"/> is then
computed over evidence that answers to nobody.</t>
      <section anchor="issuer-root">
        <name>The issuer root</name>
        <t>A verifier <bcp14>MUST</bcp14> obtain the issuer's public key out of band and <bcp14>MUST</bcp14>
verify Spend Receipt and epoch checkpoint signatures against that key.
A key the object carries is not that key: it establishes no signer
identity and is not a fallback for a pin the verifier does not hold
(<tt>MUST-T4-9</tt>, <tt>MUST-T4-11</tt>). Where no issuer key is held, a signature
checked against the key its own object carries establishes internal
consistency and nothing more, which is the state <xref target="presentation"/> and
the last row of the table below describe. A
verifier that holds no such key and is presented with any Spend
Receipt or epoch checkpoint <bcp14>MUST</bcp14> treat the completeness guarantee as
conditional and <bcp14>SHOULD</bcp14> report the condition; the identifier
<tt>unauthenticated-issuer</tt> is used for it in this implementation.</t>
        <t>The condition names those two objects because an audit given no
receipts and no checkpoints rests on the extract alone.
There the absent issuer root withholds nothing, and warning about a
root the audit never consulted would spend the warning where it
carries no information.</t>
        <t>Reporting a mismatch is not sufficient on its own. A receipt that
does not answer to the pinned issuer key <bcp14>MUST NOT</bcp14> count as coverage
for the settlement it names, and the settlement <bcp14>MUST</bcp14> still be
reported as uncovered (<tt>MUST-T4-10</tt>). A verifier that reports the
mismatch and then lets the receipt match the settlement anyway has
described the attack in its output while still concluding that the
books balance.</t>
        <t>Keys are compared as bytes, by their SubjectPublicKeyInfo DER
encoding, on the same terms as <tt>MUST-T10-9</tt>. A pinned issuer key the
verifier cannot decode is a fault in its own configuration and <bcp14>MUST</bcp14>
be reported as <tt>trust-key-unreadable</tt> rather than as a mismatch
against the objects; where no pinned key can be decoded at all,
nothing is attested and the verifier <bcp14>MUST NOT</bcp14> fall back to accepting
the keys the objects carry (<tt>MUST-T4-11</tt>). Falling back is how a
mistyped configuration becomes a bypass.</t>
        <t>Membership in the attested set follows one rule: the signature
verifies under a pinned issuer key. The <tt>kid</tt> header routes the check
to a candidate key; the key an object carries beside its signature is
not an identity source, because it travels outside the signed octets
and anyone can rewrite it. Two consequences are stated so that
implementations do not diverge on them. First, an honestly signed
object whose carried key was swapped stays attested: the swap is
reported (<tt>carried-key-mismatch</tt>, a warning) and <bcp14>MUST NOT</bcp14> move the
object out of the attested set or change the verdict, on the same
reasoning as <xref target="countersign"/> - a surface the signature does not cover
must not be able to manufacture a negative result. Second, an object
that claims the pin, by its carried key or its <tt>kid</tt>, but does not
verify under it is excluded from the attested set and <bcp14>MUST</bcp14> still be
walked and named - for a receipt, <tt>receipt-chain-break</tt> with a
signature-failed detail - never silently dropped; an object that
neither verifies under the pin nor claims it is
<tt>issuer-key-mismatch</tt>, excluded, and the settlement it names stays
uncovered.</t>
        <t>The rule, read out per cell (steps 6 and 8 are the verification
algorithm's):</t>
        <table>
          <thead>
            <tr>
              <th align="left">Claims the pin (carried key or kid)</th>
              <th align="left">Verifies under the pin</th>
              <th align="left">Result</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">yes</td>
              <td align="left">yes</td>
              <td align="left">attested; a carried key other than the verifying one is <tt>carried-key-mismatch</tt>, a warning, and does not move the receipt</td>
            </tr>
            <tr>
              <td align="left">yes</td>
              <td align="left">no</td>
              <td align="left">excluded from the attested set; still walked and named in step 6 (<tt>receipt-chain-break</tt>, signature-failed detail); its settlement stays uncovered in step 8. A checkpoint has no chain walk to be named in, so it is reported as <tt>issuer-key-mismatch</tt> on this row as well as the next, and the window it would have covered is reported uncovered</td>
            </tr>
            <tr>
              <td align="left">no</td>
              <td align="left">no</td>
              <td align="left">
                <tt>issuer-key-mismatch</tt>; excluded; its settlement stays uncovered in step 8 (<tt>MUST-T4-9</tt>, <tt>MUST-T4-10</tt>)</td>
            </tr>
            <tr>
              <td align="left">no pin held</td>
              <td align="left">no pin to verify under</td>
              <td align="left">no comparison against a key the verifier holds happens, and the keys the objects carry are not a fallback for one (<tt>MUST-T4-11</tt>); each signature is still checked against the key its own object carries (<xref target="presentation"/>), which establishes that the object is internally consistent and nothing about who signed it, so a broken signature is still named (<tt>receipt-chain-break</tt>, <tt>checkpoint-total-mismatch</tt>) while two different issuers cannot be told apart; receipts are presented-unattested, the verifier reports <tt>unauthenticated-issuer</tt>, and accusation-shaped findings take the two-branch severity of <tt>MUST-T8-9</tt></td>
            </tr>
          </tbody>
        </table>
        <t>A verifier <bcp14>MUST</bcp14> accept an issuer root that is a set of keys rather
than a single key (<tt>MUST-T4-12</tt>). An issuer that rotates its key
mid-window otherwise
produces a finding against every honest receipt signed by the
retired key, and the reachable way out of that is to stop pinning,
which is the opposite of what the pin is for. The same acceptance
applies to a publisher pin, a witness pin, and a rail pin: a
verifier <bcp14>MUST</bcp14> accept each of those roots as a set of keys, so a
rotation inside the window does not force it off the pin.</t>
      </section>
      <section anchor="payee-root">
        <name>The payee root</name>
        <t>The optional countersignature in <xref target="countersign"/> travels beside the
issuer signature without being covered by it. Anyone holding an
honest receipt can append a countersignature of their own, so a
verifier that checks it against the key carried next to it learns
only that some key signed something.</t>
        <t>A countersignature <bcp14>MUST NOT</bcp14> be treated as evidence that the payee
approved the payment unless it verifies against a payee key the
verifier obtained out of band (<tt>MUST-T4-13</tt>). Without such a key the
verifier <bcp14>SHOULD</bcp14> report the condition and <bcp14>MUST</bcp14> treat the guarantee as
conditional.</t>
        <t>Naming a payee key states an expectation, and an expectation that
only fires when the evidence is present can be cancelled by deleting
the evidence. Where a verifier has pinned a key for a payee, a
settled receipt naming that payee and carrying no <strong>attributable</strong>
countersignature <bcp14>MUST</bcp14> be reported (<tt>MUST-T4-14</tt>): a countersignature
that failed to verify, or verified under some other key, is discarded
under <xref target="countersign"/> and leaves the expectation open exactly as a
missing one does. Otherwise an attacker removes their own failed
forgery - or appends one - and the report returns to unconditional.
The discarded object itself is a warning, never a failure of the
receipt it rode beside; <xref target="countersign"/> states the invariant.</t>
      </section>
      <section anchor="witness-root">
        <name>The witness root</name>
        <t><xref target="witness"/> describes what a transparency witness adds. An inclusion
receipt checked against the key it carries says that some log is
internally consistent, and a log is cheap to invent.</t>
        <t>A verifier <bcp14>MUST</bcp14> obtain the transparency service's public key out of
band and <bcp14>MUST</bcp14> verify inclusion receipts against it (<tt>MUST-T11-15</tt>).
Inclusion receipts that cannot be checked that way <bcp14>MUST NOT</bcp14> be used
as evidence, in either direction: they cannot establish that a
checkpoint was anchored, and they cannot establish that one was
withheld. A verifier <bcp14>SHOULD</bcp14> report that it left them out.</t>
        <t>A log holds statements from everyone who uses it. A statement held by
a pinned log <bcp14>MUST</bcp14> additionally answer to the issuer root before it
counts as something that issuer published (<tt>MUST-T11-16</tt>); otherwise
another user's epoch, sitting in a shared log, reads as this issuer
publishing two checkpoints for one epoch.</t>
        <t>Anchoring and withholding are different claims and need different
evidence. Establishing that a checkpoint was logged needs only the
statement hash. Establishing that an issuer withheld one needs to
know whose statement it is, which an inclusion receipt carrying no
statement body cannot say. Such a receipt <bcp14>MUST NOT</bcp14> be used to report
a withheld checkpoint, and <bcp14>MUST NOT</bcp14> be silently discarded either: a
real withholding must not be buried by removing the body
(<tt>MUST-T11-17</tt>).</t>
      </section>
      <section anchor="decision-root">
        <name>The decision root</name>
        <t>A Decision Token is issued by the policy decision point and consumed
by the same deployment. The consumer therefore holds the key it
signs with and has no reason to ask the token which key to check it
against. A consumer <bcp14>MUST</bcp14> verify a Decision Token against its own
issuing key and <bcp14>MUST NOT</bcp14> accept one it cannot check that way
(<tt>MUST-T6-6</tt>).</t>
      </section>
      <section anchor="manifest-root">
        <name>The manifest root</name>
        <t>A Trade Manifest is optional. A deployment that presents none is not
missing a root, and this requirement does not make such an audit
conditional. The forbidden case is the other one: a manifest is
presented, and the verifier accepts it because the key travelling
inside it verifies against itself.</t>
        <t>A verifier that is presented with a Trade Manifest <bcp14>MUST</bcp14> obtain the
publisher's public key out of band and <bcp14>MUST</bcp14> verify the manifest
signature against that key, not against a key the manifest carries
(<tt>MUST-T4-15</tt>). A verifier without such a key that is presented with
a Trade Manifest <bcp14>MUST</bcp14> report the completeness guarantee as
conditional and <bcp14>SHOULD</bcp14> report the condition; the identifier
<tt>unauthenticated-manifest</tt> is used for it in this implementation.
An audit presented with no Trade Manifest is not made conditional by
this requirement.</t>
        <t>A pinned manifest key the verifier cannot decode is a fault in its
own configuration and <bcp14>MUST</bcp14> be reported as <tt>trust-key-unreadable</tt>
rather than as a mismatch, on the same terms as <tt>MUST-T4-11</tt>. A
manifest that does not verify against a readable pin <bcp14>MUST</bcp14> be
reported as <tt>manifest-key-mismatch</tt> and <bcp14>MUST</bcp14> fail the audit. Falling
back to the key the manifest carries is how a presented document
becomes a bypass.</t>
        <t>Attribution is one question and coverage is another, and a root that
answers only the first leaves the document doing work it was never
spent under. A verifier presented with a Trade Manifest <bcp14>MUST</bcp14> compare
the manifest hash to the <tt>manifestHash</tt> of the receipts presented to
the audit and <bcp14>MUST</bcp14> report a manifest that no presented receipt
references (<tt>MUST-T4-17</tt>); the identifier <tt>manifest-covers-no-receipt</tt>
is used for it in this implementation, and the completeness guarantee
is conditional. The comparison runs against those presented receipts,
including aborted ones, and is made before any extract window is
applied and before any issuer key is applied; a hash on an aborted
receipt, on a receipt outside the extract window, or on a receipt no
pinned key attests still counts as a reference. This requirement asks
whether any receipt names the terms, not whether a settlement in the
window was made under them, and not whether the receipt that names them
is attributable. A forged receipt can therefore silence this warning.
That is accepted: what it silences is a statement that terms were
named, and the report it leaves behind is still marked conditional and
still carries the finding that the receipt answers to no pinned key. A correctly attributed manifest
travelling beside a set of receipts marked <tt>noManifest</tt> states terms
nothing presented was spent under, and a report that stays silent
about it reads as terms-backed when it is not. This requirement does
not reach the audit presented with no Trade Manifest, which remains a
deployment choice under <tt>MUST-T1-2</tt>.</t>
        <t>Naming a manifest is not obeying one, and that is the third place this
document has had to say the same thing twice. A verifier presented with
a Trade Manifest <bcp14>MUST</bcp14> compare the amount, the currency and the
settlement time of every receipt that names it against the
manifest's amount, currency and expiry, and <bcp14>MUST</bcp14> report a receipt that
departs from them (<tt>MUST-T8-9</tt>); the identifier
<tt>manifest-terms-mismatch</tt> is used for it in this implementation.
Every receipt that names the manifest is measured, aborted ones
included: an aborted receipt that carries the hash of terms and a
departing amount recorded an attempt against terms it misstates, and
<tt>MUST-T4-17</tt> next door already counts it as a reference. The time
compared is the receipt's <tt>timestampMs</tt>, against the boundary
<tt>MUST-T3-3</tt> states: strictly after <tt>expiresAtMs</tt> departs, exactly at
it does not. Amount and currency are compared on the exact-octet
terms of <tt>MUST-T8-2</tt> - the audit asks whether the gate's own rules
were kept, so it compares the way the gate compares.</t>
        <t>Where a usable issuer key is pinned, the comparison is made over the
receipts that verify under it and the audit fails. Where none is
pinned, the departure is still reported and the audit does not fail on
it alone. An issuer key is usable when the pinned issuer root holds at
least one key the verifier can decode. A pinned root none of whose
keys decode is already <tt>trust-key-unreadable</tt> and attests nothing, so
the comparison takes the unpinned branch while that finding stands;
the audit has failed on the configuration fault, and the departure is
still said out loud without becoming a charge no readable key backs. -03
stated the first case for both, and an
implementation showed why that is wrong: a receipt signed by any key at
all, carrying the right manifest hash and the wrong amount, made the
verifier report a breach that never happened, against a payment
reference the forger chose. Reporting a departure costs nothing if it
is unattributable; failing an audit on it hands an attacker a way to
accuse an honest payer.</t>
        <t><tt>MUST-T4-17</tt> and this requirement therefore differ, and the difference
is not an inconsistency. Asking whether a manifest hash appears
anywhere is a question about a set of documents, and an unattributable
document is still in that set. Saying that a named party broke terms it
signed is a charge, and a charge needs a key behind it.</t>
        <t>Only receipts that name the manifest are measured against
it: reading the terms onto a receipt that never claimed them would
invent a violation the payer did not commit.</t>
        <t>The rules being enforced here are not new. A gate already refuses a
bound spend whose amount or currency differs from the manifest
(<tt>MUST-T8-2</tt>) and one made against an expired manifest
(<tt>MUST-T3-3</tt>). Both were written for the point where money moves, and
an audit reads the record after that point, where the gate is no longer
present to be asked. Without a counterpart a receipt can carry the hash
of terms it breaks and the report still calls the books balanced. This
is a finding rather than a condition on the guarantee: a verifier that
reports it held every root it needed, and the statement it is making is
unconditional.</t>
        <t>The gate answers differently from the audit, and the difference is
deliberate. A policy decision point presented with a Trade Manifest
it cannot attribute <bcp14>MUST</bcp14> refuse the payment rather than settle and
record the doubt (<tt>MUST-T4-16</tt>). An audit describes what it found
and may say the result is conditional; a gate decides whether money
moves, and a settled payment carrying the hash of terms nobody
authorised cannot be withdrawn by reporting it afterwards. The
receipt would record those terms as agreed.</t>
      </section>
      <section anchor="what-the-roots-do-not-cover">
        <name>What the roots do not cover</name>
        <t>A verifier that supplies none of these roots is not making an error,
and this document does not require it to. It is making a weaker
statement, and the guarantee it reports must say so. With no issuer
key nothing distinguishes one submitted receipt from another, so
conditions computed across the submitted set - two receipts claiming
one settlement reference, for instance - cannot be attributed to
anyone and are reported as conditions of the submission rather than
as failures of a party.</t>
      </section>
    </section>
    <section anchor="reconciliation">
      <name>Reconciliation and Epoch Checkpoints</name>
      <t>Completeness is the property that, given an authenticated rail
extract, every settlement in the extract has a matching settled Spend
Receipt, every settled receipt has a matching settlement, receipt and
checkpoint hash chains verify, and checkpoint totals equal the sum of
<strong>settled</strong> receipts in the checkpoint window. If a spend occurred
without a receipt, the missing receipt is itself the evidence
(<tt>MUST-T10-2</tt>).</t>
      <t>The property is stated over a population, and the extract is what
declares it: one account, on one rail, over one window
(<xref target="rail-extract"/>). "Every settlement" means every settlement that
extract carried. A settlement path no presented extract covers is not
reconciled and not found missing - it is outside the population - so
the report names the account, rail and window it was computed over
(<tt>MUST-T10-19</tt>), and a verifier that stated none of them says so
instead (<tt>MUST-T10-18</tt>).</t>
      <t>A checkpoint published with its totals withheld (<xref target="redaction"/>) cannot
contribute the last of those to the property. It is not a violation of
completeness and it is not a demonstration of it either: the
comparison was not made, and a result that rests on a comparison
nobody made is conditional (<tt>MUST-T11-12</tt>).</t>
      <section anchor="redaction">
        <name>Checkpoint claims</name>
        <t>An epoch checkpoint <bcp14>MUST</bcp14> be COSE_Sign1-signed with the header profile
in <xref target="cose-profile"/> and <bcp14>MUST</bcp14> bind all of the following
(<tt>MUST-T11-1</tt>):</t>
        <t>epoch, <tt>startMs</tt>, <tt>endMs</tt>, <tt>receiptCount</tt>, <tt>chainHeadHash</tt>,
<tt>totals</tt>, and <tt>prevCheckpointHash</tt>.</t>
        <t>The checkpoint window is half-open <tt>[startMs, endMs)</tt>
(<tt>MUST-T11-7</tt>). <tt>receiptCount</tt> <bcp14>MUST</bcp14> equal the number of receipts
(settled and aborted) whose <tt>timestampMs</tt> falls in that window.
<tt>chainHeadHash</tt> <bcp14>MUST</bcp14> equal <tt>receiptHash</tt> of the last receipt in that
window - the last link, in issuer order (the <tt>prevReceiptHash</tt> chain,
as the verification algorithm's step 6 defines it), of the chain
inside the window, not the last one presented or the latest
<tt>timestampMs</tt> - or null if the window is empty (<tt>MUST-T11-2</tt>). Where <tt>totals</tt>
is present it <bcp14>MUST</bcp14> sum only receipts with <tt>outcome</tt> = <tt>settled</tt>; the
one permitted absence is the signed redaction below.</t>
        <t>An issuer that publishes a checkpoint without its totals <bcp14>MUST</bcp14> encode
<tt>totals</tt> as null in the signed payload (<tt>MUST-T11-12</tt>). An empty map
is an honest zero for an empty window and is not a redaction. Because
the redaction is inside the signature, it cannot be added to, or
removed from, a checkpoint after signing.</t>
        <t>A verifier <bcp14>MUST NOT</bcp14> accept a redaction asserted anywhere but the
signed payload (<tt>MUST-T11-13</tt>). A presentation-layer flag alongside
a checkpoint is chosen by whoever presents it, which is the party
under audit; honouring such a flag would let that party switch off
the totals comparison for a checkpoint whose signed totals are wrong.
The structural claims (epoch, <tt>startMs</tt>, <tt>endMs</tt>, <tt>receiptCount</tt>,
<tt>chainHeadHash</tt>, <tt>prevCheckpointHash</tt>) <bcp14>MUST NOT</bcp14> be redacted: a
checkpoint missing any of them does not decode, and a verifier <bcp14>MUST</bcp14>
treat it as a failed checkpoint rather than as a redacted one.</t>
      </section>
      <section anchor="genesis">
        <name>Genesis and continuity</name>
        <t>The first checkpoint in a presented chain is the genesis checkpoint
of that chain. Its <tt>prevCheckpointHash</tt> <bcp14>MUST</bcp14> be null. Epoch numbers
<bcp14>MUST</bcp14> be consecutive integers. Adjacent windows <bcp14>MUST</bcp14> satisfy
<tt>next.startMs = prev.endMs</tt> (<tt>MUST-T11-8</tt>).</t>
        <t>A later checkpoint that omits a prefix of earlier epochs (prefix
deletion) is detectable only if an external witness (transparency
log) has recorded the missing prefix (<tt>MUST-T11-9</tt>). Without that
witness, T11 guarantees about suppression are <strong>conditional</strong>.</t>
        <t>-01 stated that dependency and stopped there: nothing in its
verification algorithm read a witness receipt, so the witness
had no way to speak. -02 gave it one. A verifier that
holds witness receipts for the period under audit compares what
the witness recorded against what the chain presented, and reports
the difference under its own name (<xref target="witness"/>). A witness that holds
a checkpoint the presented chain omits is not the same condition as
a chain that leaves a gap in its own coverage, and the two <bcp14>MUST NOT</bcp14>
be reported under one identifier (<tt>MUST-T11-11</tt>). The first says
evidence is being withheld; the second says the evidence shown is
incomplete. An operator who cannot tell them apart cannot tell an
incomplete record from a concealed one.</t>
      </section>
      <section anchor="witness">
        <name>The transparency witness</name>
        <t>A checkpoint registered with a Transparency Service <xref target="RFC9943"/> is a
Signed Statement whose payload is the checkpoint COSE object and
whose content type is <tt>application/cedulon-checkpoint+cbor</tt>
(<xref target="anchoring"/>). What comes back, and what it proves, is stated as
two named tiers, because -04 promised the
mechanics of one tier while describing the checks of the other.</t>
        <t><strong>Tier 1 - the witness receipt.</strong> The witness returns a co-signature
over the statement hash of what it recorded: a COSE_Sign1 whose
payload binds the statement hash, the entry index, and the witness's
tree head. Verifying it establishes exactly one sentence - "the
witness signed for this hash" - and nothing more; in particular it
does not establish membership in an append-only log. -04 called this
object a transparency receipt and cited the
verification mechanics of <xref target="RFC9942"/> for it while describing a hash
comparison; the admission in <xref target="impl-status"/>, that the receipt was a
signature over a statement rather than a proof of log membership, was
correct, and the protocol text now says the same thing. The
<xref target="RFC9942"/> citation applies in tier 2, where its mechanics are
actually performed.</t>
        <t>On the wire the witness receipt is a COSE_Sign1 under <xref target="cose-profile"/>,
signed by the witness key, with content type
<tt>application/cedulon-inclusion+cbor</tt> (<xref target="iana-inclusion"/>). Its payload
is a deterministic CBOR map carrying three entries and is not a CWT
claim set: label <tt>1</tt> is the statement hash, label <tt>2</tt> the entry index,
label <tt>3</tt> the tree head. The two hashes are text strings holding the
lowercase hexadecimal of a 32-octet SHA-256, the statement hash taken
over the octets of the statement the witness recorded; the entry index
is an unsigned integer. The hash strings are compared as issued and are
not passed through the hash-claim grammar the claim sets use; the
revision that moves them to byte strings will close that difference.
Entries under other labels are not defined, and a verifier of this
revision does not refuse them. The map carries no statement body: a
receipt that travels with the body carries it beside the COSE object,
not inside it (<xref target="witness-root"/>, <tt>MUST-T11-17</tt>). A receipt whose
content type is another value, or whose payload lacks one of the three
entries or carries one of another type, does not verify: the content
type is the check <xref target="cose-profile"/> makes on every object of this
profile, and the payload map is the one this paragraph states.</t>
        <t>A verifier <bcp14>MAY</bcp14> be given witness receipts for the period under audit.
It is a distinct input from the presented checkpoint chain, and
supplying it is optional: a verifier given none performs the same
steps, and reports the same findings, that it would if this input did
not exist (<tt>MUST-T11-10</tt>). Supplying an empty set is not the same as
supplying none. An empty set says a witness is configured and
recorded nothing, which is itself reportable; absence says no witness
was consulted.</t>
        <t>A receipt binds a statement hash, not a statement. The body is not
carried by the receipt and a verifier will often not hold it. Two
levels of checking follow from that, and they are not the same
(<tt>MUST-T11-10</tt>).</t>
        <t>Every receipt <bcp14>MUST</bcp14> have its signature verified before it counts for
anything. That is what establishes the hash as one the service signed
for, and it is all that comparing recorded hashes against presented
ones requires: the verifier computes the statement hash of each
presented checkpoint itself.</t>
        <t>A receipt accompanied by the statement body carries more, and <bcp14>MUST</bcp14> be
checked further before that body is relied on. The body's statement
hash <bcp14>MUST</bcp14> equal the hash the receipt binds, and the body <bcp14>MUST</bcp14> itself
verify as a checkpoint. A body that fails either check proves nothing
and <bcp14>MUST</bcp14> be ignored rather than counted, while the receipt it came
with remains usable for the hash comparison. Equivocation is the case
that needs a body, because it compares claims rather than hashes.</t>
        <t><strong>Tier 2 - log membership.</strong> A verifier <bcp14>MAY</bcp14> additionally be given,
for one recorded statement, the registered Signed Statement bytes
(the candidate entry) and an inclusion proof. When both are present,
the verifier <bcp14>MUST</bcp14> perform the verification of <xref target="RFC9942"/> Section
5.2.1 over them: hash the candidate entry bytes to obtain the leaf,
apply the proof to reproduce a root, and accept only when the leaf
hash, the proof's leaf index, and the reproduced root are all equal
to the statement hash, entry index, and tree head of one witness
receipt that verifies under the pinned witness key (<tt>MUST-T11-18</tt>).
Reproducing a root is deliberately not sufficient on its own: the
proof format below carries no domain separation between leaves and
interior nodes, and the exact match against a witness-signed receipt
is what closes the ambiguities that follow from that. A pair that
fails this check, or a candidate entry presented without a proof,
<bcp14>MUST</bcp14> be reported as a failing finding; the identifier
<tt>witness-inclusion-invalid</tt> names it.</t>
        <t>The inclusion proof is an audit path: the leaf index, and the sibling
hashes from the leaf's level up to the root, lowest level first. The
tree is built over statement hashes as leaves; an interior node is
the SHA-256 of the concatenation of its two children's 32 raw bytes;
a level with an odd count pairs its last node with itself, so the
path needs no separate leaf count.</t>
        <t>Where witness receipts are supplied and this pair is not, tier 2 was
not exercised, and the report <bcp14>MUST</bcp14> say so rather than letting the
tier pass silently (<tt>MUST-T11-19</tt>); the identifier
<tt>witness-inclusion-not-exercised</tt> names it, as a warning - the
witness attested the statement hash, and log membership was not
proven. A pair that verifies is silent, like every other passing
check in the algorithm.</t>
        <t>What tier 1 establishes, and what it does not, is worth stating
plainly. It establishes that the service signed for that statement.
Whether the statement is a member of an append-only log is tier 2's
question, answered only where tier 2's inputs were supplied and
verified; whether the log has ever equivocated remains a property of
the service and its own proofs. A verifier that treats a tier-1
receipt alone as proof of log membership is claiming more than the
receipt carries.</t>
      </section>
      <section anchor="verification">
        <name>Verification algorithm</name>
        <t>A verifier <bcp14>MUST</bcp14> perform all of these steps and <bcp14>MUST</bcp14> report every
finding they produce (<tt>MUST-T10-1</tt>, <tt>MUST-T11-2</tt>). They are numbered
for reference, not to require an evaluation order: no step
short-circuits another, and an implementation may evaluate them in any
order that produces the same set of findings.</t>
        <t>The data dependencies are named, because "any order" read naively
would break them. Step 15 decides which witness receipts, and which
statement bodies, survive checking; steps 14 and 16 consume what
survives. Step 7's index of refs is what steps 8 and 9 reconcile.
Step 11 decides which checkpoints verified, and step 14 compares
only those together with what step 15 admitted. An implementation
that ran a consumer against an unchecked producer would not produce
the same set of findings, so those orders are not among the
permitted ones.</t>
        <t>The second is the issuer pin. The step that resolves it decides the
<strong>attested set</strong> - the receipts and checkpoints that verify under a
usable pinned issuer key, or the whole presented set when no usable
key is pinned - and every later step that walks receipts or
checkpoints consumes that set: the chain walk in step 6, the indexing
and reconciliation in steps 7 through 9, the checkpoint comparisons
in steps 11 through 13, and the <tt>MUST-T8-9</tt> comparison. A receipt the
pin rejects is reported once and then excluded, which is what keeps
the settlement it names visible as uncovered (<tt>MUST-T4-10</tt>); an
implementation that let it back into any of those steps would let a
forged receipt cover a settlement, satisfy a checkpoint count, or
invent a terms charge. Two checks deliberately stay on the presented
set whatever any key says, and <bcp14>MUST NOT</bcp14> acquire the dependency:
<tt>MUST-T4-17</tt>, which asks whether a manifest was named at all, and the
per-receipt defect checks that ask what a receipt says about itself.
-04 asserted that nothing else in the list fed another step, which
the dependencies above had already made false; the assertion is
withdrawn and the list above is the inventory, maintained rather
than summarised.</t>
        <t>When a step names an identifier in backticks, that identifier
<bcp14>SHOULD</bcp14> be used for the condition in diagnostic output. The
normative requirement is the behaviour: report the condition,
identified by the <tt>ref</tt> or other handle given in the step. The
identifiers are not an interoperability surface.</t>
        <ol spacing="normal" type="1"><li>
            <t>Establish the subject of the audit. When an extract is supplied,
the settlement records it carries are the ones reconciled; a
settlement list from any other source <bcp14>MUST NOT</bcp14> be substituted for
them (<tt>MUST-T10-12</tt>). If the caller supplies both and they differ,
the verifier <bcp14>MUST</bcp14> report that the caller-supplied list disagrees
with the extract, and <bcp14>MUST</bcp14> still reconcile the extract. The
identifier <tt>extract-settlement-mismatch</tt> <bcp14>SHOULD</bcp14> be used for this
condition in diagnostic output.</t>
          </li>
          <li>
            <t>Verify the extract signature against the out-of-band rail key
(<tt>MUST-T10-8</tt>, <tt>MUST-T10-9</tt>). If no key is pinned, the check that
runs is against the key the extract carries, which establishes
internal consistency and not origin; the verifier <bcp14>MUST</bcp14> still
compute it, <bcp14>MUST NOT</bcp14> read it as a statement about who produced the
extract, and <bcp14>MUST</bcp14> treat the completeness guarantee as conditional
(<tt>MUST-T10-7</tt>). The identifier <tt>unauthenticated-extract</tt> <bcp14>SHOULD</bcp14>
be used for this condition in diagnostic output, whatever the
extract carries. If a key is
pinned and cannot be decoded, the verifier <bcp14>MUST</bcp14> report that the
pinned key is unreadable. The identifier <tt>trust-key-unreadable</tt>
              <bcp14>SHOULD</bcp14> be used for this condition. If a key is pinned and the
signature does not verify against it, or verifies against a
different key, the verifier <bcp14>MUST</bcp14> report that the extract is not
signed by the pinned key. The identifier <tt>extract-key-mismatch</tt>
              <bcp14>SHOULD</bcp14> be used for this condition. The rows of an extract the pin
refused are not reconciled against the receipts, and no settlement
finding is read out of that document (<tt>MUST-T10-20</tt>); the
identifier <tt>settlement-comparison-skipped</tt> <bcp14>SHOULD</bcp14> be used to say
that the comparison did not run. A finding that puts the
extract itself in doubt <bcp14>MUST</bcp14> prevent an unconditional guarantee.</t>
          </li>
          <li>
            <t>Check scope. The verifier <bcp14>MUST</bcp14> report each settlement record
whose <tt>timestampMs</tt> falls outside the declared window, identified
by that record's <tt>ref</tt> (<tt>MUST-T10-10</tt>). When the verifier states
an expected account, rail, or window, it <bcp14>MUST</bcp14> report an extract
that does not cover it (<tt>MUST-T10-11</tt>). The identifier
<tt>extract-scope-mismatch</tt> <bcp14>SHOULD</bcp14> be used for both conditions. If
the verifier stated no period, it <bcp14>MUST</bcp14> treat the guarantee as
conditional (<tt>MUST-T10-15</tt>). The identifier
<tt>unstated-audit-window</tt> <bcp14>SHOULD</bcp14> be used for this condition. If it
stated no account or no rail, it <bcp14>MUST</bcp14> treat the guarantee as
conditional for the same reason (<tt>MUST-T10-18</tt>); the identifier
<tt>unstated-audit-scope</tt> <bcp14>SHOULD</bcp14> be used. Whatever the verdict, the
report <bcp14>MUST</bcp14> name the account, rail and window the extract declared,
in every structure it returns for the audit (<tt>MUST-T10-19</tt>).</t>
          </li>
          <li>
            <t>Resolve each Spend Receipt against the issuer root
(<xref target="issuer-root"/>) in one pass. Decode the COSE_Sign1; a content
type that is not the receipt type, a decoder bound, or a decoded
claim map that does not match the presented claims is a named
refusal, not a signature verdict (<tt>MUST-T4-2</tt>, <tt>MUST-T4-8</tt>). Then
ask one question: does the signature verify under a pinned issuer
key. <tt>kid</tt> routes the check to a candidate key and carries no
authority of its own; the carried key is not consulted for
membership at all. The resolution table in <xref target="issuer-root"/> reads
the answer out per cell. Every cell there is a named condition
plus a membership decision; no cell is a silent removal, and the
word "reject" in earlier revisions meant nothing more than a cell
of that table.
Where a countersignature is present,
<xref target="payee-root"/> governs what it establishes (<tt>MUST-T4-13</tt>,
<tt>MUST-T4-14</tt>). Where a Trade Manifest is presented, <xref target="manifest-root"/>
governs it (<tt>MUST-T4-15</tt>): with no publisher key pinned the verifier
reports <tt>unauthenticated-manifest</tt> and the guarantee is conditional;
with a pin that cannot be read, <tt>trust-key-unreadable</tt>; with a pin
the manifest does not answer to, <tt>manifest-key-mismatch</tt>; and with
a manifest that no presented receipt references,
<tt>manifest-covers-no-receipt</tt> (<tt>MUST-T4-17</tt>). A receipt that names
the manifest but departs from its amount, currency, expiry or,
where the manifest names one, payee is
reported as <tt>manifest-terms-mismatch</tt>; with a usable issuer key
pinned the comparison runs over the attested receipts and the
departure fails the audit, and with no usable issuer key it is a
warning over the presented receipts and does not by itself fail
the audit (<tt>MUST-T8-9</tt>). An audit
presented with no Trade Manifest is not made conditional by this
step.</t>
          </li>
          <li>
            <t>Scope the receipts. Membership follows the ref binding first: a
receipt whose <tt>ref</tt> appears on the extract is reconciled against
this extract even when its own <tt>timestampMs</tt> falls outside the
declared window - the rail has signed that the settlement belongs
to the window, and the receipt follows its settlement. The
<tt>timestampMs</tt> sieve applies only to receipts the extract does not
name: such a receipt outside the window is not a completeness
failure against this extract (<tt>MUST-T10-16</tt>); auditing a longer
period requires extracts that cover it. At the window's edges the
declared allowance applies (<xref target="rail-extract"/>): an unmatched
settled receipt within <tt>clockSkewMs</tt> of <tt>windowEndMs</tt>, and an
unmatched settlement record within <tt>clockSkewMs</tt> of
<tt>windowStartMs</tt>, are reported as <tt>boundary-deferred</tt>, a warning,
rather than as step 8's completeness findings - two honest clocks
can disagree by less than the allowance, and both verifiers of an
honest edge payment would otherwise reach the same false
accusation (<tt>MUST-T10-17</tt>). Where the following window's extract
is presented and verifies, a deferred receipt whose <tt>ref</tt> appears
on it is resolved and not reported, and one whose <tt>ref</tt> does not
appear hardens into the step 8 finding; a deferred settlement
record near the opening edge resolves through this step's ref
binding, since the prior window's receipt that names its <tt>ref</tt> is
reconciled here regardless of timestamp. The following window's
extract closes or hardens closing-edge deferrals only; an
opening-edge record stays deferred until a receipt in the
presented bag names its <tt>ref</tt>, whether or not a following extract
is presented. In a single-window audit
a deferred record keeps the guarantee conditional. Receipts remain
subject to every other check regardless of window.</t>
          </li>
          <li>
            <t>Walk the attested receipts in issuer order. Issuer order is the
order induced by the <tt>prevReceiptHash</tt> chain: the verifier
rebuilds the chain from the links, and the order in which
receipts were presented carries no weight. <tt>timestampMs</tt> is
issuer-asserted and is not an ordering source. The first
<tt>prevReceiptHash</tt> <bcp14>MUST</bcp14> be null. Each later <tt>prevReceiptHash</tt> <bcp14>MUST</bcp14>
equal <tt>receiptHash</tt> of the previous receipt. A miss, and a
receipt the links cannot place, <bcp14>MUST</bcp14> be reported as a break in
the receipt chain. The identifier <tt>receipt-chain-break</tt> <bcp14>SHOULD</bcp14> be
used for this condition.</t>
          </li>
          <li>
            <t>Index the attested settled receipts and extract records by <tt>ref</tt>. A <tt>ref</tt>
that appears more than once on either side <bcp14>MUST</bcp14> be reported as a
repeated reference (<tt>MUST-T10-6</tt>). The identifier <tt>duplicate-ref</tt>
              <bcp14>SHOULD</bcp14> be used for this condition.</t>
          </li>
          <li>
            <t>For each <tt>ref</tt> that appears exactly once on each side, require a
one-to-one match on <tt>ref</tt> AND <tt>amount</tt> AND <tt>currency</tt>
(<tt>MUST-T10-1</tt>), compared as exact octets on the terms of
<tt>MUST-T8-2</tt>; step 9's aggregation is the only place this algorithm
reads an amount as a number. Amount or currency mismatch <bcp14>MUST</bcp14> be reported as
a settlement that does not match its receipt, identified by that
<tt>ref</tt>. The identifier <tt>settlement-mismatch</tt> <bcp14>SHOULD</bcp14> be used for
this condition. A settlement with no receipt <bcp14>MUST</bcp14> be reported as
lacking a receipt, identified by its <tt>ref</tt> (<tt>MUST-T10-2</tt>). The
identifier <tt>settlement-without-receipt</tt> <bcp14>SHOULD</bcp14> be used for this
condition. A settled receipt with no extract row <bcp14>MUST</bcp14> be reported
as a completeness failure (<tt>MUST-T10-3</tt>). The identifier
<tt>receipt-without-settlement</tt> <bcp14>SHOULD</bcp14> be used for this condition.
A settled receipt with a null rail ref <bcp14>MUST</bcp14> be reported as
settled without a rail reference; this check asks what a receipt
says about itself and runs over the presented receipts, attested
or not. The identifier
<tt>settled-without-ref</tt> <bcp14>SHOULD</bcp14> be used for this condition.
Where a settlement record declares a <tt>beneficiary</tt>
(<xref target="rail-extract"/>), it <bcp14>MUST</bcp14> be compared against the matched
receipt's <tt>payee</tt> as exact octets; a difference is
<tt>beneficiary-mismatch</tt> and fails the audit. Where neither the
manifest names a <tt>payee</tt> nor any settlement record declares a
<tt>beneficiary</tt>, the report <bcp14>MUST</bcp14> carry <tt>counterparty-unbound</tt>, a
scope record: ref, amount and currency closed against the payer's
account extract, and the counterparty's identity was not bound.
It is a statement of what the evidence did not cover, not a
doubt about what it did, so it does not move the verdict and does
not by itself make the guarantee conditional.</t>
          </li>
          <li>
            <t>A <tt>ref</tt> already reported as repeating <bcp14>MUST</bcp14> still be reconciled
by amount rather than dropped from the comparison
(<tt>MUST-T10-13</tt>). For each currency under that <tt>ref</tt>, compare the
total settled against the total receipted. A settled total that
exceeds the receipted total <bcp14>MUST</bcp14> be reported as a settlement
lacking a receipt, and the finding <bcp14>MUST</bcp14> state the unaccounted
amount. The identifier <tt>settlement-without-receipt</tt> <bcp14>SHOULD</bcp14> be
used for this condition. A settled total that is less than the
receipted total <bcp14>MUST</bcp14> be reported as a settlement that does not
match its receipt, identified by that <tt>ref</tt>. The identifier
<tt>settlement-mismatch</tt> <bcp14>SHOULD</bcp14> be used for this condition. An
amount on that repeating <tt>ref</tt> that cannot be parsed as an
integer <bcp14>MUST</bcp14> be reported without abandoning the audit; the
identifier <tt>malformed-amount</tt> <bcp14>SHOULD</bcp14> be used for this condition.
A verifier <bcp14>MUST</bcp14> still report findings for the remaining records.</t>
          </li>
          <li>
            <t>Aborted receipts are not matched to extract rows and are not
added to totals.</t>
          </li>
          <li>
            <t>Decode each checkpoint. Reject a failed signature, and reject a
   <tt>kid</tt> that does not match the key obtained for the checkpoint
   issuer, on the same terms as a receipt (<tt>MUST-T4-8</tt>). Require
   <tt>receiptCount</tt>, <tt>chainHeadHash</tt>, and <tt>totals</tt> to match the
   attested receipts in <tt>[startMs, endMs)</tt> as defined above
   (<tt>MUST-T11-2</tt>); a receipt step 4 rejected is not among them,
   or a forged receipt could satisfy a checkpoint count. The identifier <tt>checkpoint-total-mismatch</tt>
              <bcp14>SHOULD</bcp14> be used for a failed signature, a wrong <tt>receiptCount</tt>,
   or totals that disagree, and <tt>checkpoint-head-mismatch</tt> for a
   <tt>chainHeadHash</tt> that is not the last link, in issuer order
   (step 6), of the chain inside <tt>[startMs, endMs)</tt> - "last
   receipt" binds to the chain, not to presentation or to
   <tt>timestampMs</tt>. If the
   signed <tt>totals</tt> is null, the verifier
   cannot perform the totals comparison for that checkpoint. It
   <bcp14>MUST</bcp14> report that the comparison was skipped and <bcp14>MUST</bcp14> treat the
   completeness guarantee as conditional; the absence of a
   comparison is not a passed comparison (<tt>MUST-T11-12</tt>). The
   identifier <tt>checkpoint-totals-redacted</tt> <bcp14>SHOULD</bcp14> be used for this
   condition. <tt>receiptCount</tt> and <tt>chainHeadHash</tt> <bcp14>MUST</bcp14> still be
   checked. A checkpoint that fails verification <bcp14>MUST NOT</bcp14> be
   treated as redacted, whatever it claims about its own totals.</t>
          </li>
          <li>
            <t>Every chained receipt <bcp14>MUST</bcp14> fall in exactly one checkpoint
window. A gap or double count <bcp14>MUST</bcp14> be reported as a window
coverage failure (<tt>MUST-T11-7</tt>, <tt>MUST-T11-8</tt>). The identifier
<tt>window-coverage</tt> <bcp14>SHOULD</bcp14> be used for this condition. The check
runs against the presented checkpoint windows and it is
fail-closed: a receipt that falls under none of them is this
failure - including every receipt when no checkpoint was
presented, and receipts after the last closed checkpoint's
<tt>endMs</tt>. The text names that last state an <strong>open epoch</strong>, and
it is auditable only when the checkpoint that closes it is
issued; the name explains why the finding fired, it does not
soften it. Nothing about an absent checkpoint is silent:
uncovered evidence surfaces as a finding rather than as a gap
in the report.</t>
          </li>
          <li>
            <t>Walk checkpoints in epoch order. <tt>prevCheckpointHash</tt> <bcp14>MUST</bcp14>
equal the SHA-256 of the previous checkpoint COSE bytes, or null
for genesis (<tt>MUST-T11-4</tt>). The identifier
<tt>checkpoint-total-mismatch</tt> <bcp14>SHOULD</bcp14> be used for a broken chain,
which is the fourth condition its table row names.</t>
          </li>
          <li>
            <t>If two successfully verified checkpoints share an epoch number
and have different hashes, the verifier <bcp14>MUST</bcp14> report
equivocation (<tt>MUST-T11-3</tt>). The identifier <tt>equivocation</tt>
              <bcp14>SHOULD</bcp14> be used for this condition. The checkpoints compared
here are those presented <strong>together with</strong> any carried by
verified witness receipts (step 15). Comparing only the
presented chain cannot raise this finding: <tt>MUST-T11-8</tt>, applied
in step 12, requires that chain's epochs to be consecutive, so no
two of its members share an epoch. A copy recorded by a witness
is where the second one is found.</t>
          </li>
          <li>
            <t>If witness receipts were supplied, verify them against the
out-of-band witness key (<xref target="witness-root"/>); receipts that
cannot be checked that way are not evidence in either direction
and the verifier reports that it left them out (<tt>MUST-T11-15</tt>);
the identifier <tt>unauthenticated-witness</tt> <bcp14>SHOULD</bcp14> be used for this
condition.
Discard any whose signature fails (<tt>MUST-T11-10</tt>). A surviving
receipt whose statement body verifies against the issuer root is
a statement that issuer published; one that does not is another
party's, and is not this issuer equivocating (<tt>MUST-T11-16</tt>).
The survivors are the recorded statement hashes used in step 16. Where a receipt also carries
the statement body, discard that body unless its statement hash
equals the one the receipt binds and it verifies as a
checkpoint; the surviving bodies are what step 14 compares.
Discarding a body does not discard its receipt.
This is tier 1 of <xref target="witness"/>. Where the tier-2 pair - the
registered Signed Statement bytes and an inclusion proof - was
also supplied, verify it as <xref target="witness"/> states: apply the proof
to the candidate entry's hash and accept only on an exact match
with a witness-signed receipt (<tt>MUST-T11-18</tt>); a pair that fails,
or a candidate without a proof, is <tt>witness-inclusion-invalid</tt>
and the audit <bcp14>MUST</bcp14> fail. Where witness receipts were supplied
and no tier-2 pair was, report <tt>witness-inclusion-not-exercised</tt>
as a warning (<tt>MUST-T11-19</tt>): the witness attested the statement
hash, and log membership was not proven.</t>
          </li>
          <li>
            <t>Compare the surviving witness records against the presented
chain (<tt>MUST-T11-11</tt>). For each presented checkpoint with no
surviving record, report that it is not anchored; the
identifier <tt>checkpoint-not-anchored</tt> <bcp14>SHOULD</bcp14> be used. This is a
warning: a witness may have been configured after the
checkpoint was issued, and an operator's own gap is not
evidence of concealment. For each surviving record whose
statement is absent from the presented chain, report that a
recorded checkpoint was withheld; the identifier
<tt>checkpoint-withheld</tt> <bcp14>SHOULD</bcp14> be used. This is a finding and the
audit <bcp14>MUST</bcp14> fail. A record that carries no statement body cannot
say whose statement it binds, so it <bcp14>MUST NOT</bcp14> produce this
finding; it is reported as an entry that could not be attributed
and makes the guarantee conditional, because a real withholding
must not be buried by removing the body (<tt>MUST-T11-17</tt>). Such a
record still establishes anchoring in the first half of this
step: proving that a checkpoint was logged needs only its hash. The verifier <bcp14>MUST NOT</bcp14> report a withheld
checkpoint as a window coverage failure (<tt>MUST-T11-11</tt>).</t>
          </li>
          <li>
            <t>If any finding remains that is not a warning (a warning is a
condition that only makes the completeness guarantee
conditional), the audit <bcp14>MUST</bcp14> fail (<tt>MUST-T10-4</tt>).</t>
          </li>
        </ol>
      </section>
      <section anchor="finding-codes">
        <name>Finding codes</name>
        <t>The identifiers below are for diagnostic output. They are not an
interoperability surface. A finding object that can be carried on
the wire is outside the scope of this document and may be defined
later. Two implementations interoperate when they accept the same
inputs and fail or warn on the same conditions, not when they
print the same strings.</t>
        <t>A condition that makes the audit fail is a finding. A condition
that only makes the completeness guarantee conditional is a
warning. Warnings <bcp14>MUST</bcp14> still appear in operator-facing output
(<tt>MUST-T10-14</tt>).</t>
        <table>
          <thead>
            <tr>
              <th align="left">Code</th>
              <th align="left">Effect</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">settlement-without-receipt</td>
              <td align="left">audit fails</td>
              <td align="left">Extract row has no matching settled receipt, or a repeating <tt>ref</tt> settled more than it receipted</td>
            </tr>
            <tr>
              <td align="left">receipt-without-settlement</td>
              <td align="left">audit fails</td>
              <td align="left">Settled receipt ref is not on the extract</td>
            </tr>
            <tr>
              <td align="left">settlement-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">Same <tt>ref</tt>, different amount or currency, including a repeating <tt>ref</tt> that settled less than it receipted</td>
            </tr>
            <tr>
              <td align="left">duplicate-ref</td>
              <td align="left">audit fails</td>
              <td align="left">Ref appears more than once on one side</td>
            </tr>
            <tr>
              <td align="left">settled-without-ref</td>
              <td align="left">audit fails</td>
              <td align="left">
                <tt>outcome</tt> is settled and <tt>x402PaymentRef</tt> is null</td>
            </tr>
            <tr>
              <td align="left">receipt-chain-break</td>
              <td align="left">audit fails</td>
              <td align="left">Signature or <tt>prevReceiptHash</tt> failed, or the links cannot place a receipt (issuer order, step 6)</td>
            </tr>
            <tr>
              <td align="left">checkpoint-total-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">Totals, count, signature, or checkpoint chain failed. The signature branch is reached where no issuer pin has already excluded the checkpoint: under a pin a checkpoint that does not verify is <tt>issuer-key-mismatch</tt> and never reaches the totals comparison</td>
            </tr>
            <tr>
              <td align="left">checkpoint-head-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">
                <tt>chainHeadHash</tt> is not the last link, in issuer order, of the chain inside the window, or the expected head could not be computed at all because the last receipt on the chain refused canonical encoding; the refusal is named and is not a signature verdict</td>
            </tr>
            <tr>
              <td align="left">equivocation</td>
              <td align="left">audit fails</td>
              <td align="left">Two distinct hashes for one epoch</td>
            </tr>
            <tr>
              <td align="left">window-coverage</td>
              <td align="left">audit fails</td>
              <td align="left">Gap, overlap, or non-adjacent / non-consecutive windows</td>
            </tr>
            <tr>
              <td align="left">unauthenticated-extract</td>
              <td align="left">guarantee conditional</td>
              <td align="left">No verifier-supplied rail key, whatever the extract carries: a signature that verifies establishes internal consistency and not that the named rail produced the extract, and one that fails or is refused is not a key verdict either. The same code is reported when a rail key is pinned and no extract was presented at all, because there is nothing to check the pin against. A presented extract that does not verify under a pinned key is <tt>extract-key-mismatch</tt> instead</td>
            </tr>
            <tr>
              <td align="left">extract-key-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">Extract is signed by a key other than the pinned rail key, or does not verify against it</td>
            </tr>
            <tr>
              <td align="left">settlement-comparison-skipped</td>
              <td align="left">guarantee conditional</td>
              <td align="left">The pinned rail key refused the presented extract, so its rows were not reconciled against the receipts (<tt>MUST-T10-20</tt>). The code says what did not run; the refusal itself is reported as <tt>extract-key-mismatch</tt></td>
            </tr>
            <tr>
              <td align="left">trust-key-unreadable</td>
              <td align="left">audit fails</td>
              <td align="left">A pinned key - rail, issuer, or manifest publisher - could not be decoded; the verifier's configuration is at fault, and nothing falls back to the keys the objects carry</td>
            </tr>
            <tr>
              <td align="left">issuer-key-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">An object is signed by a key other than the pinned issuer key, or does not verify under it at all, so it is not coverage for anything it names. A checkpoint reaches this code by either route: unlike a receipt, which is named in the chain walk as <tt>receipt-chain-break</tt> when it claims the pin and fails, a checkpoint that claims the pin and fails is reported here and leaves its window uncovered</td>
            </tr>
            <tr>
              <td align="left">countersign-key-mismatch</td>
              <td align="left">conditional</td>
              <td align="left">A countersignature verifies under a key other than the one pinned for that payee; unattributable, discarded as approval evidence, and the receipt it rode beside is unaffected (<xref target="countersign"/>)</td>
            </tr>
            <tr>
              <td align="left">countersign-missing</td>
              <td align="left">conditional</td>
              <td align="left">A payee key is pinned and a settled receipt for that payee carries no attributable countersignature; a discarded garbage or foreign-key object leaves this open</td>
            </tr>
            <tr>
              <td align="left">unauthenticated-issuer</td>
              <td align="left">conditional</td>
              <td align="left">No verifier-supplied issuer key and at least one receipt or checkpoint presented; their signatures are checked against the keys the objects carry (<xref target="presentation"/>), which establishes that each object is internally consistent and not that the named issuer produced it</td>
            </tr>
            <tr>
              <td align="left">unauthenticated-witness</td>
              <td align="left">conditional</td>
              <td align="left">No verifier-supplied witness key; inclusion receipts were left out of the comparison</td>
            </tr>
            <tr>
              <td align="left">unauthenticated-countersigner</td>
              <td align="left">conditional</td>
              <td align="left">No verifier-supplied payee key; a countersignature is present but proves no approval</td>
            </tr>
            <tr>
              <td align="left">unauthenticated-manifest</td>
              <td align="left">conditional</td>
              <td align="left">No verifier-supplied manifest key and a Trade Manifest was presented; its signature is not checked at all, because the check that exists under a pin (<tt>manifest-key-mismatch</tt>) has no key to run against and the key the manifest carries is not a fallback for one. An audit presented with no Trade Manifest is not this condition</td>
            </tr>
            <tr>
              <td align="left">manifest-key-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">A presented Trade Manifest is signed by a key other than the pinned publisher key, or does not verify against it</td>
            </tr>
            <tr>
              <td align="left">manifest-covers-no-receipt</td>
              <td align="left">conditional</td>
              <td align="left">A presented Trade Manifest is referenced by no presented receipt, including aborted ones and those outside the extract window; the manifest states terms no presented receipt names. It is reported on what was presented, not on whether the manifest was attributed, so it appears beside <tt>manifest-key-mismatch</tt> as well</td>
            </tr>
            <tr>
              <td align="left">manifest-terms-mismatch</td>
              <td align="left">audit fails under a usable issuer pin; warning without one</td>
              <td align="left">A receipt names this Trade Manifest but departs from it in amount, currency, settlement time, or, where the manifest states one, payee. A manifest refused by a stated publisher pin is not compared at all; a gate applying <tt>MUST-T8-2</tt> and <tt>MUST-T3-3</tt> would have refused the payment. The two severities are the two branches of <tt>MUST-T8-9</tt></td>
            </tr>
            <tr>
              <td align="left">witness-entry-unattributable</td>
              <td align="left">conditional</td>
              <td align="left">The witness holds a statement this chain does not present, carrying no body to say whose it is</td>
            </tr>
            <tr>
              <td align="left">extract-scope-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">A record falls outside the declared window, or the extract does not cover the expected account, rail, or window</td>
            </tr>
            <tr>
              <td align="left">extract-settlement-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">A caller-supplied settlement list disagrees with the extract on <tt>ref</tt>, amount, currency or timestamp, which are the fields compared; the extract is authoritative. A beneficiary that differs is not part of this comparison and is reached by <tt>beneficiary-mismatch</tt>, against the receipt payee</td>
            </tr>
            <tr>
              <td align="left">malformed-amount</td>
              <td align="left">audit fails</td>
              <td align="left">An amount on a <tt>ref</tt> already reported as repeating that could not be parsed as an integer</td>
            </tr>
            <tr>
              <td align="left">unstated-audit-window</td>
              <td align="left">guarantee conditional</td>
              <td align="left">A usable rail pin states no period, so the extract defined its own. Where no rail key is pinned at all the period is equally unstated, and <tt>unauthenticated-extract</tt> is the condition reported</td>
            </tr>
            <tr>
              <td align="left">unstated-audit-scope</td>
              <td align="left">guarantee conditional</td>
              <td align="left">A usable rail pin states no account or no rail, so the extract defined the settlement path it reported on. The same "no pin at all" case is <tt>unauthenticated-extract</tt></td>
            </tr>
            <tr>
              <td align="left">countersign-bad</td>
              <td align="left">conditional</td>
              <td align="left">Present payee countersignature failed verify (signature, content type, or payload binding); unattributable, discarded as approval evidence. One verifiable under another key is <tt>countersign-key-mismatch</tt></td>
            </tr>
            <tr>
              <td align="left">checkpoint-withheld</td>
              <td align="left">audit fails</td>
              <td align="left">A verified witness receipt binds a checkpoint the presented chain does not contain</td>
            </tr>
            <tr>
              <td align="left">checkpoint-not-anchored</td>
              <td align="left">guarantee conditional</td>
              <td align="left">A witness was supplied and holds no verified receipt for this checkpoint</td>
            </tr>
            <tr>
              <td align="left">checkpoint-totals-redacted</td>
              <td align="left">guarantee conditional</td>
              <td align="left">The checkpoint was signed with <tt>totals</tt> null, so the totals comparison could not be made</td>
            </tr>
            <tr>
              <td align="left">carried-key-mismatch</td>
              <td align="left">conditional</td>
              <td align="left">An object verifies under a pinned issuer key but the key carried beside its signature is a different one; the unsigned surface was rewritten, the object stays attested (<xref target="issuer-root"/>)</td>
            </tr>
            <tr>
              <td align="left">boundary-deferred</td>
              <td align="left">conditional</td>
              <td align="left">An unmatched item sits within the declared <tt>clockSkewMs</tt> of the window edge; deferred to the adjacent window rather than reported as a completeness failure (step 5)</td>
            </tr>
            <tr>
              <td align="left">beneficiary-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">A settlement record declares a <tt>beneficiary</tt> and the matched receipt's <tt>payee</tt> differs</td>
            </tr>
            <tr>
              <td align="left">counterparty-unbound</td>
              <td align="left">scope record; verdict and guarantee unchanged</td>
              <td align="left">Neither the manifest names a <tt>payee</tt> nor any settlement record declares a <tt>beneficiary</tt>: ref, amount and currency closed against the payer's account extract, and the counterparty's identity was not bound</td>
            </tr>
            <tr>
              <td align="left">delivery-mismatch</td>
              <td align="left">audit fails</td>
              <td align="left">An attributable countersignature carries <tt>deliveredHash</tt> and it differs from the acceptance-criteria hash of a Trade Manifest the audit did not refuse; both ends are signed (<tt>MAY-T8-11</tt>). Where a stated publisher pin refuses the manifest, its acceptance hash founds nothing and this comparison is not made (<tt>MUST-T8-9</tt>)</td>
            </tr>
            <tr>
              <td align="left">witness-inclusion-invalid</td>
              <td align="left">audit fails</td>
              <td align="left">The tier-2 candidate bytes and inclusion proof do not reproduce a witness-signed tree head, or a candidate was supplied without a proof (<tt>MUST-T11-18</tt>)</td>
            </tr>
            <tr>
              <td align="left">witness-inclusion-not-exercised</td>
              <td align="left">conditional</td>
              <td align="left">Witness receipts were supplied and no tier-2 pair was, so log membership was not proven (<tt>MUST-T11-19</tt>). The code says nothing about whether any of those receipts verified: it is reported on presentation, and an unpinned or unverifiable inclusion receipt reaches it alongside <tt>unauthenticated-witness</tt></td>
            </tr>
            <tr>
              <td align="left">malformed-policy-hash (and its family: malformed-request-hash, malformed-acceptance-criteria-hash, malformed-manifest-hash, malformed-receipt-hash, malformed-prev-receipt-hash, malformed-chain-head-hash, malformed-prev-checkpoint-hash, malformed-ap-two-mandate-hash)</td>
              <td align="left">audit fails</td>
              <td align="left">A hash-shaped claim does not match the 64-lowercase-hex grammar of <xref target="receipt-labels"/>; the claim is named in the code</td>
            </tr>
          </tbody>
        </table>
        <t>A finding that puts the extract itself in doubt (<tt>extract-key-mismatch</tt>,
<tt>trust-key-unreadable</tt>, <tt>extract-scope-mismatch</tt>, or
<tt>extract-settlement-mismatch</tt>) <bcp14>MUST</bcp14> also prevent an unconditional
guarantee, not merely fail the audit. A finding that puts a presented
Trade Manifest in doubt (<tt>manifest-key-mismatch</tt>, or
<tt>trust-key-unreadable</tt> on the manifest pin) does the same.</t>
        <t>An unconditional guarantee therefore requires all of: an extract, a
pinned rail key the extract's signature verifies against, a stated
period the extract covers, an issuer root for whatever receipts and
checkpoints are presented, a manifest root for whatever Trade Manifest
is presented, no finding that puts the extract in
doubt, and no warning that withholds part of the comparison. A
checkpoint whose totals were signed as withheld
(<tt>checkpoint-totals-redacted</tt>) removes a comparison the guarantee
rests on, and a presented checkpoint a supplied witness does not
hold (<tt>checkpoint-not-anchored</tt>) leaves part of the chain
unwitnessed. Either one makes the result conditional. Anything less
than the whole list is conditional, and the report <bcp14>MUST</bcp14> say so.</t>
        <t>An implementation <bcp14>MUST</bcp14> make the guarantee and any warnings visible in
whatever human-readable audit report it produces under this document,
not only in a returned structure (<tt>MUST-T10-14</tt>). A report that says the books balance while withholding
that the balance is conditional invites the reader to take a
conditional result for an unconditional one.</t>
        <t>Checkpoints <bcp14>SHOULD</bcp14> be registered with a Transparency Service
(<tt>SHOULD-T11-5</tt>). A test deployment <bcp14>MAY</bcp14> use an in-process
append-only log as the witness (<tt>MAY-T11-6</tt>). Cedulon still <bcp14>MUST
NOT</bcp14> take custody.</t>
        <t>The guarantee named above is about completeness against the extract,
which is the subject of T10. It is not a claim that no checkpoint was
suppressed. Suppression is the subject of T11, and a report <bcp14>MUST NOT</bcp14>
be read as settling it when no witness was consulted: with no
witness receipts, the presented chain is self-consistent by
construction and says nothing about what it left out (<tt>MUST-T11-9</tt>).
A verifier that consulted a witness and found every presented
checkpoint recorded, with nothing recorded that was not presented,
has discharged T11 for the period those receipts cover, and for no
longer.</t>
      </section>
    </section>
    <section anchor="lifecycle">
      <name>Lifecycle</name>
      <ol spacing="normal" type="1"><li>
          <t><strong>Manifest.</strong> Parties sign a Trade Manifest (optional for metered
API spend; required for goods with acceptance criteria).</t>
        </li>
        <li>
          <t><strong>Policy check.</strong> The adapter submits a structured request to the
PDP. Default is deny. An allow is a Decision Token
(<tt>MUST-T6-4</tt>).</t>
        </li>
        <li>
          <t><strong>Payment.</strong> On allow, the adapter performs the x402 (or other
rail) exchange using exactly the decision fields (<tt>MUST-T6-1</tt>).
The Decision Token is consumed (<tt>MUST-T6-2</tt>). A reused nonce is
denied (<tt>MUST-T3-1</tt>, <tt>MUST-T3-2</tt>). A tampered or expired token
is denied (<tt>MUST-T6-5</tt>).</t>
        </li>
        <li>
          <t><strong>Receipt.</strong> The Receipt Issuer signs a Spend Receipt. Rail
credentials <bcp14>MUST NOT</bcp14> appear in the receipt, logs, or tool
results (<tt>MUST-T5-2</tt>, <tt>MUST-T7-1</tt>).</t>
        </li>
        <li>
          <t><strong>Dispute Evidence Bundle.</strong> If delivery bytes do not match the
acceptance-criteria hash, an implementation <bcp14>MUST</bcp14> be able to emit
a bundle of manifest + receipt + delivery hash (<tt>MUST-T8-3</tt>).
The bundle <bcp14>MUST NOT</bcp14> be described as an arbitral award or escrow
release (<tt>MUST-T8-4</tt>).</t>
        </li>
      </ol>
    </section>
    <section anchor="policy-semantics">
      <name>Policy Semantics</name>
      <t>Policy is default deny. The engine understands three families of
rule:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Limit:</strong> maximum amount per payment; maximum cumulative amount
per window (<tt>MUST-T2-2</tt>).</t>
        </li>
        <li>
          <t><strong>Velocity:</strong> maximum number of allowed payments per window
(<tt>MUST-T2-1</tt>).</t>
        </li>
        <li>
          <t><strong>Scope:</strong> optional allow-lists for payee, currency, and tool
name.</t>
        </li>
      </ul>
      <t>Fail-closed: missing engine, crash, or exception yields deny
(<tt>MUST-T2-3</tt>). Implementations <bcp14>SHOULD</bcp14> emit stable reason codes
(<tt>SHOULD-T2-5</tt>). Decision tokens <bcp14>SHOULD</bcp14> expire after a short TTL
(<tt>SHOULD-T6-3</tt>).</t>
      <t>The agent-facing spend interface <bcp14>MUST</bcp14> invoke the PDP and <bcp14>MUST NOT</bcp14>
expose a parallel ungated rail call to the model (<tt>MUST-T5-1</tt>).</t>
      <t>One boundary is stated here rather than left to be inferred. In the
retrospective audit, "allowed by policy" is the Receipt Issuer's
signed assertion: the spend passed the issuer's gate under the
<tt>policyHash</tt> the receipt names. The Decision Token is consumed at the
gate, and the verification algorithm never sees it; the audit does
not independently re-verify the PDP's allow. The completeness side of
the audit has an independent leg - the rail extract - and the policy
side deliberately does not: that is a trust boundary of this profile,
not an oversight. A deployment that wants the policy answer to be
independently verifiable needs a receipt-to-token binding, which this
revision does not define; it is named as a possible extension
(<xref target="evolution"/>), and adding it would change what a receipt carries,
so it is not smuggled in here.</t>
    </section>
    <section anchor="anchoring">
      <name>SCITT Anchoring</name>
      <t>A Receipt Issuer or relying party <bcp14>MAY</bcp14> construct a SCITT Signed
Statement whose payload is either the Spend Receipt COSE object or a
privacy profile (<xref target="privacy"/>) and register it with a Transparency
Service <xref target="RFC9943"/>. The service returns a COSE receipt
<xref target="RFC9942"/>. Embedding that receipt yields a Transparent Statement.
Cedulon does not define a new transparency algorithm.</t>
      <t>An epoch checkpoint <bcp14>MUST</bcp14> be registrable on the same terms
(<tt>MUST-T11-14</tt>). Its Signed Statement carries the checkpoint
COSE_Sign1 object as the payload and <tt>application/cedulon-checkpoint+cbor</tt>
as the content type, which is among the media types <xref target="iana"/> asks to
have registered and which, until then, is a placeholder like the rest.
Nothing else about registration differs from a receipt.</t>
      <t>This is a short section for a requirement -01 was missing, and the
omission mattered more than its length suggests. -01 asked for
checkpoints to be registered (<tt>SHOULD-T11-5</tt>) while profiling only
the receipt here, so the object carrying the suppression guarantee
had no stated form to be registered in. Two implementations could
follow -01 to the letter and register incomparable things.</t>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>A public transparency encoding <bcp14>MUST</bcp14> support omitting or hashing
payer and payee identifiers and <bcp14>MUST</bcp14> support amount redaction or
bucket encoding (<tt>MUST-T9-1</tt>). Implementations <bcp14>MUST NOT</bcp14> write
government-ID numbers, payment-instrument PAN, or street address
into a public statement (<tt>MUST-T9-2</tt>). Default public anchors
<bcp14>SHOULD</bcp14> publish <tt>policyHash</tt>, <tt>manifestHash</tt>, <tt>receiptHash</tt>, and
<tt>timestampMs</tt> rather than full claims (<tt>SHOULD-T9-3</tt>). A private
auditor <bcp14>MAY</bcp14> receive an unredacted receipt out of band
(<tt>MAY-T9-4</tt>).</t>
      <t>The paragraph above counts receipt fields. A checkpoint publishes
something a receipt does not: a per-currency total for a whole
window, which discloses trading volume even when every individual
receipt is redacted (<tt>MUST-T9-5</tt>). -01 gave no rule for it, so an
implementation could publish that total, or withhold it in a way no
verifier could recognise, and neither reading contradicted the text.</t>
      <t>The rule is the one stated in <xref target="reconciliation"/>: <tt>totals</tt> <bcp14>MAY</bcp14> be
withheld by signing it as null (<tt>MUST-T11-12</tt>), and only that form
counts as a redaction (<tt>MUST-T11-13</tt>). The structural claims are not
redactable, because a verifier that cannot read the window or the
chain head cannot check anything at all, and a checkpoint that hid
them would be indistinguishable from a broken one.</t>
      <t>Withholding is honest and it is also a cost: a verifier that cannot
recompute the totals says so, and the completeness guarantee for that
window is conditional. A deployment that wants an unconditional result
publishes the totals; a deployment that wants the volume private
accepts a conditional one. What a deployment <bcp14>MUST NOT</bcp14> do is obtain
the unconditional result while withholding the evidence for it.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>This section is authoritative for the protocol requirements in this
document. The companion repository file <tt>THREAT_MODEL.md</tt> is
informative and <bcp14>MUST NOT</bcp14> be read as overriding this section.</t>
      <t>Requirement identifiers take the form KEYWORD-Tn-k, where KEYWORD
is <bcp14>MUST</bcp14>, <bcp14>SHOULD</bcp14>, or <bcp14>MAY</bcp14>, n is the threat number in this section,
and k is a sequence number within that threat. <bcp14>MUST</bcp14>-T8-custody is
the custody prohibition under T8. The tables below define the
requirement text those citations refer to.</t>
      <section anchor="t1-prompt-injection-leads-to-unauthorized-spend">
        <name>T1: Prompt injection leads to unauthorized spend</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T1-1</td>
              <td align="left">The PDP <bcp14>MUST</bcp14> decide from structured request fields and stored policy, not from model-generated prose.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T1-2</td>
              <td align="left">A spend that is not bound to a verified Trade Manifest <bcp14>MUST</bcp14> be marked <tt>noManifest</tt> on the Spend Receipt and <bcp14>MUST</bcp14> still be subject to limit, velocity, and scope policy.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T1-3</td>
              <td align="left">Hosts <bcp14>SHOULD</bcp14> require a human confirmation channel for first-use payees.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T1-4</td>
              <td align="left">An implementation <bcp14>MAY</bcp14> refuse all <tt>noManifest</tt> spend.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t2-runaway-agent-loop-spend">
        <name>T2: Runaway agent (loop spend)</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T2-1</td>
              <td align="left">Policy <bcp14>MUST</bcp14> express a maximum payment count per configured time window (velocity).</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T2-2</td>
              <td align="left">Policy <bcp14>MUST</bcp14> express a maximum amount per payment and a maximum cumulative amount per window.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T2-3</td>
              <td align="left">If the PDP is unreachable, uninitialized, or throws during evaluation, the spend <bcp14>MUST</bcp14> be denied (fail-closed, default deny).</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T2-4</td>
              <td align="left">A denied attempt <bcp14>MUST NOT</bcp14> increment the allowed-spend counters as if it had succeeded.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T2-5</td>
              <td align="left">Implementations <bcp14>SHOULD</bcp14> emit a stable reason code for velocity and limit denials.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t3-replay-of-payment-authority">
        <name>T3: Replay of payment authority</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T3-1</td>
              <td align="left">Every spend attempt that the PDP allows <bcp14>MUST</bcp14> include a nonce that the implementation has not accepted before.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T3-2</td>
              <td align="left">A second attempt that reuses a nonce <bcp14>MUST</bcp14> be denied.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T3-3</td>
              <td align="left">A Trade Manifest <bcp14>MUST</bcp14> carry an expiry; a spend against an expired manifest <bcp14>MUST</bcp14> be denied. The manifest is expired when the settlement time is strictly greater than <tt>expiresAtMs</tt>; a settlement at exactly <tt>expiresAtMs</tt> is within the manifest. -03 said "expired" without fixing the boundary, which two implementations can read two ways.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T3-4</td>
              <td align="left">A PDP allow decision <bcp14>MUST</bcp14> be bound to the SHA-256 of the canonical encoding of the request fields it evaluated, as stated in <xref target="hash-inputs"/>, and <bcp14>MUST</bcp14> be single-use.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T3-5</td>
              <td align="left">Nonce stores <bcp14>SHOULD</bcp14> persist across process restart when the deployment is not a test fixture.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t4-receipt-forgery-or-repudiation">
        <name>T4: Receipt forgery or repudiation</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-1</td>
              <td align="left">A Spend Receipt <bcp14>MUST</bcp14> be signed by the Receipt Issuer over the deterministic CBOR encoding of its claims, as profiled in <xref target="cose-profile"/>. The phrase "canonical encoding" is reserved for JSON documents (<xref target="canonical-json"/>); -03 used it for both and left a reader to work out which was meant.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-2</td>
              <td align="left">Verifiers <bcp14>MUST</bcp14> reject a receipt whose signature does not validate or whose canonical bytes do not match the signed payload.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-3</td>
              <td align="left">A Spend Receipt <bcp14>MUST</bcp14> include <tt>payer</tt>, <tt>payee</tt>, <tt>amount</tt>, <tt>currency</tt>, <tt>policyHash</tt>, <tt>timestampMs</tt>, and <tt>nonce</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-4</td>
              <td align="left">A Spend Receipt <bcp14>MUST</bcp14> include <tt>manifestHash</tt> or an explicit <tt>noManifest</tt> flag, never an ambiguous empty hash. Empty optional values are CBOR null; labels are never absent.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T4-5</td>
              <td align="left">Receipts <bcp14>SHOULD</bcp14> form a hash chain (<tt>prevReceiptHash</tt>) so omission is detectable within one issuer stream.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T4-6</td>
              <td align="left">Parties <bcp14>MAY</bcp14> register the signed receipt as a SCITT statement to obtain a COSE receipt.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-7</td>
              <td align="left">A Spend Receipt <bcp14>MUST</bcp14> include <tt>outcome</tt> (<tt>settled</tt> or <tt>aborted</tt>). A settled receipt <bcp14>MUST</bcp14> have a non-null rail ref. Aborted receipts <bcp14>MUST NOT</bcp14> enter checkpoint totals.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-8</td>
              <td align="left">COSE_Sign1 protected headers <bcp14>MUST</bcp14> use alg -19 (Ed25519), a mandatory <tt>kid</tt>, and a payload-specific content type. Verifiers <bcp14>MUST</bcp14> reject a <tt>kid</tt> that does not match the configured issuer key.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-9</td>
              <td align="left">A verifier <bcp14>MUST</bcp14> obtain the issuer public key out of band and <bcp14>MUST</bcp14> verify Spend Receipt and epoch checkpoint signatures against that key. A key carried by the object <bcp14>MUST NOT</bcp14> be treated as the signer's identity and <bcp14>MUST NOT</bcp14> be used as a fallback where no key was obtained (<tt>MUST-T4-11</tt>); a signature checked against it where no issuer key is held establishes internal consistency only and attests nothing. A verifier without such a key that is presented with any Spend Receipt or epoch checkpoint <bcp14>MUST</bcp14> report the completeness guarantee as conditional. An audit presented with neither rests on the extract alone and is not made conditional by this requirement.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-10</td>
              <td align="left">A receipt that does not verify against the pinned issuer key <bcp14>MUST NOT</bcp14> count as coverage for the settlement it names, and that settlement <bcp14>MUST</bcp14> still be reported as uncovered. Reporting the mismatch is not sufficient on its own.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-11</td>
              <td align="left">Pinned issuer keys <bcp14>MUST</bcp14> be compared by SubjectPublicKeyInfo DER encoding. A pinned key that cannot be decoded <bcp14>MUST</bcp14> be reported as a verifier configuration fault rather than as a mismatch, and where no pinned key decodes, the verifier <bcp14>MUST NOT</bcp14> fall back to the keys the objects carry.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-12</td>
              <td align="left">A verifier <bcp14>MUST</bcp14> accept an issuer, publisher, witness, or rail root comprising more than one key, so that a key rotation inside the audited window does not require it to abandon pinning.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-13</td>
              <td align="left">A payee countersignature <bcp14>MUST NOT</bcp14> be treated as evidence of payee approval unless it verifies against a payee key the verifier obtained out of band.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-14</td>
              <td align="left">Where a verifier has pinned a key for a payee, a settled receipt naming that payee and carrying no attributable countersignature <bcp14>MUST</bcp14> be reported, so that deleting the evidence - or substituting an unattributable object for it - does not delete the question.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-15</td>
              <td align="left">A verifier that is presented with a Trade Manifest <bcp14>MUST</bcp14> obtain the publisher public key out of band and <bcp14>MUST</bcp14> verify the manifest signature against that key, not against a key the manifest carries. A pin that cannot be read <bcp14>MUST</bcp14> be reported as <tt>trust-key-unreadable</tt>; a readable pin the manifest does not answer to <bcp14>MUST</bcp14> be reported as <tt>manifest-key-mismatch</tt> and <bcp14>MUST</bcp14> fail the audit. A verifier without such a key that is presented with a Trade Manifest <bcp14>MUST</bcp14> report the completeness guarantee as conditional. An audit presented with no Trade Manifest is not made conditional by this requirement.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-16</td>
              <td align="left">A policy decision point presented with a Trade Manifest it cannot verify against a key supplied out of band <bcp14>MUST</bcp14> refuse the payment. Settling and reporting the doubt afterwards is not available to it: the receipt carries the manifest hash as terms the named party agreed to.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-17</td>
              <td align="left">A verifier presented with a Trade Manifest <bcp14>MUST</bcp14> compare the manifest hash against the <tt>manifestHash</tt> of the receipts presented to the audit, including aborted ones, before any extract window is applied and before any issuer key is applied, and <bcp14>MUST</bcp14> report a presented manifest that no presented receipt references. Verifying who published the terms does not establish that any receipt names them, and whether a hash appears is a question a verifier can answer from a document nobody vouches for. An audit presented with no Trade Manifest is not made conditional by this requirement.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-18</td>
              <td align="left">A decoder <bcp14>MUST</bcp14> refuse a CBOR map that carries a duplicate encoded key. The encoding rules forbid producing one; accepting one accepts a document no conforming encoder can produce, and leaves two decoders free to disagree about which value was signed.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-19</td>
              <td align="left">A decoder <bcp14>MUST</bcp14> impose a bound on encoded size, nesting depth, and the number of elements it will decode from an audit input, and <bcp14>MUST</bcp14> refuse an input that exceeds a bound with a named refusal rather than by exhausting memory or the stack. It <bcp14>SHOULD</bcp14> document the bounds it applies. This document fixes no numbers: the bound is deployment policy, the named refusal is not.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-20</td>
              <td align="left">A verifier that receives a JSON document as text <bcp14>MUST</bcp14> refuse a text in which any object repeats a member name, by name (<tt>json-duplicate-key</tt>), before parsing it. <xref target="RFC8785"/> takes I-JSON as its input, and a parser that keeps either value has already discarded the evidence of the other, so two verifiers could canonicalize different documents from one text. A verifier handed an object rather than text cannot apply this rule and <bcp14>MUST NOT</bcp14> report that it did.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T4-21</td>
              <td align="left">A decoder <bcp14>MUST</bcp14> refuse a COSE_Sign1 message whose unprotected header is not an empty map, by name (<tt>cose-sign1-unprotected</tt>), rather than verifying the signature and ignoring the header. The digests of <xref target="hash-inputs"/> cover the unprotected header and the signature does not; ignoring it lets an honestly signed object carry a digest its signer never produced.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t5-policy-bypass-via-direct-rail-access">
        <name>T5: Policy bypass via direct rail access</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T5-1</td>
              <td align="left">The agent-facing spend interface <bcp14>MUST</bcp14> invoke the PDP and <bcp14>MUST NOT</bcp14> expose a parallel ungated rail call to the model.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T5-2</td>
              <td align="left">Rail credentials, wallet handles, and facilitator tokens <bcp14>MUST NOT</bcp14> be placed in tool results or prompts.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T5-3</td>
              <td align="left">Hosts <bcp14>SHOULD</bcp14> run the PDP and signing keys in a process the model runtime cannot write.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T5-4</td>
              <td align="left">A deployment <bcp14>MAY</bcp14> use OS or hardware isolation between the model and the PDP.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t6-toctou-between-policy-check-and-payment">
        <name>T6: TOCTOU between policy check and payment</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T6-1</td>
              <td align="left">Payment settlement <bcp14>MUST</bcp14> use the same six <tt>requestHash</tt> fields the PDP evaluated: amount, currency, payee, tool, nonce, and <tt>manifestHash</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T6-2</td>
              <td align="left">An allow decision <bcp14>MUST</bcp14> be consumed on the first settlement attempt, success or fail-closed abort, and <bcp14>MUST NOT</bcp14> authorize a later different request.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T6-3</td>
              <td align="left">Implementations <bcp14>SHOULD</bcp14> treat a decision older than a short TTL as expired.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T6-4</td>
              <td align="left">An allow Decision Token <bcp14>MUST</bcp14> be COSE_Sign1 with CWT private-use labels -70301..-70305 (<tt>requestHash</tt>, <tt>policyHash</tt>, <tt>expiryMs</tt>, <tt>nonce</tt>, <tt>singleUseId</tt>) and content type <tt>application/cedulon-decision+cbor</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T6-5</td>
              <td align="left">A party that accepts a Decision Token <bcp14>MUST</bcp14> reject a failed signature, a <tt>kid</tt> or content-type mismatch, a claim-map mismatch, or an expired <tt>expiryMs</tt>. The token is expired when the evaluation time is strictly greater than <tt>expiryMs</tt>; at exactly <tt>expiryMs</tt> it is not.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T6-6</td>
              <td align="left">A consumer of a Decision Token <bcp14>MUST</bcp14> verify it against its own issuing key and <bcp14>MUST NOT</bcp14> accept a token it cannot check that way. The consumer issued the token, so asking the token which key to check it against is a question that answers itself.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t7-signing-key-leakage">
        <name>T7: Signing-key leakage</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T7-1</td>
              <td align="left">Secret key material <bcp14>MUST NOT</bcp14> appear in receipts, checkpoints, manifests, decision tokens, logs, or example output.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T7-2</td>
              <td align="left">Example and test keys <bcp14>MUST</bcp14> be generated at runtime or stored as clearly fake fixtures, never as production secrets.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T7-3</td>
              <td align="left">Production deployments <bcp14>SHOULD</bcp14> use an HSM or OS key store and <bcp14>SHOULD</bcp14> rotate keys.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T7-4</td>
              <td align="left">Implementations <bcp14>MAY</bcp14> encrypt keys at rest.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T7-5</td>
              <td align="left">An implementation that stores a signing key in the clear <bcp14>MUST</bcp14> report the protection it actually obtained, measured from the stored object rather than derived from the platform. A mount that ignores filesystem permissions accepts the call and protects nothing.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T7-6</td>
              <td align="left">A writable directory anywhere on the path to a stored signing key makes the file permission moot, and a symbolic link on that path hands the destination to whoever placed it. An implementation <bcp14>MUST</bcp14> refuse both rather than report the key as protected.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t8-counterparty-price-gouging-or-defective-delivery">
        <name>T8: Counterparty price gouging or defective delivery</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-1</td>
              <td align="left">A Trade Manifest <bcp14>MUST</bcp14> bind goods or service description, price, currency, acceptance-criteria hash, cancel condition, and expiry.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-2</td>
              <td align="left">A spend bound to a manifest <bcp14>MUST</bcp14> be denied if the requested amount or currency differs from the manifest. Amount and currency are compared as the exact octets of their text strings: no case folding, no Unicode normalisation, no numeric reinterpretation. The amount syntax already forbids the leading zero that would make two spellings of one number, and a verifier that folds case to accept a currency accepts a token the issuer did not write.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-3</td>
              <td align="left">If delivery bytes do not hash to the acceptance-criteria hash, the implementation <bcp14>MUST</bcp14> be able to produce a Dispute Evidence Bundle containing the manifest, the spend receipt, and the delivery hash.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-4</td>
              <td align="left">The Dispute Evidence Bundle <bcp14>MUST NOT</bcp14> be described as an arbitral award or escrow release.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-7</td>
              <td align="left">
                <tt>manifestHash</tt> <bcp14>MUST</bcp14> be the SHA-256 of the signed Trade Manifest COSE bytes and <bcp14>MUST NOT</bcp14> include the issuer public key encoding.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T8-5</td>
              <td align="left">Manifests <bcp14>SHOULD</bcp14> reference an AP2 mandate hash when one exists.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T8-6</td>
              <td align="left">Parties <bcp14>MAY</bcp14> add an optional escrow actor as a third-party role interface; this project <bcp14>MUST NOT</bcp14> implement custody.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-custody</td>
              <td align="left">Implementations of this specification <bcp14>MUST NOT</bcp14> take custody of funds or operate escrow.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-8</td>
              <td align="left">If a payee countersignature is present, a verifier <bcp14>MUST</bcp14> reject it when the signature fails, when <tt>kid</tt> or content type does not match the configured payee key, or when the payload is not the issuer COSE_Sign1 bytes.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T8-9</td>
              <td align="left">A verifier presented with a Trade Manifest <bcp14>MUST</bcp14> compare the amount, currency and settlement time of every receipt that names it, aborted ones included, against the manifest amount, currency and expiry - amount and currency on the exact-octet terms of <tt>MUST-T8-2</tt>, time on the boundary of <tt>MUST-T3-3</tt>, and, where the manifest names a <tt>payee</tt>, the receipt payee on the same exact-octet terms - and <bcp14>MUST</bcp14> report a receipt that departs from them. Where a usable issuer key is pinned (a pinned issuer root at least one of whose keys the verifier can decode), the comparison is made over the receipts that verify under it and a departure <bcp14>MUST</bcp14> fail the audit. Where no usable issuer key is pinned, the departure <bcp14>MUST</bcp14> still be reported and <bcp14>MUST NOT</bcp14> by itself fail the audit: this requirement charges a party with departing from terms it signed, and a charge that no key stands behind is one a forged receipt can invent against an honest payer. This differs from <tt>MUST-T4-17</tt> on purpose. That requirement asks whether terms were named, which an unattributable document can answer; this one makes an accusation, which it cannot. <tt>MUST-T8-2</tt> and <tt>MUST-T3-3</tt> bind the gate; an audit reads the record after the gate is gone, so without this the receipt can carry the hash of terms it breaks. Receipts that do not name the manifest are not measured against it. A Trade Manifest that a stated publisher pin refuses is not terms for this purpose: where the verifier reports <tt>manifest-key-mismatch</tt>, it <bcp14>MUST NOT</bcp14> read a charge out of that document's body, neither this comparison nor the acceptance-hash comparison of <xref target="countersign"/>. The refusal is the finding; a document the audit has just rejected must not also be the evidence it convicts with, on the same reasoning that keeps an unattributable countersignature from turning a negative result.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T8-10</td>
              <td align="left">A payee <bcp14>MAY</bcp14> attach a detached COSE_Sign1 countersignature over the issuer receipt bytes. Absence <bcp14>MUST NOT</bcp14> invalidate the issuer receipt. -04 numbered this requirement <bcp14>MAY</bcp14>-T8-9, colliding with <bcp14>MUST</bcp14>-T8-9; the number is corrected and the requirement text is unchanged.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T8-11</td>
              <td align="left">An attributable countersignature <bcp14>MAY</bcp14> carry <tt>deliveredHash</tt>. When present and the verifier holds the Trade Manifest, the verifier <bcp14>MUST</bcp14> compare it against <tt>acceptanceCriteriaHash</tt> as exact octets and <bcp14>MUST</bcp14> report a mismatch as a failing finding (<tt>delivery-mismatch</tt>): both ends of that comparison are signed. A <tt>deliveredHash</tt> on an unattributable countersignature <bcp14>MUST</bcp14> be discarded with it.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="must-t8-custody">
        <name>MUST-T8-custody</name>
        <t>Implementations of this specification <bcp14>MUST NOT</bcp14> take custody of
funds or operate escrow. See also <xref target="escrow-role"/>.</t>
      </section>
      <section anchor="t9-pii-leakage-into-the-transparency-log">
        <name>T9: PII leakage into the transparency log</name>
        <t>See also <xref target="privacy"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T9-1</td>
              <td align="left">A transparency encoding <bcp14>MUST</bcp14> support omitting or hashing payer/payee identifiers and <bcp14>MUST</bcp14> support amount redaction or range/bucket encoding.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T9-2</td>
              <td align="left">Implementations <bcp14>MUST NOT</bcp14> write raw government-ID, payment-instrument PAN, or street address fields into a public transparency statement.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T9-3</td>
              <td align="left">Default public anchors <bcp14>SHOULD</bcp14> publish <tt>policyHash</tt>, <tt>manifestHash</tt>, <tt>receiptHash</tt>, and timestamp rather than full claim sets.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T9-4</td>
              <td align="left">A private auditor <bcp14>MAY</bcp14> receive an unredacted receipt out of band.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T9-5</td>
              <td align="left">A checkpoint discloses a per-currency window total, which the receipt-field rules above do not cover. Withholding it is governed by <bcp14>MUST</bcp14>-T11-12 and <bcp14>MUST</bcp14>-T11-13: null in the signed payload, and no other form of redaction honoured.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="t10-secret-spend-via-rail-bypass">
        <name>T10: Secret spend via rail bypass</name>
        <t>See <xref target="reconciliation"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-1</td>
              <td align="left">A verifier <bcp14>MUST</bcp14> match each extract settlement to a settled receipt on <tt>ref</tt> AND <tt>amount</tt> AND <tt>currency</tt>. An audit presented with no extract, no receipts and no checkpoints reports no completeness finding: there is nothing to be complete about. It is not thereby unconditional, and the warnings for the roots it was not given still apply.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-2</td>
              <td align="left">A settlement with no matching receipt <bcp14>MUST</bcp14> be reported as a completeness failure identified by that settlement <tt>ref</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-3</td>
              <td align="left">A settled Spend Receipt whose <tt>x402PaymentRef</tt> is not on the extract <bcp14>MUST</bcp14> be reported as a completeness failure.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-4</td>
              <td align="left">An audit that has any fail-severity completeness finding <bcp14>MUST</bcp14> fail (non-zero status in the companion tool).</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T10-5</td>
              <td align="left">Hosts <bcp14>SHOULD</bcp14> still apply T5 (no ungated rail in the model process). Completeness does not replace prevention.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-6</td>
              <td align="left">A <tt>ref</tt> that appears more than once among settled receipts or among extract rows <bcp14>MUST</bcp14> be reported as <tt>duplicate-ref</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-7</td>
              <td align="left">A verifier <bcp14>MUST</bcp14> obtain the extract from the rail or from a rail signature. With no pinned rail key the extract <bcp14>MUST</bcp14> be reported as <tt>unauthenticated-extract</tt>, whatever it carries, and the completeness guarantee is conditional: a signature that verifies against the carried key establishes internal consistency and not origin, and one that fails or is refused is not a verdict about a key either. With a pinned key, see <bcp14>MUST</bcp14>-T10-8: the extract <bcp14>MUST</bcp14> fail closed rather than warn.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-8</td>
              <td align="left">A verifier <bcp14>MUST</bcp14> obtain the rail public key out of band and <bcp14>MUST</bcp14> verify the extract signature against that key. A key the extract carries <bcp14>MUST NOT</bcp14> be treated as the rail's identity and <bcp14>MUST NOT</bcp14> stand in for a key the verifier did not obtain; a signature checked against it establishes internal consistency only. Without such a key the guarantee is conditional and the condition is reported as <tt>unauthenticated-extract</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-9</td>
              <td align="left">Keys <bcp14>MUST</bcp14> be compared by SubjectPublicKeyInfo DER encoding rather than by any text encoding. A pinned key that cannot be decoded <bcp14>MUST</bcp14> be reported as <tt>trust-key-unreadable</tt>, not as a key mismatch.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-10</td>
              <td align="left">Every settlement record whose <tt>timestampMs</tt> falls outside the extract's declared window <bcp14>MUST</bcp14> be reported as <tt>extract-scope-mismatch</tt>, identified by that record's <tt>ref</tt>. This check <bcp14>MUST</bcp14> run whether or not a key is pinned.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-11</td>
              <td align="left">When the verifier states an expected account, rail, or window, an extract that does not cover it <bcp14>MUST</bcp14> fail closed as <tt>extract-scope-mismatch</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-12</td>
              <td align="left">When an extract is supplied, the records it carries are the subject of reconciliation. A settlement list from another source <bcp14>MUST NOT</bcp14> be substituted; a disagreeing list <bcp14>MUST</bcp14> be reported as <tt>extract-settlement-mismatch</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-13</td>
              <td align="left">A <tt>ref</tt> reported as <tt>duplicate-ref</tt> <bcp14>MUST</bcp14> still be reconciled by aggregate amount per currency, and a shortfall <bcp14>MUST</bcp14> state the unaccounted amount. An unparseable amount <bcp14>MUST</bcp14> be reported as <tt>malformed-amount</tt> without aborting the audit.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-14</td>
              <td align="left">An implementation <bcp14>MUST</bcp14> surface the guarantee and any warnings in any human-readable audit report it produces, not only in a returned structure.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-15</td>
              <td align="left">A verifier that has not stated the period under audit <bcp14>MUST</bcp14> emit <tt>unstated-audit-window</tt> and <bcp14>MUST</bcp14> treat the guarantee as conditional, because an unstated period leaves the extract free to define its own.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-16</td>
              <td align="left">When an extract is supplied, a receipt whose <tt>ref</tt> appears on it is reconciled against it regardless of its own <tt>timestampMs</tt>; the window sieve applies only to receipts the extract does not name, and such a receipt outside the window <bcp14>MUST NOT</bcp14> be reported as a completeness failure against that extract.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-17</td>
              <td align="left">An unmatched settled receipt within the declared <tt>clockSkewMs</tt> of <tt>windowEndMs</tt>, and an unmatched settlement record within it of <tt>windowStartMs</tt>, <bcp14>MUST</bcp14> be reported as <tt>boundary-deferred</tt>, a warning, rather than as a completeness failure. A closing-edge deferral resolves against the following window's extract and hardens into the completeness finding when that extract is presented and does not name the <tt>ref</tt>; an opening-edge deferral resolves only against a receipt in the presented bag that names its <tt>ref</tt>, and a following extract does not harden it. Absent a declared <tt>clockSkewMs</tt>, the profile default of 300000 milliseconds applies.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-18</td>
              <td align="left">A verifier that has not stated the account or the rail under audit <bcp14>MUST</bcp14> emit <tt>unstated-audit-scope</tt> and <bcp14>MUST</bcp14> treat the guarantee as conditional, because an unstated account or rail leaves the extract free to define the settlement path it reports on, exactly as an unstated period leaves it free to define the period (<tt>MUST-T10-15</tt>).</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-19</td>
              <td align="left">A report <bcp14>MUST</bcp14> name the account, rail and window the extract declared, in the printed report, in the finding object it returns, and in every other structure the implementation returns for that audit, a tool result or an export included. A balanced result under an unconditional guarantee is a statement about one account on one rail over one window; an account that can settle on a second rail has a settlement path outside that population, and a report that does not name its own scope cannot be distinguished from one that covers every path. Where no extract was presented there is no declared population, and the structure names none.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T10-20</td>
              <td align="left">Where a stated rail pin refuses the presented extract and the verifier reports <tt>extract-key-mismatch</tt>, the verifier <bcp14>MUST NOT</bcp14> read a settlement finding out of that document's body: not a mismatch against a receipt, not money reported as unaccounted for, and not a receipt left unmatched by rows the refused document omits. The refusal is the finding. This is <tt>MUST-T8-9</tt>'s rule for a refused Trade Manifest, on the money axis and for the same reason: a charge that no key stands behind is one a forged extract can invent against an honest payer, and a document the audit has just rejected must not also be the evidence it convicts with. Because a reader cannot otherwise tell a comparison that found nothing from one that never ran, the verifier <bcp14>MUST</bcp14> report <tt>settlement-comparison-skipped</tt> in the same result. A pinned key the verifier cannot decode is <tt>trust-key-unreadable</tt> and is not a refusal of the document, so it does not reach this requirement.</td>
            </tr>
          </tbody>
        </table>
        <t>In <bcp14>MUST</bcp14>-T10-4, a completeness finding that makes the audit fail is
distinct from a warning that only makes the guarantee conditional.
The verification algorithm states that distinction by behaviour
(<xref target="reconciliation"/>).</t>
      </section>
      <section anchor="t11-checkpoint-suppression-or-rollback">
        <name>T11: Checkpoint suppression or rollback</name>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-1</td>
              <td align="left">An epoch checkpoint <bcp14>MUST</bcp14> be COSE-signed and <bcp14>MUST</bcp14> bind epoch number, time window, receipt count, chain-head hash, per-currency totals, and the previous checkpoint hash.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-2</td>
              <td align="left">Verifiers <bcp14>MUST</bcp14> reject a checkpoint whose signature fails, whose totals do not match settled receipts in the declared window, whose <tt>receiptCount</tt> is wrong, or whose <tt>chainHeadHash</tt> is not the hash of the last in-window receipt in issuer order (the <tt>prevReceiptHash</tt> chain). Where the signed totals are null, <bcp14>MUST</bcp14>-T11-12 governs instead: there is no total to disagree with, the comparison is reported as skipped, and the count and chain-head checks still apply.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-3</td>
              <td align="left">Two verified checkpoints for the same epoch with different hashes <bcp14>MUST</bcp14> be reported as equivocation. The checkpoints compared are those presented together with those carried by verified witness receipts; the presented chain alone cannot satisfy this requirement, because <bcp14>MUST</bcp14>-T11-8 makes its epochs consecutive.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-4</td>
              <td align="left">A broken checkpoint hash chain <bcp14>MUST</bcp14> fail verification.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>SHOULD</bcp14>-T11-5</td>
              <td align="left">Checkpoints <bcp14>SHOULD</bcp14> be registered with a Transparency Service when one is configured.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MAY</bcp14>-T11-6</td>
              <td align="left">A test deployment <bcp14>MAY</bcp14> use an in-process append-only log as the witness.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-7</td>
              <td align="left">Checkpoint windows <bcp14>MUST</bcp14> be half-open <tt>[startMs, endMs)</tt>. Every chained receipt <bcp14>MUST</bcp14> fall in exactly one window.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-8</td>
              <td align="left">Presented checkpoint epochs <bcp14>MUST</bcp14> be consecutive and adjacent windows <bcp14>MUST</bcp14> meet at <tt>endMs = next.startMs</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-9</td>
              <td align="left">Prefix-deletion and suppression claims that go beyond the presented chain are conditional on an external transparency witness. A report <bcp14>MUST NOT</bcp14> present a completeness guarantee as settling suppression when no witness was consulted.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-10</td>
              <td align="left">Witness receipts are an optional, separate input. A verifier given none <bcp14>MUST</bcp14> behave as it did without this input. A receipt <bcp14>MUST</bcp14> have its signature verified before it counts for anything. Where a receipt also carries the statement body, that body <bcp14>MUST NOT</bcp14> be relied on unless its statement hash equals the one the receipt binds and it verifies as a checkpoint; a discarded body does not discard its receipt.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-11</td>
              <td align="left">A verified receipt binding a checkpoint absent from the presented chain <bcp14>MUST</bcp14> be reported as a withheld checkpoint, and <bcp14>MUST NOT</bcp14> be reported as a window coverage failure. A presented checkpoint with no verified receipt, where a witness was supplied, <bcp14>MUST</bcp14> be reported and makes the guarantee conditional.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-12</td>
              <td align="left">Withheld checkpoint totals <bcp14>MUST</bcp14> be encoded as null in the signed payload. A verifier <bcp14>MUST</bcp14> report that the totals comparison was skipped and <bcp14>MUST</bcp14> treat the guarantee as conditional; <tt>receiptCount</tt> and <tt>chainHeadHash</tt> <bcp14>MUST</bcp14> still be checked.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-13</td>
              <td align="left">A redaction asserted outside the signed payload <bcp14>MUST NOT</bcp14> be honoured, and structural claims <bcp14>MUST NOT</bcp14> be redacted. A checkpoint that fails verification <bcp14>MUST NOT</bcp14> be treated as redacted.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-14</td>
              <td align="left">An epoch checkpoint <bcp14>MUST</bcp14> be registrable as a Signed Statement carrying the checkpoint COSE object with content type <tt>application/cedulon-checkpoint+cbor</tt>.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-15</td>
              <td align="left">A verifier <bcp14>MUST</bcp14> obtain the transparency service public key out of band and <bcp14>MUST</bcp14> verify inclusion receipts against it. Receipts that cannot be checked that way <bcp14>MUST NOT</bcp14> be used as evidence in either direction, and the verifier <bcp14>SHOULD</bcp14> report that they were left out.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-16</td>
              <td align="left">A statement held by a pinned log <bcp14>MUST</bcp14> additionally verify against the issuer root before it counts as something that issuer published, so that another user's epoch in a shared log is not read as equivocation by this issuer.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-17</td>
              <td align="left">An inclusion receipt carrying no statement body <bcp14>MUST NOT</bcp14> be used to report a withheld checkpoint, because it cannot say whose statement it binds. It <bcp14>MUST NOT</bcp14> be discarded silently either: a real withholding must not be buried by removing the body.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-18</td>
              <td align="left">Where candidate Signed Statement bytes and an inclusion proof are both supplied, a verifier <bcp14>MUST</bcp14> verify log membership by the mechanics of RFC 9942 Section 5.2.1 and <bcp14>MUST</bcp14> accept only when the leaf hash, leaf index, and reproduced root exactly match a witness receipt that verifies under the pinned witness key. Root reproduction alone is not acceptance. A pair that fails, or a candidate supplied without a proof, <bcp14>MUST</bcp14> be reported as a failing finding.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T11-19</td>
              <td align="left">Where witness receipts are supplied and the tier-2 pair is not, the report <bcp14>MUST</bcp14> state that log membership was not exercised rather than passing the tier silently.</td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt>Issuer self-attestation:</dt>
          <dd>
            <t>A Receipt Issuer that also produces the only copy of the extract
can omit settlements. Completeness holds only against an
extract the verifier obtained from the rail or from a rail
signature.</t>
          </dd>
          <dt>Key rotation and revocation:</dt>
          <dd>
            <t><tt>kid</tt> identifies the verification key. This -09 does not specify
a revocation list. Verifiers <bcp14>MUST</bcp14> pin the issuer keys they
accept and <bcp14>MUST</bcp14> stop accepting a <tt>kid</tt> after an authenticated
revocation signal.</t>
          </dd>
          <dt>Timestamp trust:</dt>
          <dd>
            <t><tt>timestampMs</tt> is issuer-asserted. Window assignment uses that
field. A lying issuer can slide a receipt between windows.
External timestamping of receipts is out of scope for this revision; the
checkpoint witness covers checkpoints, not receipt
timestamps.</t>
          </dd>
          <dt>Collusion:</dt>
          <dd>
            <t>If the rail operator and the issuer collude, they can publish a
matching extract and receipt set that hides a real-world
settlement. Cedulon does not detect extract-external agreement.</t>
          </dd>
          <dt>Reversal, refund, and partial settlement:</dt>
          <dd>
            <t>State machines for reversal, refund, and partial settlement are
out of scope for this revision.</t>
          </dd>
        </dl>
      </section>
      <section anchor="escrow-role">
        <name>Optional escrow role</name>
        <t>Parties <bcp14>MAY</bcp14> name an escrow actor in a Trade Manifest as a
third-party role that holds funds under rules outside this protocol
(<tt>MAY-T8-6</tt>). Implementations of this specification <bcp14>MUST NOT</bcp14> take
custody or operate escrow (<tt>MUST-T8-custody</tt>).</t>
      </section>
      <section anchor="t12-settlement-without-a-recorded-receipt">
        <name>T12: Settlement without a recorded receipt</name>
        <t>The threats above are about a counterparty, a rail or an attacker.
This one is about the issuer's own implementation, and it produces
exactly the condition the rest of this document exists to make
detectable.</t>
        <t>An issuer that settles a payment, appends the receipt in memory and
then persists its state has three steps where it could have two
outcomes. If the write fails, the rail holds a settlement and the
receipt exists nowhere durable. The next start reads a state that
does not contain it, and the audit in <xref target="reconciliation"/> reports
<tt>settlement-without-receipt</tt> against an honest issuer that did
everything its own policy asked. The evidence is missing because the
issuer lost it, not because anyone hid it, and nothing in the report
can tell those apart.</t>
        <table>
          <thead>
            <tr>
              <th align="left">ID</th>
              <th align="left">Requirement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T12-1</td>
              <td align="left">An issuer <bcp14>MUST NOT</bcp14> complete a settlement whose receipt it cannot record durably. The ability to record <bcp14>MUST</bcp14> be established before value moves, not after.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T12-2</td>
              <td align="left">Where a settlement has been made and its record cannot be completed, the issuer <bcp14>MUST</bcp14> undo the settlement in every place it still controls: in memory, on the rail ledger it controls, and in any later write it has not yet issued. A refused payment <bcp14>MUST NOT</bcp14> consume the nonce or the payment allowance it never used.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T12-3</td>
              <td align="left">Two issuers <bcp14>MUST NOT</bcp14> share one durable state. An implementation that permits it <bcp14>MUST</bcp14> fail loudly rather than let one writer overwrite the other's receipt, and the failure <bcp14>MUST</bcp14> name what an operator can act on.</td>
            </tr>
            <tr>
              <td align="left">
                <bcp14>MUST</bcp14>-T12-4</td>
              <td align="left">Where a settlement has entered a rail the issuer does not control, and the local record cannot be completed, the outcome is indeterminate. The issuer <bcp14>MUST NOT</bcp14> treat the payment as reversed, and <bcp14>MUST NOT</bcp14> return the authority to spend, unless it holds authenticated evidence that the rail did not complete the settlement or that a reversing entry completed.</td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt>Ordering:</dt>
          <dd>
            <t>Settle-then-record is the natural order to write and the wrong one
to ship. The record is what makes the settlement accountable, so the
record is what has to be secured first (<tt>MUST-T12-1</tt>), and a
settlement that cannot be recorded has to be undone everywhere the
issuer still controls, including the nonce and the allowance it
never used (<tt>MUST-T12-2</tt>). That undo is what the in-process
<tt>RailLedger</tt> and the session tests measure. Once value has entered a
rail the issuer does not control, a local snapshot cannot retract it.
Persistence failing after that point leaves the outcome
indeterminate; authority is not returned without authenticated
evidence that the rail did not complete the settlement or that a
reversing entry did (<tt>MUST-T12-4</tt>).</t>
          </dd>
          <dt>Recovery:</dt>
          <dd>
            <t>A durable-state conflict is not necessarily fatal, but it <bcp14>MUST NOT</bcp14>
be silent, and an implementation that refuses every subsequent
write without offering a way back has turned a recoverable
condition into an outage. The reason reported has to separate the
cases an operator would act on differently (<tt>MUST-T12-3</tt>): a write
that conflicted with another writer, a write that failed, and a
state another process is holding. A single opaque failure leaves the
operator to guess which of those happened.</t>
          </dd>
          <dt>Observability:</dt>
          <dd>
            <t>A violation of this threat is not visible in the evidence a verifier
receives. The audit sees a settlement with no receipt and reports
<tt>settlement-without-receipt</tt>, which is the same finding an adversary
would produce, and nothing in the extract or the receipt set
distinguishes an issuer that lost the evidence from one that hid it.
That is why the requirements here fall on the issuer rather than on
the verifier, and why an operator-facing reason is required rather
than optional.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document requests the registration of six media types in the
"Media Types" registry <xref target="RFC6838"/>, in the standards tree, each
carrying the <tt>+cbor</tt> structured syntax suffix that <xref target="RFC8949"/>
registers. Each names one of the COSE_Sign1 objects this document
defines and is carried as the COSE <tt>content type</tt> header parameter
(label 3) of that object (<xref target="cose-profile"/>). The value is a normative
check inside a protected header (<tt>MUST-T4-8</tt>, <tt>MUST-T6-5</tt>), which is
why the names cannot stay unregistered while that check stands.
Registration in the standards tree requires IETF approval; until
then, an implementation outside a closed deployment should treat
these names as placeholders that a registration may change. The
provisional registration procedure of <xref target="RFC6838"/> Section 5.2.1 is
available to an Internet-Draft, and a provisional entry, if one is
made, is superseded by the registration this section requests.</t>
      <t>The claim labels this document assigns inside the CBOR claim sets,
<tt>-70001</tt> through <tt>-70402</tt> (<xref target="receipt-labels"/>, <xref target="countersign"/>), lie
in the Private Use range of the "CBOR Web Token (CWT) Claims"
registry <xref target="RFC8392"/>, integer values less than -65536, and this
document requests no assignment for them. A later Standards Track
revision that moves them into the assigned range will request new
labels then, without reinterpreting these.</t>
      <t>No other IANA action is requested.</t>
      <t>The six templates follow. Fields that are the same for every one
are stated once, in the first, and the others say so.</t>
      <section anchor="iana-receipt">
        <name>application/cedulon-receipt+cbor</name>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>cedulon-receipt+cbor</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>binary. A COSE_Sign1 structure <xref target="RFC9052"/> in deterministic CBOR
<xref target="RFC8949"/>, untagged, as profiled in <xref target="spend-receipt"/> and
<xref target="cose-profile"/>.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document. The object is signed; its
evidentiary weight depends on the verifier holding the issuer key
out of band (<xref target="issuer-root"/>), never on a key the object carries.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>The claim set is a CBOR map with the labels and types stated in
<xref target="receipt-labels"/>, encoded per <xref target="RFC8949"/> Section 4.2.1. A
decoder refuses a duplicate key (<tt>MUST-T4-18</tt>), an input beyond its
stated bounds (<tt>MUST-T4-19</tt>), and a non-empty unprotected header
(<tt>MUST-T4-21</tt>) by name rather than accepting it.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="spend-receipt"/>.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Agent payment adapters, policy decision points, auditors, and
dispute-evidence tooling that produce or verify Cedulon Spend
Receipts.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <t>Deprecated alias names for this type: N/A. Magic number(s): N/A.
File extension(s): N/A. Macintosh file type code(s): N/A.</t>
          </dd>
          <dt>Person and email address to contact for further information:</dt>
          <dd>
            <t>Emek Can Dogru, e.dogru@cedulon.com</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>Emek Can Dogru</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-checkpoint">
        <name>application/cedulon-checkpoint+cbor</name>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>cedulon-checkpoint+cbor</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary. A COSE_Sign1 structure in deterministic CBOR, untagged, as
profiled in <xref target="redaction"/> and <xref target="cose-profile"/>; the same object is
the payload of the Signed Statement <xref target="anchoring"/> registers.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document. A checkpoint carries the
suppression guarantee for its window (<xref target="witness"/>). Its evidentiary
weight depends on a pinned issuer key (<xref target="issuer-root"/>) and never on
the key it carries; where no such key is held the signature is still
checked against the carried key, which establishes internal
consistency only.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor; the labels are those of
the checkpoint table in <xref target="receipt-labels"/>, and <tt>totals</tt> signed as
null is a redaction, not a malformed claim.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="redaction"/>.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor, and transparency witnesses
that co-sign or register checkpoints.</t>
          </dd>
          <dt>Required parameters, optional parameters, fragment identifier considerations, additional information, contact, intended usage, restrictions on usage, author, change controller:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor.</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-manifest">
        <name>application/cedulon-manifest+cbor</name>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>cedulon-manifest+cbor</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary. A COSE_Sign1 structure in deterministic CBOR, untagged, as
profiled in <xref target="trade-manifest"/> and <xref target="cose-profile"/>.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document. A manifest is an offer signed
before payment; it binds terms, not delivery, and is verified only
against a publisher key held out of band (<xref target="manifest-root"/>).</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor; the labels are those of
the manifest table in <xref target="receipt-labels"/>, and the <tt>payee</tt> label is
encoded only when present.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="trade-manifest"/>.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Payees and marketplaces that publish signed offers to paying
agents, and verifiers reconciling receipts against those offers.</t>
          </dd>
          <dt>Required parameters, optional parameters, fragment identifier considerations, additional information, contact, intended usage, restrictions on usage, author, change controller:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor.</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-decision">
        <name>application/cedulon-decision+cbor</name>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>cedulon-decision+cbor</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary. A COSE_Sign1 structure in deterministic CBOR, untagged, as
profiled in <xref target="decision-token"/> and <xref target="cose-profile"/>.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document. A Decision Token is consumed at
the gate by the party that issued it (<xref target="decision-root"/>); it is not
an input to the retrospective audit (<xref target="verification"/>), and a
verifier that treated it as one would be claiming a check the audit
does not make.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor; the labels are those of
the Decision Token table in <xref target="receipt-labels"/>, all five always
present.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="decision-token"/>.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Policy decision points and the payment adapters that consume their
allow decisions.</t>
          </dd>
          <dt>Required parameters, optional parameters, fragment identifier considerations, additional information, contact, intended usage, restrictions on usage, author, change controller:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor.</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-countersign">
        <name>application/cedulon-countersign+cbor</name>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>cedulon-countersign+cbor</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary. A detached COSE_Sign1 structure in deterministic CBOR,
untagged, as profiled in <xref target="countersign"/>, whose payload carries the
exact issuer receipt octets it countersigns.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document. A countersignature that does
not verify under a payee key held out of band carries no
evidentiary weight and cannot move the verdict on the receipt it
travels beside (<xref target="countersign"/>, <xref target="payee-root"/>).</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor; the optional
<tt>deliveredHash</tt> claim is a 32-octet byte string and is read as
absent when it is not.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="countersign"/>.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Payees that acknowledge a receipt and, optionally, bind the bytes
they delivered.</t>
          </dd>
          <dt>Required parameters, optional parameters, fragment identifier considerations, additional information, contact, intended usage, restrictions on usage, author, change controller:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor.</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-inclusion">
        <name>application/cedulon-inclusion+cbor</name>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>cedulon-inclusion+cbor</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary. A COSE_Sign1 structure in deterministic CBOR, untagged, as
profiled in <xref target="cose-profile"/>, whose payload is the three-entry map
<xref target="witness"/> states: statement hash, entry index, tree head.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document. A witness receipt verified under
the key it carries establishes that some log is internally
consistent and nothing about which log; it carries evidentiary
weight only under a witness key held out of band (<xref target="witness-root"/>,
<tt>MUST-T11-15</tt>). It attests a statement hash, not membership in an
append-only log; membership is tier 2 of <xref target="witness"/> and needs the
candidate statement and an inclusion proof beside the receipt.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor, except that the payload is
not a CWT claim set: its three labels are local to the map and are
stated, with their types, in <xref target="witness"/>.</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="witness"/>.</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Transparency witnesses that co-sign the statements they record, and
verifiers that hold witness receipts for a period under audit.</t>
          </dd>
          <dt>Required parameters, optional parameters, fragment identifier considerations, additional information, contact, intended usage, restrictions on usage, author, change controller:</dt>
          <dd>
            <t>As for application/cedulon-receipt+cbor.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="impl-status">
      <name>Implementation Status</name>
      <t>This section is to be removed before publishing as an RFC.</t>
      <t>RFC 7942 <xref target="RFC7942"/> note.</t>
      <dl>
        <dt>Implementation:</dt>
        <dd>
          <t>A companion implementation with a runnable verification suite at
<eref target="https://github.com/dogrucanemek-alt/cedulon">https://github.com/dogrucanemek-alt/cedulon</eref>. The code is a profile
of this document, not a second specification. This -09 is not an
IETF working-group item.</t>
        </dd>
        <dt>Maturity:</dt>
        <dd>
          <t>Research code by a single implementer. Three readers have run the
code on their own machines against a pinned commit and reported
figures matching the author's: two from a clean clone of the whole
suite, one re-running the published reproduction. That is
byte-stability across environments, not an independent
implementation, and the distinction matters: the same code agreeing
with itself on three machines rules out a local accident and nothing
more. One reader reports an independent implementation of the Signed
Statement identity, kept deliberately separate from this codebase; no
independent implementation of the reconciliation algorithm is known
to the author.</t>
        </dd>
        <dt/>
        <dd>
          <t>The requirements -03 and -04 added came out of five adversarial
rounds against the implementation, each one asking a reviewer to
break the code rather than to read it, with the reviewer barred from
changing it. Four of those rounds found a defect inside the previous
round's repair rather than in the original code, which is the reason
this section does not describe the result as settled. The
requirements -05 added came from a different direction: a
reader ran the posted -04 Appendix A vectors against the exact
archive bytes in an independent toolchain, reproduced both
signatures and the byte-for-byte re-encoding, and filed the
first-failure list <xref target="changes-04"/> answers - the first verification
of this profile's vectors outside the companion codebase. The two
requirements this revision adds came from a third: the author
ran a neighbouring draft's canonicalization vectors through this
profile's own encoder and reported the reading to the SCITT list,
and measuring what that reading implied for this profile's digests
found a surface the companion decoder was ignoring
(<xref target="changes-05"/>).</t>
        </dd>
        <dt/>
        <dd>
          <t>The conditions of that outside run, as its own log records them:
Linux x86_64, Python 3.14.4, cbor2 6.1.4, cryptography 50.0.1,
against the archive bytes of the posted -04, SHA-256
<tt>661755c600aede25451ce3a67df4a45d0d964c7b9196dc725dd310723eb8a49f</tt>.
Reading the posted -05, the same reader rebuilt the regenerated
receipt vector of <xref target="vectors"/> from the text alone - protected header
from the profile rules, <tt>policyHash</tt> as the SHA-256 over the UTF-8
octets of the policy identifier the appendix names, deterministic
CBOR, the <xref target="RFC8032"/> fixture key - and obtained the published 307
octets byte for byte, SHA-256
<tt>0f1fe8859faf25de906b08142674f1270656d8ea7bfc00853c2fc6e9d3f5a10b</tt>,
against archive bytes SHA-256
<tt>fc8962b3daeed9f8e5b1c2b7d26d605c14873d9de1cbf35743ce59af2c7aa62e</tt>.
Both published signatures verify and neither object is tag-wrapped.
That is this document's text producing a signed object without the
code that produced it, which is the narrow claim it supports: the
same reader has read parts of the public repository and its package
metadata, says so, and for that reason does not describe the pass as
a clean-room implementation.</t>
        </dd>
        <dt>Coverage:</dt>
        <dd>
          <t>The receipt, checkpoint, extract, reconciliation, and verification
algorithm are implemented, including the transparency witness input,
the withheld and not-anchored conditions, and signed totals
redaction. Requirements added in the previous four revisions, and
the widening this revision makes to <tt>MUST-T10-19</tt>, are implemented
and covered by a red-then-green case before
appearing in this text, except the reversal branch of <tt>MUST-T12-4</tt>:
its extract branch is executed red-then-green, and the reversal
branch is specified and not executed. <tt>MUST-T4-17</tt> and <tt>MUST-T8-9</tt>
are in the published packages (see the note on distribution below);
<tt>MUST-T8-9</tt> is published in the two-branch form specified since the
-04.
Continuous integration runs the full pre-release suite - the
post-release registry checks are a separate job, deliberately
excluded from it, so "full suite" here names exactly what was
measured - on three hosted runners, each as a non-root user:
Linux, macOS, and Windows; a fourth Linux job runs three cases
only and is not a coverage claim. At the commit this revision
describes, all three assert every case, 457 of 457, with none
skipped. A local Windows run without symbolic-link privilege skips
four POSIX-mode cases with a stated reason rather than returning
silently, so a green local suite names what it did not cover and is
that much smaller a claim. An earlier version of this paragraph
said continuous integration ran "the whole suite"; a reader
re-running the frozen claims pointed out that the excluded
post-release job is part of the whole, and the sentence now names
the suite it measures. That continues a pattern: an independent
runner reported the first platform distinction back from a Linux
run after this text claimed otherwise, and this paragraph has been
corrected once per reader who measured it. The undo after a failed
write is exercised on Windows too, by making the state file
read-only so the atomic rename fails, and the protection report and
the refusal to settle without a durable record are checked on all
three operating systems.
The witness used in the suite is the in-process log that
<tt>MAY-T11-6</tt> permits, now a Merkle tree that issues inclusion
proofs; tier 2 of <xref target="witness"/> is exercised against it
red-then-green. The implementation has not been run against a
deployed Transparency Service. The simplification the earlier
admission here named - a receipt treated as a signature over a
statement rather than proof of log membership - no longer reaches
the protocol text: it is tier 1 by name, and tier 2 carries the
membership question. The escrow role,
reversal, refund, and partial settlement are not implemented.</t>
        </dd>
        <dt>Licensing:</dt>
        <dd>
          <t>Apache-2.0.</t>
        </dd>
        <dt>Contact:</dt>
        <dd>
          <t>The author of this document.</t>
        </dd>
        <dt>Experience:</dt>
        <dd>
          <t>Readers of -00, -01 and -02 have reported defects in each, and every
revision has been driven by what they found rather than by a plan.
-01 fixed a bypass of the completeness claim and a gap about which
key an extract is checked against. -02 repaired a defect reported
against -01 and independently confirmed by a second reader: the
object carrying the T11 guarantee was neither profiled for
registration nor read during verification.</t>
        </dd>
        <dt/>
        <dd>
          <t>The defect behind -03 was reported against the posted -02.
A reader asked whether the profile should accept a pinned witness key
and report an absent or mismatched pin explicitly. -02 Section 6.2 already
required a verifier to obtain the public key from an authenticated
channel and to reject a <tt>kid</tt> that does not match that key. What it
did not carry was the verification algorithm, the separate root
inputs, and the error semantics. Following the same question into
the implementation found the omission for the Spend Receipt, the
epoch checkpoint and the Decision Token. T12 came from neither
reader nor adversary, and not from the rounds of trying to break the
implementation either: it was found while writing the task for one
of them, in the ordering the implementation itself used, which
produced against the issuer the one condition this document exists
to make detectable.</t>
        </dd>
      </dl>
      <t>Note on distribution: everything -03 and -04 added is in the
published <tt>@cedulon</tt> packages from 0.7.0 on, with the exceptions
named below. What -05 added - the hash-claim grammar, the
countersignature attribution rule, the pin-under-signature attested
set, the boundary allowance, the counterparty bindings,
<tt>deliveredHash</tt>, and witness tier 2 - what -06 added - the refusal of
a JSON text that repeats a member name (<tt>MUST-T4-20</tt>) and the refusal
of a non-empty unprotected header (<tt>MUST-T4-21</tt>) - and what -07
added - the conditional guarantee for an unstated account or
rail (<tt>MUST-T10-18</tt>), the report that names the settlement path it
covered (<tt>MUST-T10-19</tt>), and the refusal to read a settlement finding
out of an extract the pinned rail key rejected (<tt>MUST-T10-20</tt>) - are
in the published packages at version 0.9.0, the version on npm as this
is posted. -06 was posted while those were in the repository and in no
package, and said so; 0.8.0 and 0.9.0 were published after it. What
this revision widens - <tt>MUST-T10-19</tt> to every structure returned for
the audit - and the window rule it states are carried by the
companion at 0.10.0, published on npm as this is written with a
provenance attestation whose build definition names
<tt>refs/tags/v0.10.0</tt>; its ledger export is unchanged, because that
export's audit is over the in-process ledger and declares no
population. The
0.7.0 packages a reader may still hold parse extract text with a
parser that keeps the last of two values, verify a signature over a
stuffed unprotected header without complaint, and name neither the
account nor the rail their reports were computed over. A reader can
check a claim against an installed package rather than against a
working tree. That order is deliberate: -00 described requirements
that its published package did not yet carry, a reader found the
discrepancy, and this document does not repeat it. Versions 0.2.x and
earlier predate everything in this revision.</t>
      <t>0.3.0 predated the manifest root and the T12 bound. It carried three
defects that only appear
away from the platform it was written on, which an independent runner
found by taking up a standing invitation to break it. A directory that
could not be written refused the lock before the record and left the
refusal as an uncaught exception rather than the reason this document
requires; the case for a symbolic link on the path used a call that
does not exist in the module system the package declares, so it never
reached its assertion; and repairing that revealed a fourth defect,
that the state fingerprint was read before the path was checked, so a
replaced path was reported as a conflicting writer rather than as a
hijacked destination. 0.3.1 closes all four. The manifest root
(<tt>MUST-T4-15</tt>) and the gate's refusal to settle against a manifest it
cannot attribute (<tt>MUST-T4-16</tt>) were published as 0.4.0 rather than as a patch: the
gate had been answering 200 to an unattributable manifest and writing
that manifest's hash into the receipt, and refusing it is a change in
behaviour that a version number ought to announce.</t>
      <t><tt>MUST-T4-17</tt> and <tt>MUST-T8-9</tt> were the exceptions in -04 and are no
longer; <tt>MUST-T12-4</tt>'s reversal branch still is. The same independent
runner who took up the invitation against 0.4.0 reported that
attributing a manifest was not the same as establishing that anything
in the window was spent under it, which is the distinction that
<tt>MUST-T4-17</tt> now draws. A reader of this document then observed that
the distinction survives one step further out: a receipt can name the
manifest and still depart from its amount, currency or expiry, which
is what <tt>MUST-T8-9</tt> closes. Both were unpublished when -03 was posted
and both are in the published packages now, so a
reader can check either against an installed 0.7.0 or later rather
than against this tree. <tt>MUST-T8-9</tt> as published carries the two-branch form
specified here: a departure under a usable issuer pin is a finding and
fails the audit, and a departure with no usable pin is reported as a
warning that does not by itself fail it. -03 stated
the single branch, and the difference is deliberate rather than a
drafting slip; the reason is given where the requirement is defined.
Four repairs -05's review rounds produced are in 0.7.0 and
were not in 0.6.0, so a reader comparing the two sees them. The MCP
boundary refuses an amount spelling the grammar forbids instead of
parsing and reprinting it, which had let <tt>01</tt> through as <tt>1</tt> and
erased the octets <tt>MUST-T8-2</tt> compares; <tt>signManifest</tt> holds the same
grammar its receipt counterpart always held; a decoder refusal keeps
its name on the audit surface instead of surfacing as a signature
failure, which <tt>MUST-T4-19</tt> requires; and no verifier throws on input
it cannot read, in either the CBOR or the JSON path, after an interim
shape that rethrew those names left a single oversized checkpoint able
to end an audit by exception rather than by finding.</t>
      <t><tt>MUST-T12-4</tt> is the one exception left in this revision, and it is
now half an exception. Its extract branch - authenticated rail
evidence resolving an indeterminate outcome - is executed
red-then-green against the in-process <tt>RailLedger</tt> and ships from
0.7.0 on. Its reversal branch is specified and not executed: there is
no authenticated external-rail path in this tree, so the rule that
forbids returning authority without evidence of a completed
reversing entry has no red-then-green case, and a reader checking
that branch against an installed 0.9.0 will not find it either.</t>
      <section anchor="changes-08">
        <name>Changes from -08</name>
        <t>This revision changes no requirement. It is the editorial pass an
experienced reader asked for, and it adds two adjacent documents.</t>
        <t>The abstract is two paragraphs. It states what the document
specifies and what the reconciliation shows, and it no longer
carries the per-revision change note that -07 and -08 had placed
there; that note lives in this section. The "Note to Readers" that
opened the Introduction is removed. Its one statement that was not
already on the title page, the author's intended eventual track, is
made once in <xref target="evolution"/>, where direction is discussed.</t>
        <t><xref target="adjacent"/> gains two paragraphs, on the agent auditing architecture
<xref target="KUEHLEWIND-AUDIT"/> and the verifiable agent conversation record
<xref target="BIRKHOLZ-VAC"/>, the two documents behind the AUDIT BoF request,
and says what each is beside this one. The sentences that name the
revision are renumbered, and no other text moved.</t>
      </section>
      <section anchor="changes-07">
        <name>Changes from -07</name>
        <t>This revision has one subject. It widens <tt>MUST-T10-19</tt> from the two
surfaces -07 named to every structure an implementation returns for
an audit, and it states one shape rule the half-open window already
implied: an extract whose window does not end after it starts
declares no population and is refused as malformed by name. That rule
was measured before it was written - a correctly signed extract with
its window inverted and no rows came back from the companion as a
balanced audit under an unconditional guarantee - and the companion
refuses it at both ends from 0.10.0.</t>
        <t>-07 had the report carry the account, rail and window it was computed
over in the printed report and in the finding object, and said in its
own change note that the companion's MCP result and ledger export
returned the finding list and the guarantee without a scope field,
and that a revision widening the requirement to every returned
structure would ship with the package that carries it. This is that
revision. The reasoning did not change between the two: the strongest
line an audit prints is true of one account on one rail over one
window, and a structure that carries the verdict without the
population it was measured over can be read as a statement about
paths the audit never looked at. That reading is available on any
surface the verdict travels on, not only the two -07 named, so the
requirement now names them all.</t>
        <t>What the requirement asks of a structure computed with no extract is
nothing: there is no declared population, and the structure names
none. The companion's MCP <tt>cedulon_audit</tt> result carries <tt>scope</tt>
exactly when the audit ran over a presented extract, which that tool
now accepts as an input, and it refuses rows added beside such an
extract rather than reconciling them, on the reasoning <tt>MUST-T10-20</tt>
gives from the other side. Its ledger export is unchanged: that
export's audit is always over the in-process ledger, which declares
no population, so it has nothing to name, and a member that is always
absent would say nothing. The requirements table row, the third step
of the verification algorithm and the abstract say the widened form,
and the extract shape paragraph of <xref target="rail-extract"/> states the window
rule. The Implementation Status section is re-measured for this
revision, the sentences that name the revision are renumbered, and no
other text moved.</t>
      </section>
      <section anchor="changes-06">
        <name>Changes from -06</name>
        <t>This revision has three subjects. The first repairs a wording residue
that -06's own repair created, reported by the reader who implemented
-06 from the posted text; it changes no behaviour. The second adds
three requirements on the rail path: two on an axis of the audit's
declared scope that every earlier revision left unstated, and one on
what a verifier may read out of an extract its pinned key refused.
The third states the wire form of the witness receipt, which every
earlier revision described and none encoded, and registers its media
type.</t>
        <t>-06 stated, for the first time, what a verifier does when it holds no
pinned issuer key: the signature is still checked against the key the
object itself carries, which establishes internal consistency and
nothing about who signed it (<xref target="presentation"/>, <xref target="issuer-root"/>). Seven
places in the same document still carried the older absolute
formulation, under which no signed object may be verified against a key
it carries at all. Read literally, those seven forbade the check the
other two had just defined, and two implementations following different
halves of the document would produce different findings from the same
evidence.</t>
        <ul spacing="normal">
          <li>
            <t>The Abstract said no signed object may be verified against a key it
carries itself. It now says no signed object is attested by one.</t>
          </li>
          <li>
            <t>The opening paragraph of <xref target="issuer-root"/> stated the prohibition
without the no-pin case. It now separates the two: a carried key is
neither an identity nor a fallback for a pin (<tt>MUST-T4-9</tt>,
<tt>MUST-T4-11</tt>), and where no key is held the check that runs
establishes internal consistency only.</t>
          </li>
          <li>
            <t><tt>MUST-T4-9</tt> carries the same split, in the requirement's own words.</t>
          </li>
          <li>
            <t><tt>MUST-T10-8</tt>, the paragraph of <xref target="rail-extract"/> that introduces it,
and the opening of <xref target="trust-roots"/> carried the identical residue on
the rail path, in three places, where it was not reported: an extract
presented under no pinned rail key is verified against the key it
carries, and the implementation says so in its own warning. The
requirement and both paragraphs now separate identity from internal
consistency the same way, and name <tt>unauthenticated-extract</tt> as the
condition; <tt>MUST-T10-7</tt>, step 2 of the verification algorithm and the
<tt>unauthenticated-extract</tt> row of the finding table say the same.</t>
          </li>
          <li>
            <t>The <tt>application/cedulon-checkpoint+cbor</tt> template in <xref target="iana"/> said a
checkpoint is verified only against a pinned issuer key. It now states
the same split as <xref target="issuer-root"/>.</t>
          </li>
        </ul>
        <t>The witness root already stated the distinction correctly and is
unchanged; it is where the wording for the other seven came from. The
manifest root (<xref target="manifest-root"/>) and <tt>MUST-T4-15</tt> keep their absolute
wording on purpose: a Trade Manifest presented under no publisher pin
is not checked against the key it carries at all, so there is no
internal-consistency check to describe there, and
<tt>unauthenticated-manifest</tt> says so.</t>
        <t>The second subject is the scope a completeness result is over. -05
established that a verifier which states no period cannot call its
result unconditional, because the extract then defines the period it
reports on (<tt>MUST-T10-15</tt>). The account and the rail are the same kind
of axis and were never given the same treatment: an extract names one
account and one rail (<xref target="rail-extract"/>), so a verifier that states
neither leaves the extract to define whose settlements were accounted
for and which way out was watched. <tt>MUST-T10-18</tt> closes that axis the
way -05 closed the period.</t>
        <t><tt>MUST-T10-19</tt> states the consequence the earlier revisions left to the
reader. A balanced audit under an unconditional guarantee is true of
one account, on one rail, over one window. An account that can settle
on a second rail has a settlement path no presented extract covers,
and a spend that left that way is not an unmatched row - it is outside
the declared population, which is precisely the bypass <xref target="security"/>
names in T10. The report now carries the account, rail and window it
was computed over, in the printed report and in the finding object, so
the strongest line it prints cannot be read as a statement about paths
it never looked at. Those two surfaces are the ones the requirement
names; the companion's MCP result and ledger export return the finding
list and the guarantee without a scope field, and a revision that
widens the requirement to every returned structure will ship with the
package that carries it. Enumerating an account's rails remains the
deployment's statement; no extract can be asked to prove that the
enumeration is complete.</t>
        <t>This distinction is the one <xref target="ABAK"/> draws for control instructions,
where a receiver-side observation at one enforcement point does not
establish that another required path was reached.</t>
        <t><tt>MUST-T10-20</tt> closes the other gap on the same path. -06 reported an
extract that a stated rail pin refused as <tt>extract-key-mismatch</tt> and
said nothing about what that document's rows could still be used for,
so a verifier could reject the extract and then convict with it: a
mismatch against a receipt, money reported as unaccounted for, a
receipt left unmatched by rows the refused document omits. The refusal
is now the finding, no settlement finding is read out of that body,
and the verifier reports <tt>settlement-comparison-skipped</tt> in the same
result, so that a comparison which never ran cannot be mistaken for
one that found nothing. It is <tt>MUST-T8-9</tt>'s rule for a refused Trade
Manifest, on the money axis and for the same reason.</t>
        <t>The witness receipt of <xref target="witness"/> has been described since -02 as a
receipt binding the statement the witness recorded, and since -05 as a
COSE_Sign1 binding a statement hash, an entry index and a tree head;
every revision left its encoding to the reader. The companion
implementation, at its published 0.9.0, issues and verifies that
object under the content type <tt>application/cedulon-inclusion+cbor</tt>, a
name no revision registered over a payload no revision stated, while
<xref target="cose-profile"/> makes the content type a normative check inside a
protected header (<tt>MUST-T4-8</tt>). <xref target="witness"/> now states the payload as
issued, <xref target="cose-profile"/> lists the name beside the other five, and
<xref target="iana"/> requests its registration as the sixth template. No
behaviour changes for objects already issued. The encoding is stated
as it ships: hashes as hexadecimal text strings, and three small
positive labels that are local to the map rather than CWT claims. A
later revision may move the hashes to byte strings and the labels into
the private-use range the other objects use; it will do so in step
with a package release, and will say so here.</t>
        <t>Also in this revision: the note on distribution in <xref target="impl-status"/> now
says that what -05, -06 and this revision add is in the published
packages at 0.9.0, where -06 said those items were in the repository
and in no package, 0.8.0 and 0.9.0 having been published after it was
posted; Related Work cites <xref target="ABAK"/>; and <xref target="evolution"/> points at -08 or
later.</t>
      </section>
      <section anchor="changes-05">
        <name>Changes from -05</name>
        <t>This revision has one subject on the wire, one at the registry, and
one repair to what the text claimed about verification without a
pinned key.
On the wire it adds two decoder rules, each the named refusal of a
surface the posted -05 left implicit; at the registry it turns the
placeholder table of -05's IANA section into the registration
requests <xref target="RFC6838"/> asks for. Both rules landed red-then-green in
the companion implementation before they were written here, and each
came from reading rather than from a reader: the first from running
the canonicalization vectors of a neighbouring draft <xref target="CPB"/> through
this profile's own <xref target="RFC8785"/> encoder, the second from measuring
what would change if the digests of <xref target="hash-inputs"/> were taken over
the COSE <tt>ToBeSigned</tt> structure instead of the signed octets. That
second question is not answered in this revision; what the
measurement found on the way is.</t>
        <ul spacing="normal">
          <li>
            <t>JSON text gains the rule CBOR already had. <xref target="RFC8785"/> takes I-JSON
<xref target="RFC7493"/> as its input, and an I-JSON object carries no duplicate
member names; a verifier that receives a JSON document as text now
refuses a text in which any object repeats a member name, by the
name <tt>json-duplicate-key</tt>, before parsing it (<tt>MUST-T4-20</tt>,
<xref target="canonical-json"/>, <xref target="rail-extract"/>). -05 was silent, and the
companion refused such texts anyway; its conformance runner carried
that difference as a recorded split against the posted -05, and
this sentence is what the split was waiting for. The rule is
measured on the text because a parser that keeps either value has
already discarded the evidence of the other.</t>
          </li>
          <li>
            <t>The empty unprotected header became a decoder rule rather than an
encoder promise. Every digest over a signed object covers the
unprotected header and the signature does not, so a decoder that
verified the signature and ignored a stuffed header would compute
a <tt>receiptHash</tt> the issuer never produced. A COSE_Sign1 whose
unprotected header is not an empty map is refused as
<tt>cose-sign1-unprotected</tt> (<tt>MUST-T4-21</tt>, <xref target="cose-profile"/>). The
companion decoder had ignored the header. The vectors in Appendix
A are unchanged, because every one of them carries an empty one.</t>
          </li>
          <li>
            <t><xref target="iana"/> states a full <xref target="RFC6838"/> template for each of the five
media types and requests their registration in the standards tree,
and says of the claim labels that they lie in the Private Use range
of <xref target="RFC8392"/> and are not requested. -05 listed the names and said
they should be registered if the work were taken up.</t>
          </li>
          <li>
            <t>What a verifier holding no pinned issuer key does is now stated as
measured, in one wording rather than two. The verification path said
no signature comparison happened at all; the finding-code table said
the objects were checked against the keys they carry. Measurement
settled the two in opposite directions, so both were rewritten
rather than reconciled to either: a receipt or checkpoint signature
is checked against the key its own object carries, which is why a
broken signature is still named while two issuers cannot be told
apart, and a presented Trade Manifest with no pinned publisher key
is not checked at all. Neither statement is a new requirement; both
describe what <xref target="verification"/> already did. Sweeping the rest of the
table the same way found one more row describing one branch of three:
unauthenticated-extract is reported for an extract whose signature
verifies under no pinned rail key, for one that does not, and for a
pinned rail key with no extract presented at all, where -05 named
only the unsigned case and sent the pinned case to
<tt>extract-key-mismatch</tt>, which is where a presented extract that fails
under a pin goes and the only one of the three that lands there.</t>
          </li>
          <li>
            <t>Two more rows say what a pinned issuer key does to a checkpoint. A
checkpoint that does not verify under the pin, whether because it was
signed by another key or because its bytes were altered, is
<tt>issuer-key-mismatch</tt> and leaves its window uncovered; it never
reaches the totals comparison, so the signature branch of
<tt>checkpoint-total-mismatch</tt> belongs to the unpinned path. The pin
table in <xref target="issuer-root"/> described only the receipt outcome for that
cell, because a checkpoint has no chain walk to be named in. The
companion also carried an operator-facing message asserting that an
unpinned manifest's signature proved internal consistency, which the
same measurement shows it never checks; the message now says so, red
before green.</t>
          </li>
          <li>
            <t><xref target="presentation"/> defines the carried key those statements turn on.
Every presented receipt, checkpoint, Trade Manifest and Decision
Token carries the signer's SubjectPublicKeyInfo PEM beside its
signed octets, and <xref target="issuer-root"/> has named a warning for that key
since -05 without any revision saying where the key came from: -05
defined such a member only for the Rail Extract. The state the
unpinned cell
names, presented-unattested, is likewise defined in the terminology
rather than used once.</t>
          </li>
          <li>
            <t>A Trade Manifest refused by a stated publisher pin no longer founds a
charge. Its body was still supplying the terms comparison of
<tt>MUST-T8-9</tt> and the acceptance-criteria hash behind <tt>delivery-mismatch</tt>,
so a manifest anyone could mint, presented beside an honest receipt,
produced two hard findings against the payee while the same report
refused the document as <tt>manifest-key-mismatch</tt>. That is the shape this
profile closes everywhere else: evidence nothing stands behind must not
manufacture a negative result. The requirement says so where the charge
is defined, and the companion stops reading the body at the refusal,
measured red before green.</t>
          </li>
          <li>
            <t>Six more finding-code rows were swept the same way as the three above
and named the branch they were missing: the refused chain head under
<tt>checkpoint-head-mismatch</tt>, cover reported on presentation rather than
on attribution, the payee branch of the terms comparison, the four
fields <tt>extract-settlement-mismatch</tt> actually compares, the unpinned
half of <tt>unstated-audit-window</tt>, and what
<tt>witness-inclusion-not-exercised</tt> does and does not say about
verification. Two operator-facing messages stopped reporting states the
same report contradicted: a reconciliation that had not closed and a
witness attestation nothing had verified.</t>
          </li>
          <li>
            <t><xref target="impl-status"/> names what this revision adds as not yet in a
published package, on the same terms -05 used for its own
additions, carries the suite size measured at the commit it
describes, and records the conditions of the outside vector run and
of the regeneration of a vector from this text alone.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-04">
        <name>Changes from -04</name>
        <t>All but the last three changes in -05 answered a
first-failure list filed against the posted -04 by an independent
reader who ran the Appendix A vectors against the exact archive
bytes before reading the text: eight points where an implementation
could no longer be built from the text alone, one question, and
three mechanical defects. The last three answered a counter-reading
of -05, made from the text alone before it was posted, and a
reply on the DISPATCH list. The
repairs landed red-then-green in the companion implementation before
the sentences below were written, and the shapes in the text are
taken from what the implementation measurably does.</t>
        <ul spacing="normal">
          <li>
            <t>The transparency receipt path stopped promising <xref target="RFC9942"/>
mechanics it did not perform. <xref target="witness"/> now names two tiers: the
witness receipt (a co-signature over the statement hash, and
nothing more) and log membership (candidate Signed Statement bytes
plus an inclusion proof, verified by RFC 9942 Section 5.2.1
mechanics against a witness-signed tree head, with exact
receipt-matching stated as normative). Where tier 2's inputs are
absent, the report says the tier was not exercised
(<tt>MUST-T11-18</tt>, <tt>MUST-T11-19</tt>).</t>
          </li>
          <li>
            <t>Key resolution in step 4 collapsed to one rule - membership in the
attested set follows verification under the pinned root - read out
cell by cell in a table, each cell a named condition plus a
membership decision, never a silent removal. The carried key is
not an identity source: swapping it on an honestly signed object
is <tt>carried-key-mismatch</tt>, a warning, and cannot move the object
out of the attested set (<xref target="issuer-root"/>).</t>
          </li>
          <li>
            <t>The Rail Extract body has one normative shape. Table 8's member
names bind the rail; the sentence that said the names were the
rail's to define is withdrawn; the full signed body - members,
types in JSON terms, and the signature representation - is stated
in <xref target="rail-extract"/>.</t>
          </li>
          <li>
            <t>"Issuer order" is defined as the order induced by the
<tt>prevReceiptHash</tt> chain; presentation order carries no weight, and
<tt>chainHeadHash</tt> binds to the last link of the chain in the window.
The window-coverage check is stated as fail-closed, zero
checkpoints and the open epoch included. The claim that no other
step fed another is withdrawn for the maintained dependency list.</t>
          </li>
          <li>
            <t>The window boundary stopped manufacturing accusations out of two
honest clocks: membership follows the ref binding first, and an
unmatched item within the extract-declared <tt>clockSkewMs</tt> of the
edge is <tt>boundary-deferred</tt>: a closing-edge item resolves against
the following window's extract, an opening-edge item only against
a receipt in the presented bag (<tt>MUST-T10-17</tt>).</t>
          </li>
          <li>
            <t>An appended countersignature can no longer fail an honest audit.
Attribution gates evidentiary weight; an unattributable
countersignature is discarded with a warning, the pinned
expectation stays open, and the verdict on the issuer receipt
does not move (<xref target="countersign"/>).</t>
          </li>
          <li>
            <t>The counterparty triangle is closable and honestly scoped: an
optional manifest <tt>payee</tt>, an optional settlement-record
<tt>beneficiary</tt>, and a <tt>counterparty-unbound</tt> scope record when
neither is present.</t>
          </li>
          <li>
            <t>The delivery claim shrank to its evidence and the evidence grew:
an optional <tt>deliveredHash</tt> on the countersignature makes the
acceptance comparison signed-to-signed (<tt>MAY-T8-11</tt>), and the
Introduction conditions "what bytes were delivered?" on that
evidence being present.</t>
          </li>
          <li>
            <t>"Allowed by policy" is stated as the Receipt Issuer's signed
assertion, with the trust boundary named: the audit does not
independently verify the PDP's allow, and a receipt-to-token
binding is a possible extension, not -05.</t>
          </li>
          <li>
            <t>Mechanical: the hash-claim grammar (64 lowercase hex) moved into
the signers and validators, named per claim, and the Appendix A
receipt vector - which violated Table 3 in the posted -04 - is
regenerated with a computed digest. <tt>MAY-T8-9</tt> is renumbered
<tt>MAY-T8-10</tt>; the number collided with <tt>MUST-T8-9</tt> and the
requirement text did not change. The lone-surrogate escape
permission contradicted <xref target="RFC8785"/> Section 3.2.2.2 and is
removed: producers refuse by name, verifiers report rather than
crash (<xref target="canonical-json"/>).</t>
          </li>
          <li>
            <t>The extract's time fields are refused at the shape gate when they
are not integers, the way the tables already named them: a
counter-reading found that <tt>1.5</tt> and <tt>NaN</tt> passed a <tt>number</tt> check
and were signed. <tt>windowStartMs</tt>, <tt>windowEndMs</tt>, each record's
<tt>timestampMs</tt>, and <tt>clockSkewMs</tt> are now refused by name unless
they are integers of magnitude at most 2^53 - 1, and <tt>clockSkewMs</tt>
unless it is also non-negative; the canonical-encoding refusal for
non-finite numbers still guards members the rail adds.</t>
          </li>
          <li>
            <t>An opening-edge deferral is closed only by a receipt in the
presented bag. The implementation had let a following window's
extract harden it into <tt>settlement-without-receipt</tt>; the text's
reason for the deferral, ref binding, never said so, and the seven
edge cases are locked as tests.</t>
          </li>
          <li>
            <t>The abstract no longer says that payment rails and mandate
protocols lack a fail-closed policy check; a mandate protocol has
one, and returns signed receipts. It names the missing piece as
what a party that is neither payer nor rail operator can retrieve
and reconcile against an authenticated rail extract. A reply on
the DISPATCH list narrowed the claim, and the narrowing is right.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-03">
        <name>Changes from -03</name>
        <t>-04 had one subject: -03 could not be implemented from its own
text. Eighteen decision points were read out of it by someone working
from the words alone, and eight of them had two defensible answers.
Nothing here adds a capability. Everything here closes a place where
two conforming implementations would produce different bytes or reach
different verdicts.</t>
        <t>Five of those eight were the same defect wearing different clothes.
-03 hashed or signed a JSON document in four places and called the
encoding "canonical" without ever defining it, and named the digest for
some hash-valued fields and not others. <xref target="canonical-json"/> defines the
encoding by reference to <xref target="RFC8785"/>, and <xref target="hash-inputs"/> states, for
every hash-valued field, exactly which octets go in. The heaviest of
those was <tt>requestHash</tt>: -03 called it "the six-field hash" in the same
sentence that named SHA-256 for <tt>policyHash</tt>, and a reader was entitled
to conclude it was not a digest at all.</t>
        <t><tt>MUST-T8-9</tt> changes in a way a diff will show, and the change is
deliberate. -03 said an unpinned departure from manifest terms fails
the audit, full stop. An implementation showed what that permits: a
receipt signed by any key, carrying the right manifest hash and a wrong
amount, makes a verifier report a breach that never happened against a
payment reference the forger picks. The requirement now separates the
two cases and says why it differs from <tt>MUST-T4-17</tt>, which is a naming
question rather than a charge and is answered from the presented set
whether or not anything vouches for it.</t>
        <t><tt>MUST-T4-18</tt> and <tt>MUST-T4-19</tt> are new: -03 bound the encoder to
deterministic CBOR and said nothing about the decoder, neither about a
duplicate key nor about what a decoder does when an input is larger
than it is willing to read. The second fixes no numbers. A bound is
deployment policy; refusing by name rather than by running out of stack
is not.</t>
        <t><tt>MUST-T3-3</tt> and <tt>MUST-T8-2</tt> gain the boundary and the comparison rule
they were missing: whether a settlement exactly at expiry is inside the
manifest, and whether a currency may be case-folded before it is
compared. <tt>MUST-T10-1</tt> says what an audit with nothing in it reports.</t>
        <t>The acceptance-criteria hash had two readings and no way to signal
which one was used, so two implementations would have hashed the same
delivery differently. This revision defines one of them and puts the
other out of scope until something can say which is meant.</t>
        <t>The verification algorithm now names its data dependencies. -03 named
one and said nothing else fed another step, which stopped being true
once the issuer pin began deciding the attested set: the chain walk,
the reconciliation, the checkpoint comparisons and <tt>MUST-T8-9</tt> all
consume it, and the algorithm now says so, along with the two checks
that deliberately stay on the presented set. The two severities of
<tt>MUST-T8-9</tt> are now stated in the algorithm step and the finding
table as well as in the requirement, after an early draft of this
revision changed the requirement and left the step and the table
carrying the old unconditional verdict.</t>
        <t>Three encodings that could be read two ways are now stated once each:
<tt>kid</tt> is the SHA-256 of the SubjectPublicKeyInfo DER truncated to its
first 8 bytes, in that order; "the signed COSE_Sign1 octets" are the
untagged array, never tag 18; and the six-field request document is
given as an exact JSON shape, member by member, rather than as a list
of names. The hash-input table now covers <tt>acceptanceCriteriaHash</tt>
and says whose digest <tt>ap2MandateHash</tt> is. The Decision Token gains
the same expiry boundary <tt>MUST-T3-3</tt> states for the manifest.</t>
        <t>Appendix A no longer defers to the tests of an
implementation; a specification that points at code cannot be
implemented from its own text, which is the property this revision is
trying to restore.</t>
        <t>One change is metadata rather than text: the submission stream in the
document's header changes from independent to IETF. The Note to
Readers has named an eventual Standards Track intent since -00, and
<xref target="iana"/> asks for Standards Tree registration; neither belongs on the
Independent Stream. The rendered pages are unchanged by it.</t>
        <t>What has not changed: <tt>MUST-T12-4</tt> remains specified and not executed,
and this document still has no independent implementation written from
its text alone. The point of this revision is to make that possible,
not to claim it happened.</t>
      </section>
      <section anchor="changes-02">
        <name>Changes from -02</name>
        <t>-03 had two subjects. The first is that -02 stated a rule
for signed objects and left the implementation and the verification
algorithm without a counterpart for every object the rule applied to.
The second is T12, which no reader reported and which is not about an
adversary at all.</t>
        <t>-02 Section 6.2 already required a verifier to obtain the public key from an
authenticated channel (a preconfigured issuer set, a directory, or a
transparency statement) and to reject a message whose <tt>kid</tt> does not
match that key (<tt>MUST-T4-8</tt>). That rule was general. What -02 did not
carry was the verification algorithm that applies it to each signed
object, the separate root inputs a verifier supplies out of band, and
the error semantics that name a missing, unreadable, or mismatched
pin. A companion implementation that followed the algorithm it had,
rather than that prose, still checked a Spend Receipt, an epoch
checkpoint, a Decision Token and a transparency inclusion receipt
against the key travelling inside them. A receipt like that silences
the <tt>settlement-without-receipt</tt> finding for the settlement it names.
The completeness property is then computed over evidence that answers
to nobody. <xref target="trust-roots"/> states the missing algorithm and the
error semantics, and the verification algorithm now applies them.</t>
        <t>A reader raised the inclusion-receipt half of this against the posted
-02 after checking the archived text against the implementation
commit. Following it into the code turned up the other three, along
with two conditions that were not about keys at all.</t>
        <t>The first is that reporting a mismatch is not enough. An
implementation that names a foreign key and then still lets the
receipt match its settlement has described the attack in its output
while concluding that the books balance. <tt>MUST-T4-10</tt> now requires
the settlement to stay reported.</t>
        <t>The second is that an expectation which only fires when the evidence
is present can be cancelled by deleting the evidence. A pinned payee
key with no countersignature to check was silence, so removing a
countersignature removed the question with it. <tt>MUST-T4-14</tt> closes
that, and <tt>MUST-T11-17</tt> closes the same shape in the witness: an
inclusion receipt with its body stripped off can no longer bury a
withholding, while still not being allowed to accuse anyone.</t>
        <t>T12 is new and is not about an adversary. An issuer that settles,
appends the receipt in memory and then writes its state will, when
that write fails, leave the rail holding a settlement whose receipt
exists nowhere durable. Restarted, it reports
<tt>settlement-without-receipt</tt> against itself. The condition this
document exists to make detectable was reachable through the
implementation's own ordering, and no requirement in -02 said
otherwise.</t>
        <t>The same first subject carries five requirements this section has not
named so far, all of them stated in <xref target="trust-roots"/>. A pinned key that
cannot be decoded <bcp14>MUST NOT</bcp14> fall back to the keys the objects carry
(<tt>MUST-T4-11</tt>). An issuer root may comprise more than one key, and a
verifier must accept one that does, so a rotation inside the audited
window does not force it to choose between findings against honest
receipts and abandoning the pin (<tt>MUST-T4-12</tt>); the same set-of-keys
acceptance applies to a publisher, witness, or rail pin. The same out-of-band rule reaches the payee
countersignature (<tt>MUST-T4-13</tt>), the transparency witness
(<tt>MUST-T11-15</tt> and <tt>MUST-T11-16</tt>), the Decision Token, whose
consumer issued it and therefore already holds the key to check it
with (<tt>MUST-T6-6</tt>), and a presented Trade Manifest (<tt>MUST-T4-15</tt>).</t>
        <t>Two requirements belong to neither subject. <tt>MUST-T7-5</tt> and
<tt>MUST-T7-6</tt> come from measuring the protection a stored signing key
actually has instead of deriving it from the platform. A mount that
ignores filesystem permissions accepts the call and protects nothing,
and a writable directory or a symbolic link anywhere on the path makes
the file permission moot. They are stated because the implementation
reported protection it did not have.</t>
        <t>Two things are stated here that -02 got right and -03 kept
unchanged: the extract rule itself, and the treatment of a pinned key
the verifier cannot decode. What changed is their reach, and the
change is not backward compatible. Where a verifier pinned the rail
key, supplied no issuer key, and was presented with receipts or
checkpoints, -02 reported the guarantee as unconditional and -03
reports it as conditional. Nothing about the evidence
changed; what changed is that the guarantee now says which questions
were never asked. An audit presented with neither is unaffected, for
the reason given in <xref target="issuer-root"/>.</t>
      </section>
      <section anchor="changes">
        <name>Changes from -01</name>
        <t>-02 had one subject: the checkpoint, which carries the T11
guarantee against suppression and rollback, was not wired into
anything that could discharge it.</t>
        <t>A reader of -01 set out the gap and a second reader confirmed it
independently. Four things were wrong at once, and they were the same
thing seen from four sides. The SCITT anchoring section profiled the
Spend Receipt and not the checkpoint, so <tt>SHOULD-T11-5</tt> asked for
checkpoints to be registered without saying in what form
(<tt>MUST-T11-14</tt> now says). None of the steps of the verification
algorithm read a witness receipt, so a deployment could follow
<tt>SHOULD-T11-5</tt> to the letter and still have a verifier that never
consulted the witness (steps 15 and 16 now do). <tt>MUST-T11-3</tt>,
equivocation, could not fire at all: the only checkpoints compared
were the presented ones, and <tt>MUST-T11-8</tt> requires those to be
consecutive, so no two of them can share an epoch. A second copy is
found in a witness, and nothing brought one in. And the checkpoint
binds a per-currency total for a window while the privacy section
counted only receipt fields, so a window total could be published, or
withheld, with no stated rule either way.</t>
        <t>The repairs are <tt>MUST-T11-10</tt> through <tt>MUST-T11-14</tt>. The transparency
receipt is a new optional input; supplying none leaves the verifier
behaving exactly as in -01, which is deliberate, because the point of
the witness is to add a claim that could not be made before, not to
withdraw one that could.</t>
        <t>Two decisions inside those repairs are worth stating on their own,
because a reader might reasonably have expected the other choice.</t>
        <ul spacing="normal">
          <li>
            <t>A recorded checkpoint the presented chain omits gets its own
identifier, <tt>checkpoint-withheld</tt>, rather than being folded into
<tt>window-coverage</tt> (<tt>MUST-T11-11</tt>). The reporter asked which way it
should go. Coverage says the record shown is incomplete; a withheld
checkpoint says the party under audit is holding a record it did
not show. An operator who sees one identifier for both cannot tell
an incomplete record from a concealed one, which is the distinction
the whole threat is about.</t>
          </li>
          <li>
            <t>A checkpoint with no receipt in a supplied witness is a warning
rather than a failure. A witness may be configured after
checkpoints have already been issued, and an operator's own gap in
anchoring is not evidence that anything was concealed. The
asymmetry is deliberate: what the witness holds and the chain does
not is a finding, what the chain holds and the witness does not is
a warning.</t>
          </li>
        </ul>
        <t>One change is not a repair of -01 but of the first attempt at this
revision, and it is recorded because the failure is instructive.
Signed totals were first made redactable through a field carried
alongside the checkpoint rather than inside the COSE payload. Anything
outside the signature is chosen by whoever presents the object, which
here is the party under audit, so a checkpoint whose signed totals
disagreed with its receipts could be re-presented as redacted and the
mismatch went unreported. Redaction is now inside the signature and a
redaction asserted anywhere else <bcp14>MUST</bcp14> be ignored (<tt>MUST-T11-12</tt>,
<tt>MUST-T11-13</tt>). This was the same shape as the bypass -01 was written
to close: a check that a party under audit could switch off.</t>
        <t>Reversal, refund, partial settlement, and the escrow role remain out
of scope and are still expected later, with no date. -01 said the same,
and no revision since has improved on it.</t>
        <t>The reporters are named in the Acknowledgments.</t>
      </section>
    </section>
    <section anchor="evolution">
      <name>Evolution and Future Work (Informative)</name>
      <t>This document is submitted as Informational. The author's intended
eventual track, if the work is taken up, is a Standards Track profile
of COSE <xref target="RFC9052"/> and CWT <xref target="RFC8392"/> for agent-spend receipts.</t>
      <t>This section is a direction, not a commitment. The structures below
are reserved in name only. Normative wire formats, tests, and
threat-model <bcp14>MUST</bcp14> lines for them belong in later revisions (-10 or later), written with the same discipline as this -09.</t>
      <section anchor="re-attestation-profile">
        <name>Re-attestation profile</name>
        <t>Algorithms retire. A Spend Receipt or checkpoint signed under
Ed25519 today may need a later verifier that no longer accepts
<tt>-19</tt>. A companion seed <xref target="REATTEST"/> sketches re-attestation:
register the original COSE bytes as a SCITT Signed Statement and
have a current algorithm countersign or receipt them. The
principle is that structures outlive ciphers. The first concrete
example is the profile's own move from generic EdDSA (<tt>-8</tt>) to
Ed25519 (<tt>-19</tt>) in <xref target="RFC9864"/>.</t>
      </section>
      <section anchor="streaming-reconciliation">
        <name>Streaming reconciliation</name>
        <t>Epoch checkpoints in this document are batch windows. A later
revision may define a continuous, second-scale profile
<xref target="STREAMING"/> in which the same completeness relation is evaluated
as settlements arrive, without waiting for an epoch close. That
work does not change the matching rules in this document, and it
did not arrive in this revision either.</t>
      </section>
      <section anchor="generalization">
        <name>Generalization</name>
        <t>Payment is the special case that this -09 implements. The same
completeness calculus (an authenticated extract of consumed units
reconciled to signed receipts) can apply to other consumable
resources such as compute, data, or energy. This document does
not specify those profiles.</t>
      </section>
    </section>
    <section anchor="adjacent">
      <name>Informative Notes on Adjacent Protocols</name>
      <t>x402 <xref target="X402"/> uses HTTP 402 <xref target="RFC9110"/> to negotiate stablecoin
payment. AP2 <xref target="AP2"/> uses signed mandates as verifiable credentials.
Cedulon does not replace either protocol. Profiles built on HTTP Message Signatures
<xref target="RFC9421"/> authenticate bots; they are not a spend receipt.
draft-bates-atp <xref target="BATES-ATP"/> is a lineage neighbor. It does not
define rail-extract completeness.</t>
      <t>draft-vauban-x402-stark-receipts <xref target="VAUBAN"/> specifies complementary
x402 receipt-format variants that a Cedulon Spend Receipt <bcp14>MAY</bcp14> carry
as a rail proof; it does not define rail-extract completeness.
draft-schrock-ep-outcome-binding <xref target="SCHROCK"/> compares authorized
action bytes to independently observed effects; it does not define
rail-extract completeness.
draft-marques-asqav-compliance-receipts <xref target="MARQUES"/> profiles
access-control action receipts (the broader Acta family includes
<xref target="ACTA"/>); it does not define rail-extract completeness.
draft-hopley-x402-compliance-receipt <xref target="HOPLEY"/> records an
admission-time compliance decision; it does not define rail-extract
completeness.
draft-abak-agent-control-delivery-evidence <xref target="ABAK"/> states evidence
requirements for a governance control - stop, suspend, revoke -
travelling toward the component expected to constrain a runtime, and
keeps emission, receiver-side observation, enforcement outcome and
observed control effect as separate results. Its object moves the
other way from this one: Cedulon reconciles a spend that already
happened against what the rail reported, and evidences neither the
delivery of a control instruction nor its enforcement. A denied spend
leaves no portable artifact here at all - a Decision Token encodes an
allow (<xref target="decision-token"/>) - so what a Cedulon audit says about a
refusal it says through the settlement that did not appear on the
extract, which is an effect observation over a declared population and
not an acknowledgement from an enforcement point. Its bounded-population
rule and this document's <tt>MUST-T10-18</tt> and <tt>MUST-T10-19</tt> are the same
kind of bound on two different objects.</t>
      <t>draft-kuehlewind-audit-architecture <xref target="KUEHLEWIND-AUDIT"/> describes an
architecture for auditing agent-driven interactions: distributed
audit records that link user intent, delegation and authorization to
an execution, propagation of audit context across domains, optional
attestation under RATS, and registration of the records with a SCITT
Transparency Service, with financial transactions by agents among its
motivating cases. It is the trail a Cedulon audit would be read
within. What this document adds for the case of a spend is the
completeness result over a declared population of an authenticated
rail extract; the architecture does not define rail-extract
completeness. draft-birkholz-verifiable-agent-conversations
<xref target="BIRKHOLZ-VAC"/> defines a COSE-signed record of an agent's
conversation - session metadata, messages, tool invocations,
reasoning traces - for the same Transparency Services. A Spend
Receipt is the kind of artifact such a record would name for a
payment step; neither document profiles the other, and the
conversation record does not define rail-extract completeness.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="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="RFC7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </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>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC8410">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves. The signature algorithms covered are Ed25519 and Ed448. The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9864">
          <front>
            <title>Fully-Specified Algorithms for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This specification refers to cryptographic algorithm identifiers that fully specify the cryptographic operations to be performed, including any curve, key derivation function (KDF), and hash functions, as being "fully specified". It refers to cryptographic algorithm identifiers that require additional information beyond the algorithm identifier to determine the cryptographic operations to be performed as being "polymorphic". This specification creates fully-specified algorithm identifiers for registered JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) polymorphic algorithm identifiers, enabling applications to use only fully-specified algorithm identifiers. It deprecates those polymorphic algorithm identifiers.</t>
              <t>This specification updates RFCs 7518, 8037, and 9053. It deprecates polymorphic algorithms defined by RFCs 8037 and 9053 and provides fully-specified replacements for them. It adds to the instructions to designated experts in RFCs 7518 and 9053.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9864"/>
          <seriesInfo name="DOI" value="10.17487/RFC9864"/>
        </reference>
        <reference anchor="RFC9942">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9942"/>
          <seriesInfo name="DOI" value="10.17487/RFC9942"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="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="RFC9421">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="KUEHLEWIND-AUDIT" target="https://datatracker.ietf.org/doc/draft-kuehlewind-audit-architecture/">
          <front>
            <title>An Architecture for Auditing AI Agent Delegation and Interactions</title>
            <author initials="M." surname="Kuehlewind" fullname="Mirja Kuehlewind">
              <organization/>
            </author>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization/>
            </author>
            <date year="2026" month="May"/>
          </front>
        </reference>
        <reference anchor="BIRKHOLZ-VAC" target="https://datatracker.ietf.org/doc/draft-birkholz-verifiable-agent-conversations/">
          <front>
            <title>Verifiable Agent Conversation Records</title>
            <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
              <organization/>
            </author>
            <author initials="T." surname="Heldt" fullname="T. Heldt">
              <organization/>
            </author>
            <author initials="O." surname="Steele" fullname="Orie Steele">
              <organization/>
            </author>
            <date year="2026" month="August"/>
          </front>
        </reference>
        <reference anchor="BATES-ATP" target="https://datatracker.ietf.org/doc/html/draft-bates-atp">
          <front>
            <title>Agent Transaction Protocol (ATP)</title>
            <author initials="D." surname="Bates" fullname="David Asher Bates">
              <organization/>
            </author>
            <date year="2026" month="May"/>
          </front>
        </reference>
        <reference anchor="X402" target="https://www.x402.org/">
          <front>
            <title>x402: An Open Standard for Internet-Native Payments</title>
            <author>
              <organization>x402 Foundation</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="AP2" target="https://ap2-protocol.org/ap2/specification/">
          <front>
            <title>Agent Payments Protocol (AP2)</title>
            <author>
              <organization>Google Agentic Commerce</organization>
            </author>
            <date year="2025" month="September"/>
          </front>
        </reference>
        <reference anchor="GRIGG" target="https://iang.org/papers/triple_entry.html">
          <front>
            <title>Triple Entry Accounting</title>
            <author initials="I." surname="Grigg" fullname="Ian Grigg">
              <organization/>
            </author>
            <date year="2005"/>
          </front>
        </reference>
        <reference anchor="PACIOLI">
          <front>
            <title>Summa de arithmetica, geometria, proportioni et proportionalita</title>
            <author initials="L." surname="Pacioli" fullname="Luca Pacioli">
              <organization/>
            </author>
            <date year="1494"/>
          </front>
        </reference>
        <reference anchor="VAUBAN" target="https://datatracker.ietf.org/doc/draft-vauban-x402-stark-receipts/">
          <front>
            <title>x402 STARK Receipt Format Extension</title>
            <author>
              <organization>Vauban Research</organization>
            </author>
            <date year="2026" month="May"/>
          </front>
        </reference>
        <reference anchor="SCHROCK" target="https://datatracker.ietf.org/doc/draft-schrock-ep-outcome-binding/">
          <front>
            <title>Outcome Binding for Authorized Actions and Independently Observed Effects</title>
            <author initials="I." surname="Schrock" fullname="Iman Schrock">
              <organization/>
            </author>
            <date year="2026" month="July"/>
          </front>
        </reference>
        <reference anchor="MARQUES" target="https://datatracker.ietf.org/doc/draft-marques-asqav-compliance-receipts/">
          <front>
            <title>Compliance Profile of Signed Action Receipts for AI Agents</title>
            <author initials="J. A." surname="Gomes Marques" fullname="Joao Andre Gomes Marques">
              <organization/>
            </author>
            <date year="2026" month="July"/>
          </front>
        </reference>
        <reference anchor="ACTA" target="https://datatracker.ietf.org/doc/draft-farley-acta-signed-receipts/">
          <front>
            <title>Signed Decision Receipts for Machine-to-Machine Access Control</title>
            <author initials="T." surname="Farley" fullname="Tom Farley">
              <organization/>
            </author>
            <date year="2026" month="June"/>
          </front>
        </reference>
        <reference anchor="HOPLEY" target="https://datatracker.ietf.org/doc/draft-hopley-x402-compliance-receipt/">
          <front>
            <title>Categorical Compliance Screening Receipt Format for Agentic-Payment Flows</title>
            <author initials="C." surname="Hopley" fullname="Christopher Hopley">
              <organization/>
            </author>
            <date year="2026" month="May"/>
          </front>
        </reference>
        <reference anchor="ABAK" target="https://datatracker.ietf.org/doc/draft-abak-agent-control-delivery-evidence/">
          <front>
            <title>Evidence Requirements for Agent Control Delivery and Outcome Reconciliation</title>
            <author initials="A. T." surname="Abak" fullname="Ali Toygar Abak">
              <organization/>
            </author>
            <date year="2026" month="August"/>
          </front>
        </reference>
        <reference anchor="CPB" target="https://datatracker.ietf.org/doc/draft-mih-sokolov-scitt-payload-binding/">
          <front>
            <title>Canonical Payload Binding: A Signed Statement Construction Profile</title>
            <author initials="S." surname="Mih" fullname="Steven Mih">
              <organization/>
            </author>
            <author initials="A." surname="Sokolov" fullname="Anton Sokolov">
              <organization/>
            </author>
            <date year="2026" month="August"/>
          </front>
        </reference>
        <reference anchor="REATTEST" target="https://github.com/dogrucanemek-alt/cedulon/blob/e681e24d1b29912d8c190259c2ea9f4f9538c29d/spec/draft-dogru-cedulon-reattestation-00.md">
          <front>
            <title>Cedulon Re-Attestation: Carrying Spend Evidence Across Algorithm Retirement</title>
            <author initials="E. C." surname="Dogru" fullname="Emek Can Dogru">
              <organization/>
            </author>
            <date year="2026" month="August"/>
          </front>
        </reference>
        <reference anchor="STREAMING" target="https://github.com/dogrucanemek-alt/cedulon/blob/e681e24d1b29912d8c190259c2ea9f4f9538c29d/spec/draft-dogru-cedulon-streaming-00.md">
          <front>
            <title>Cedulon Streaming Reconciliation: Continuous Completeness for Agent Spend</title>
            <author initials="E. C." surname="Dogru" fullname="Emek Can Dogru">
              <organization/>
            </author>
            <date year="2026" month="August"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 3484?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Vernon Wharff set out the defect -02 repairs: that the object
carrying the T11 guarantee was neither profiled for registration nor
read during verification, and that the equivocation requirement could
not fire against a presented chain. He also asked the question that
decided the shape of that repair, namely whether a recorded checkpoint
absent from the chain deserves its own identifier or belongs under
window coverage. Iman Schrock confirmed the finding independently and
drew its boundary, keeping it separate from the extract-binding work
already closed in -01.</t>
      <t>Iman Schrock raised the first of -03's two subjects, against
the posted -02: whether the profile should accept a pinned witness key
and report an absent or mismatched pin explicitly. It should, and the
same question turned out to be unanswered for three further objects.</t>
      <t>Iman Schrock and Pablo Play ran the -00 implementation against the
pinned commit and reported the defects that produced -01. Iman Schrock
found the two extract-binding defects, proposed the repair -01 adopts,
later reran the posted -01 from a clean clone against its own pinned
commit, and is also the author of <xref target="SCHROCK"/>, cited here as adjacent
work. He is the reader whose independent implementation of the Signed
Statement identity is noted in <xref target="impl-status"/>, and he asked for it to
be kept separate from any cross-implementation claim about Cedulon;
that separation is his and is recorded here as he stated it. Pablo Play found that a repeated reference hid the unaccounted
amount, filed a written reproduction, and re-ran that reproduction
against the pinned commit to confirm the figures quoted from it. He
later took up a standing invitation to break the implementation and
ran the suite on a platform its author had not, which is how the three
defects behind 0.3.1 were found and how a fourth came to light while
they were being repaired.</t>
      <t>Nicholas Templeman ran the suite from a clean clone and reported his
figures. He also corrected two claims in a row written about that run:
the install it named was not the strict from-lockfile form, and his
platform was the same operating system family as the earlier ones, so
the run corroborates the numbers and adds no cross-environment
evidence. He
classified his own run honestly as a repetition of the author's checks
rather than an independent implementation. Walter Hawkins did not run it; he read the
reported figures and pressed for the run to be stated precisely enough
to be repeatable, which is why the conditions and not only the totals
appear in <xref target="impl-status"/>.</t>
      <t>Tiago Pinto ran the -04 Appendix A vectors against the exact
datatracker archive bytes in an independent toolchain before reading
the text, confirmed both signatures, the SPKI-derived <tt>kid</tt>, and
deterministic re-encoding byte for byte, and then filed the
first-failure list that -05 answers: eight points where an
independent implementation could no longer be built from the text,
one question, and three mechanical defects. The two-tier witness
split, the single key-resolution rule, the normative extract shape,
the issuer-order definition, the boundary allowance, the
countersignature attribution rule, the counterparty bindings, and the
delivery binding follow the failure points he named. Iman Schrock
additionally reran the frozen -04 claims against the archive and the
package registry, and corrected this document's description of what
its continuous integration measures; that correction is recorded in
<xref target="impl-status"/> where it landed.</t>
      <t>Reading the posted -05 against those dispositions, Tiago Pinto found
that the repair of the key-resolution failure had left its own old
description standing: the finding-code table still said that objects
held under no pin were checked against the keys they carry, while the
verification path said no signature comparison happened at all, and
the carried key both sentences turn on had no defined source anywhere
in this document. Measuring the two sentences against the companion
implementation settled them in opposite directions, which is why
neither was simply deleted, and <xref target="presentation"/> now defines the
member they depend on. He also asked for the state named in the
unpinned cell to be defined rather than used once, and consented to
his -04 run being recorded as the first run of these vectors outside
the companion codebase and not as an independent implementation.</t>
      <t>The two rules -06 adds came from reading rather than from a reader.
Steven Mih and Anton Sokolov published the canonicalization vectors
of <xref target="CPB"/>; running them through this profile's own <xref target="RFC8785"/>
encoder is what put the I-JSON precondition on the page as a rule
this document had left unstated, and the corrected reading of one of
those vectors was reported to the SCITT list before <tt>MUST-T4-20</tt> was
written. <tt>MUST-T4-21</tt> was found in the companion decoder while
measuring, for that reading, what this profile's digests cover.</t>
      <t>None of them reviewed this text, and any error in it is the author's.</t>
      <t>Field survey notes and the informative threat-model narrative in the
companion repository helped shape the requirement identifiers used
here. Those identifiers are defined in <xref target="security"/>.</t>
    </section>
    <section numbered="false" anchor="vectors">
      <name>Appendix A. Test Vectors</name>
      <t>These vectors use RFC 8032 Ed25519 secret scalar #1 (fixture only;
never a production key). Hex is lowercase.</t>
      <t>-03 said these vectors "<bcp14>MUST</bcp14> match the locked tests
in the companion implementation", which pointed the reader at code
rather than at this document. A specification that defers to an
implementation cannot be implemented from its own text, and that is the
property this document is trying to have. The vectors below are
normative on their own terms: an implementation matches them or it does
not, and where an implementation and a vector disagree, one of the two
is wrong and this document does not say in advance which.</t>
      <t>Receipt COSE_Sign1:</t>
      <t>Claims: payer=<tt>payer-1</tt>, payee=<tt>payee-1</tt>, amount=<tt>1</tt>,
currency=<tt>USD</tt>, policyHash=
<tt>fca4142da8ad241d24928227893894f4b5365efb746a4529fe9df0119d10da2c</tt>
(the SHA-256 of the UTF-8 octets of the ASCII string
<tt>cedulon/appendix-policy</tt>, standing in for a canonical policy
document; the field's input rule is in <xref target="hash-inputs"/>, and the
-04's vector carried <tt>aa</tt> here, violating its own
Table 3 - see <xref target="changes-04"/>), manifestHash=null,
noManifest=true, x402PaymentRef=null, timestampMs=1700000000000,
nonce=<tt>n100000000000000</tt>, prevReceiptHash=null, outcome=<tt>aborted</tt>.</t>
      <t>COSE_Sign1 hex (whitespace ignored):</t>
      <artwork><![CDATA[
845830a301320378206170706c69636174696f6e2f636564756c6f6e2d
726563656970742b63626f72044806e3fd8fda29bb60a058bbac3a0001
11706770617965722d313a000111716770617965652d313a0001117261
313a00011173635553443a000111747840666361343134326461386164
323431643234393238323237383933383934663462353336356566623734
366134353239666539646630313139643130646132633a00011175f63a
00011176f53a00011177f63a000111781b0000018bcfe568003a000111
79706e3130303030303030303030303030303a0001117af63a0001117b
6761626f7274656458400a24269b7521d409ebe462db297c3aa25b23d6
c697aa4a864b1b3a3edb5b30537b34b048a797073eaee41af371effb68
ecbb47b80e62d7e775e8cae5b066c30c
]]></artwork>
      <t>Manifest COSE_Sign1:</t>
      <t>Body: description=<tt>fixture-goods</tt>, amount=<tt>1</tt>, currency=<tt>USD</tt>,
acceptanceCriteriaHash=
<tt>e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855</tt>
(the SHA-256 of an empty delivery; the field is a digest of the exact
delivery bytes, so the vector carries a well-formed one),
cancelCondition=<tt>none</tt>,
expiresAtMs=1700000000000, ap2MandateHash=null.</t>
      <t>COSE_Sign1 hex (whitespace ignored):</t>
      <artwork><![CDATA[
845831a301320378216170706c69636174696f6e2f636564756c6f6e2d
6d616e69666573742b63626f72044806e3fd8fda29bb60a05889a73a00
0112386d666978747572652d676f6f64733a0001123961313a0001123a
635553443a0001123b7840653362306334343239386663316331343961
666266346338393936666239323432376165343165343634396239333
463613439353939316237383532623835353a0001123c646e6f6e653a
0001123d1b0000018bcfe568003a0001123ef65840599b5b1cc7bfd3fe
8b8e65cdd876652aeca13660e6bdccc93afe12188a295b20fdfe8e6e48
ae447dc74ccb0f13383f0f43f0f67f288d61a6395e95e2038e320d
]]></artwork>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9y923rcWHIueI+nwKguStLOZInUoSRyb3vYKnWX3FUlbYnV
bY8/jwlmgiSsJJANZIqipZpnmWeZJ5uIPw4rFhKUVO2ZuZj2526KBBbWIVac
44/5fF5sms2qPizvPK+X21XXHpbHbXm8XTab8qfqpu7L864vjy/qdjPfdHP8
UD7vrq7qflHfKaqzs75+f1jqy8WyW7TVFQ237KvzzXzZXfTb+UL+OH/wrFhW
G/rjwYODJ/Sv+YMnxYJ+cdH1N4dl0553xbA9u2qGoenazc2annz54uSPRbPu
D8tNvx02Bw8ePHtwUFR9XR2WQ70orrv+3UXfbdeHxbv6hv61PCzKcu7z4Z8r
njN+6utF3azl53W3ahY3+PHt85cnJ8Wwqdrlv1f0Vo2v1cVwVfWbf//bttvU
w2F5Xq2Gulg38oFNt7D/bdqlfWDo+k1fnw/yj5sr/3nBO9ZuhqLabi67HmPQ
/5e0ahr6xV75fK/8gTcLv5QtfHFVvyufV234Q9dfHJZ/efHm+J/Lkxd//uXV
T6/+6WX508ufX568+KF8+/LNn1+cvMSDi27bbnhXT7Y9bQx+V19VzeqwrPdw
Kv+rnsoeTa1ou/6q2jTva57Ymz8+P9jff6Y/Pjl4+Mh+fPrwqf74/aNnD/XH
pw8eHtiP+9/bs08fPvPfPtp/YD9+//Sx/fjskX3i2YPHB+lHG/fZ0yc22LNn
jw7Sj/QA00o+4+/DI/v+PfrlPv/4519f/PjTi7++/OWH+fGvP7w8OcSGGOUz
wfeLy2ZTLzbbvhaK5xvQtBfl8Uuh/vKHelVf0Ce7tiRCKV+2m7qvFvzv4Q6G
S0fL/5nL0f68V/55W1+u6msiE/2THfDPTf8f1e6f9c0f98o/NP27y271n6P3
fqzbd/nf4rV6LGur+ot6c1hebjbr4fC77+iJakPzfVf3e029Od8jUvqObut3
clHf+STmFa98XoUN+Y5G/AMR14+vfvrf5n85fp7v3l/qvjlvqrNVXRp3aN/X
/SBb9aZe0KX83A79nnX6Syd79NfVcjN6Y/RrffjVXvl2U9PxjZ5+1Td1/Evc
xad/zy6e6Vzn731P5uA+80XYkwH7eXzy4u38+OT1iBSxgyd91Q5CW+XrviMe
063Ku/Twvc/s4w+0j7SAYbTIH6r3zbI8Hi6Jlae//xcI5nJztbL18njzarOm
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
eNPIsuBFEpdZ0OlEcqcpEdNp2qpnTsjmzYY43nP2DLX1hv35sFMLGpetkq4f
5IaKG58UGuJntN3dO3BK8cR8O5S5K6fIXTk0NfofmhkrQHQhyOal/d7odPTQ
lWcPtCN/VY6KUATJbSaEFm/04KbMPO/fD/Lm/v1DcH0xrUCV/BDdm+G6xjHc
ua6Y4GgkYajViqSM0JVEImbOS68vG+I4YH+greKap3N2Q3MrabS6VOW3Xv7j
nZI5DQ1Lu4etbIQQ5LvYJz7lov4gi2UiNd0tUfHhzszBIehLVVvQYfbN2RZn
CdFSS3Ch7nnfKjjMZVur8tRn9iNR/Wlx9+PH8Oxvv92Tu0Jn32Px2JfR4ujc
adv5cvjS+QqVvH/pfp/VAy0DFHxH50qqPm1NR+OQDlGeES+iA7jaDhtcC/B7
ktQ9v8SHSVTtC2CGRNMmwUtChPkeDgonS9NgUrxab+ZNy1yB2UNfrLpuzZSh
qgUNSDoOEXolPHGj03aZTyyzXoP5saLQLAv/NplRtqEiznmw4bJZ47Su+46/
0m+ac7D243LDvmF6ks7whqZxMSubc6ZoGnrDVDXj82dXGh0uqXc3RM7GIYir
rpTrXVTrvfLlRvZL9qcmm+2cdo2YK/PEckFb1y2JLmm5okOIyiG6E02nYS8d
cZk99vF2a5Uv9UA2wTUtWFUOUduWkDsF74iQ61wWS7ZcLReLBqxLIhh5f85/
IIKhSbJezJ8U3zndi8KuUXKYlj//+vak/OXVCWm072qbOosvrIj5ny1Bxi/u
nvIr85Onc3349J7KbTUx9dLzToDNuu7O56HMgNdLguqChZ4rQrhs+NPgpiWN
BUpedluOCcB3Wp513bt3dQ06+vhRXajEpK5IISp6IkPaN7kwTCz8FISv0sLA
isMZCdmSbwKkHFy63w6FeGj1K/THioaHO/m330jKqZZIz+NO0NHw9XGlk6ST
q9zYCr78Mj5vB/P+6yZJadgqICnfN7oFrFgheiZXE7KZJ16LhB+68801/cBM
kzUy12oGUoGx5sLUIftNFPUQ7qYCiKxUMqjMEKU7y+ohHXfbbS8uZYYkXcpm
RE50PReXmOBA+g1dEXGgilJW4HfGMffAbFviFCuiXNqPIBD4LtBV4ZvEY/Gm
EznRXl9cntEGwQCStcORIzPo9Y1hSyZPs9lC+IwiK3R0Hioi2gCfojtckYjv
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
dZ/N+of5ONWSs/VYnFqnNp/o7TpZyvyTfG9jWKvu4tYeESaR5BkenJtfsjeX
QZD2PhvtyWaujamnYj9FFvsx7ddXFlSnlLIeu44Ck+Hl7uOx3uKs9o0RdN3q
JmO/qBgPvBcQYGonSz83GhrelRsb0nVWjZYVwfS5RrnY4rKLsbvb3kR6BKcB
sU+ebIHMZzxms5ICa+gtV7yFOAU+INH/PdFgEBMRWpLm6JVoai3NyBKcJgyQ
s5vCfXY8mKgbXrbJtzpztEe10MvlhIVBF0kJDqpZ4fGJUhk6wSdsZCSVz5IN
abIcLETch+1TwaBGOr0CLdFExY0wiDHItoK0QNMP4fvXedDErByMy5uHg7Iq
O4uM4N997KShThGYHTXbxw69n8TGCztaX3hVjuiC5nxRyxCD5wwX4TQA/D0x
kCvPRihYhYyz6QpOMrUsNB8M5rVZWVW7e6uiRAqT0NpLydCsbizs7W/t9OtB
tgOw96s0v9jvatzlJ7mpnD3LfTtEdJ0UyngS0f93tu01/xeiwxAIUWodqcqx
UCAEDMRGWbDjZHnUehcmC9vtRdSGamSPyYlCqCvgTmEF2az/p+Qfi87joVjd
JPc1MehCCgY1Arp0CA0BnWfrYZA0YMFAkkOFYmY5wo2nSEhGlH4y8tUdPJ9Q
igWkEl4176lFZ/3Q1PaAXysh5aeyIuKpAVLoSdx9gzay3bd/p93fBeE1w2Kq
ik4VOkEO1LihKxwVvpIQsLPeOSH95l3tuOoIb2ZqKaYt3S2W6LshsH0bzzgF
anyVVsb532bW7xZAeVZKk/qJ2MGLUcSxm0JttClt3irldvKfJ6Ln490cSWYv
WPyKVIxYS2drDVVl45yLDLgo+Kh8m1QHiY29Ho/CpNdTlsfUQovphWYmyf8n
KQG2uq9OCji2KP/o5Oi2714EodZlmBHN+eymGNO2IHiJBPf9/j1lY0xjxe0R
1a8rBStujah+PiIMXyNnjPjU83Q5Y19OWvZFuF+s82Y2P+cyuSs5q5EoPbvB
I6iFhWH9gk4QsEdYwxF6V6aJ6OqxmnpaXMZsy1uNigyRnAScSBu6A1XJ81ZY
Rtao0iiYZAmWs0MiRte/s/6qMHCAjqrpvdml+yoWogkBRbYh6GuhuzWCcM2h
huL13Ug/O7kE47LlwFUlO7ELbxoCryMLDdEq/p41yfy6BjqQ1o3ztrNe3cAD
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
8fzTxTv8ZUtTfGzmfVvnSZ4u6qpepHkC/0/TKk0n1TSrpnmfN0VWFl3fTPKy
zot02nfTRR8nyXSRxIs6beeGMA4D7r9Pl3+LKqVlltdmYC3PKHyHQGrecqrp
P2rZmBHf1XzsJ1oEBmAPGrl1y5Ygslpom1QlTvptt2wFAmZp58fDWf3TVmdP
Hal5Xc8pozUWdQ7OQ3Pji8p0YKUHK52e0uXng7HlzaNBXT2AnwZLSDvEj5Ft
czxCjIaA0z52Pf/WyBNgOE4msfsHLwDr4Xi+SuLgnzmpHfuqXHIpwSAcz+uG
Dqk5rCKPL/EajM2bJ6yqbe8ROCWA8QNYVv+Cf0yVF1UW11mcZGmcTao0LuGG
JnHZltMyg+9z+LMvu7SHvxVlPingJ/j3hZmk8AK+OIU35GkD36dlP0njPK/i
ssv6RdXDWpk2TRnXcVE1Td1mNTxLYhL4jHIywc+alsUkTRdZwj+CnyTuJ2UR
/CQtE+P9NSuzoiiyPLev5JMqj8sSbzzLM/w/LXP4viqTMjdZii+WOf05ha8V
/J9mE/hzmmX0NYf35mWaFfB3uDrcQVnib8CbS7pmAW+YwosFfMVfjuFTEvwe
vsb0WWmZ2fspYNRqI38p+8L+YII/kO+rpKEpTqqm7buirOJYf2YmMLYwlHDt
r/yrF6q9izamnMBD04TAHMLMFTA0cZ3maTltJkWaLPJ42jUdPO2iSacTmJo6
LZo0W5QG5n5S13ldlXmTNFmddYumaLK4yCZNljdxXtV4Y5Osq7suT+o+myRd
3zdlZbq2afJJU8UdXHfSTSZFV7V1VzQwLW0Wt7zqjKVRCAzdz+vF85Eftx7P
5UyNrtbrxTa0cKOBhTOv02qCteuyJm7zPJ1WfZu0ST6t+6bP22oKS7uZwpBM
angMGIp82sAaANs4LabTpAG/NG2qoti3dggmuLvfPVu5Kc8mKfz9iono/WSU
TSQw5alUHQKLRM1XEJMQao+7vw7GhnmNTtT/BfsAr2MjLZJ8dtvZbs+QjELW
ULIW/4ZpSDzTkHy3aSgXsPa6kjbKJPse41BN6wkuXgOrFzYmXKCERVjBji7Q
zqQLWM49/JtPdHfhPkysNUhhnw3MQZo1ZA5gL8MejmFb5mgQYJdXaCLAEmRk
IuAyBrc5bX02A1PY7bjxp2QqwADA4xRkPPBrSW9KyWiYXIzNFEwDvjEp2aKA
oShT+rOw99OCgehwiOAyYhZgv31x+6dZ15e4bWExwv5L2nbS9Ius70zVVHCN
drGoJjDCad21dQK3DJuuWbRtO83qvkvSpKpghGFPx/2i7+AdXV4ZWOn5ZNFO
8rZt4j7B5+3jPscv5aRPqwqmri6zadHBfzDvVQezv+AV8X9uzU0otz8DAA==

-->

</rfc>
