<?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-06" 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-06"/>
    <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="August" day="31"/>
    <area>sec</area>
    <keyword>Cedulon</keyword>
    <keyword>agent</keyword>
    <keyword>receipt</keyword>
    <keyword>policy</keyword>
    <keyword>SCITT</keyword>
    <abstract>
      <?line 143?>

<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 and return signed receipts.
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 (signed offer before payment), a Policy Decision Point with
default deny, a Spend Receipt (COSE/CWT claim set after a gated payment),
epoch checkpoints, and rail-extract reconciliation. 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 states the period
under audit; otherwise the document requires it to be reported as
conditional. Checkpoints carry the suppression guarantee, so the
document profiles the checkpoint as a Signed Statement, gives the
verification algorithm a step that consumes the witness receipts
returned for checkpoints, names what a witness holding a checkpoint the
presented chain omits reports, brings equivocation within reach by
comparing recorded copies against the presented chain, and states how
checkpoint totals may be withheld without withholding the fact that
they were. No signed object may be verified against a key it carries
itself, and a presented Trade Manifest must be bound both to the
receipts that name it and to the terms those receipts claim. The
document also names a threat no adversary causes, a settlement
recorded on a rail with no receipt behind it, and defines a Dispute
Evidence Bundle (evidence, not an award) and optional SCITT anchoring.
The encodings earlier revisions called canonical are defined, and the
exact input to every hash-valued field is stated, so that an
independent verifier can be written from the text alone. This
revision adds the JSON counterpart of the CBOR duplicate-key rule,
names the refusal of a non-empty unprotected header, and requests
registration of the five media types the profile carries in its
protected headers. Cedulon is not a competitor to x402 or AP2; it
sits above them.</t>
    </abstract>
  </front>
  <middle>
    <?line 182?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><em>Note to Readers:</em> This document is submitted as Informational. The
author's eventual intended 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. This -06 does not claim IETF consensus.</t>
      <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>, or
<tt>application/cedulon-countersign+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.</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 rather than
against any key the extract carries (<tt>MUST-T10-8</tt>). A verifier that
holds no such key <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 an extract that does not carry a verifiable
signature is <tt>unauthenticated-extract</tt>, 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>
      </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 that key rather than
against any key the extract carries (<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
rather than against a key the object carries (<tt>MUST-T4-9</tt>). 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>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>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 verifier
<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. 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. 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.</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">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">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, not against a key the object carries. 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, an unverifiable extract <bcp14>MUST</bcp14> be reported as <tt>unauthenticated-extract</tt> and makes the completeness guarantee conditional. 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, not against a key the extract carries. Without such a key the guarantee is conditional.</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>
          </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 -06 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 five 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 five 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"/>) and is verified
only against a pinned issuer key.</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>
    <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 -06 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 this revision and the previous three
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, 437 of 437, 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: the requirements -03 and -04 add that
are in a published package are in the published <tt>@cedulon</tt> packages at version 0.7.0, not only in the
repository, 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 - and what
this revision adds - 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>) - are implemented in the repository at the pinned
commit and are not in a published package at the time of posting:
the 0.7.0 packages parse extract text with a parser that keeps the
last of two values, and their decoder verifies a signature over a
stuffed unprotected header without complaint. The next package
release carries all of it, and this sentence is the discrepancy
notice rather than a reader having to find one. 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 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 in
0.7.0. 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.7.0 will not find it.</t>
      <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 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 (-07 or
later), written with the same discipline as this -06.</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 -06 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="informative-notes-on-adjacent-protocols">
      <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.</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="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="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 3121?>

<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:
H4sIAAAAAAAAA9y963bc2JEu+F9r6R0wqh8laTJZInUpiTynz9Aq2Va7LjoS
bbeXV08TzARJtJJAGsgUxZZqnmWeZZ5sIr647NgAUqLtmfkx5eUqMonc2JfY
cY8v5vP53TuberOqDot7L6vldtU2h8VxUxxvl/Wm+LG8qbrivO2K44uq2cw3
7Rw/FC/bq6uqW1T37t4pz8666sNhod++e2fZLpryigZcduX5Zr5sL7rtfCF/
nT96Rg+UG/rrwaODZ/NHz+eP9+/eWdAnF213c1jUzXl7906/Pbuq+75um83N
mp59/erkt3fv1OvusNh0235z8OjRi0cH9O6uKg+LvlrcvXPddu8vuna7Prx7
5311Q78u6aeimKeJ8S8lT19+7KpFVa/1l3W7qhc38vO7l69PTmgSm7JZ/kdJ
X63w2oo+uiq7zX/8bdtuqv6wOC9XPX24rvVFm3bhP9TN0l/Ut92mq857/e3m
Kv2y4H1sNvRbud1ctp2MxP8qaCvoHa/2ipd7xQ+8h/KpbO2rq+p98bJs4l/a
7uKw+NOrt8f/Vpy8+sPPv/z4y7++Ln58/dPrk1c/FO9ev/3Dq5PX8uSi3TYb
3u2TbUd7JR9WV2W9OiyqPRzY/6YHtkczvHunaburclN/qDC/t799ebC//8J+
fnbw+In//Pzxc/v5+ycvHtvPzx89PvCf97/3558/fpE+f7L/yH/+/vlT//nF
E3/Xi0dPD8LPPv6L5898zBcvnhyEn/kZpqrBCr6PT+2nN9PH+/j5N8cnr97N
j0/eHMr+2C2RC3DSlU1fLjZEosWbrqUTb1fFfXr6wT15PJwn/zOX4/xhr/gN
0XpvH9t5/lB+qJfFcX9J1y08EG/KU51G2V1Um8PicrNZ94fffUePlJuuXLyv
ur262pzvERl8R1fwu8vN1eo7uYJnPOK83Kx5iH978uhgsKSP/BHf+l/WVVO8
Y7ovuyXu/etmU3VNtZn/jN0r3pQ3INhdqwQR8njFb4nIaHK13Ly4lumFXF9f
7/EXsQB+5PjNcJ6y9TaFuO9vDnbuO2b0u7a9WFXCxeqFs6/BzJ7OH72Ynly5
Ppiv9XWYIH3wXb+uFvV5vcAiMeXfvX39u98NJn3S1Wt69Su+ccXxAnevbi6+
SCav94rfdfXFxZBMXtOND3+wie+ijbpsLjDbdbmuuv67DabyHxVPZY/pg7/2
5vjl619+fD2Y9bvt1VVZLKui7OrN5VVFu1bOiouqpR+7mn6k3VgTX6OV10W1
Cb+Wq3pTfnF1P+7RGS5q4rjD9f24XZT532SJ+09ePOHf/3T8x98c/zxBvcW7
k+O3fyjeCksn2uPbXrz6uKkaliJfpI0/ldsz2te3VV+V3eLyn795cuk+YNg5
z25OoqR7P1eB04NU3r38/dtfXv5hsJZfthtiuFXxG5IfRCQiejHr+r8qYhBg
OH1BF5Ru5rKi68piZnVT/HLWV90HeuTV+Xm12H0/jbzeLS67dvF+RGBXtBPZ
3+JGfP8PbUQvw82r9byV5c3PZHnYiJ+O3/7PP756N9gIuqHrFdHvouJrfl7T
DWrPi3f1RePbYKfdyy69ltv95ZX/615xTHeL5tAXP5Xd37ZjVvyvbdkSL1x2
1dRz//x2XMlw87L/W/lhvvB15uRx/PLkeHglZfE/ENPpR8v/qVxc1k3FGpr+
yLym6nvidXTd29UXt+Vkr/ht2a1MFUibcdJeZX+Jy9/Bx7+y/HOMNifRWc57
rChf+O9/efPjq78MqUH0Q+JBqyJQxrtFV1UN35PBxXeNtV7MVVwUv121118m
DlK0ft+uJ3bh5WVX95t2zdI5PvHPM4lLjCZMYkwK2JCXb34z2o2GuC7vBa1t
1ZZLYxckw+2KkBDfVFeiqjc9aa+uqvBd+uI2vNsrfqovh3vwblN9IOUg/EUf
p/v0rn3frtoPw68cNxt6ZfbHTPX/x65PfTnvZUjiLPVmM1/LJmRM5e2r4xNS
306GOydKLZHL/HhDOtEGopsOuOy6G6ajd8xRi1ekjFVMYMeLrqUrdLxi4iMx
SF/c1B329YtbONLa06ZMae632JULev32jLXx76CfL8qGpvF+Xq4236mq/t3Z
qj37rnr2fL86eLLcPzt48WL/YPl8sU+m0tMXi4OqfHH+5PzF08fPFwcvltBe
vpsy0cimSnszf/Ro72oJgXVCm/rT65+H+o3t6TuyccorvYxts6iJlnV3W9Z4
tu22l8tbkVRmzuS3VLb9/7872tvW2G7O2ezGf4ryrGdq3/DvJ5d1XxCpb3Fx
l9U5sfG+2FxWZsO6yjsjFYB2im30ldnoZEOakY4fxLgkLXfPVOaiIxOvL/rt
4rIo++L3JydvClaezpk1FveZCz1g3eLunSs2ATZVYTpvLzp2Ua5oJcub4qol
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
RVQMxQjzAgA=

-->

</rfc>
