<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.3.12) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc tocindent="yes"?>
<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-dogru-cedulon-05" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Cedulon">Cedulon: An Audit Layer for Agent-to-Agent Commerce</title>

    <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 133?>

<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.
This revision defines the encodings earlier revisions called canonical
without defining them, and states the exact input to every hash-valued
field, so that an independent verifier can be written from the text
alone. Cedulon is not a competitor to x402 or AP2; it sits above them.</t>



    </abstract>



  </front>

  <middle>


<?line 168?>

<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 -05 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 <spanx style="verb">deliveredHash</spanx>
(<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
(<spanx style="verb">MUST-T8-custody</spanx>).</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 (<spanx style="verb">MUST-T10-1</spanx>).</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, <spanx style="verb">manifestHash</spanx> or
an explicit <spanx style="verb">noManifest</spanx> flag, rail payment reference, <spanx style="verb">timestampMs</spanx>,
nonce, <spanx style="verb">prevReceiptHash</spanx>, and <spanx style="verb">outcome</spanx>.</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 <spanx style="verb">requestHash</spanx>, <spanx style="verb">policyHash</spanx>, <spanx style="verb">expiryMs</spanx>, <spanx style="verb">nonce</spanx>, and
<spanx style="verb">singleUseId</spanx>. 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>
</dl>

</section>
<section anchor="architecture"><name>Architecture</name>

<t>Cedulon has three control-plane objects and one optional log:</t>

<figure><artwork><![CDATA[
  Principal --policy--> PDP --allow/deny--> x402/AP2 rail
                              |
                              v
                      Receipt Issuer --> Spend Receipt
                              |
                              v
                      Anchor / SCITT (optional)
]]></artwork></figure>

<t>The payer agent never talks to the rail except through an adapter that
calls the PDP first (<spanx style="verb">MUST-T5-1</spanx>).</t>

<section anchor="policy-decision-point"><name>Policy Decision Point</name>

<t>The PDP evaluates structured fields only (<spanx style="verb">MUST-T1-1</spanx>): amount,
currency, payee, tool identifier, nonce, optional manifest hash, and
evaluation time. It applies limit, velocity, and scope checks
(<spanx style="verb">MUST-T2-1</spanx>, <spanx style="verb">MUST-T2-2</spanx>). If the PDP is unreachable, uninitialized,
or throws, the result is deny (<spanx style="verb">MUST-T2-3</spanx>). Denied attempts do not
increment success counters (<spanx style="verb">MUST-T2-4</spanx>).</t>

<t>An allow produces a Decision Token whose <spanx style="verb">requestHash</spanx> covers six
fields: amount, currency, payee, tool, nonce, and <spanx style="verb">manifestHash</spanx>
(<spanx style="verb">MUST-T3-4</spanx>, <spanx style="verb">MUST-T6-1</spanx>). The token is a COSE_Sign1 object
(<spanx style="verb">MUST-T6-4</spanx>), is single-use (<spanx style="verb">MUST-T6-2</spanx>), 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 (<spanx style="verb">MUST-T4-1</spanx>). Verifiers reject bad signatures and byte mismatch
(<spanx style="verb">MUST-T4-2</spanx>).</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 (<spanx style="verb">MAY-T4-6</spanx>). 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 (<spanx style="verb">SHOULD-T8-5</spanx>).</t>

<t>A Trade Manifest <bcp14>MUST</bcp14> bind all of the following (<spanx style="verb">MUST-T8-1</spanx>):</t>

<t><list style="symbols">
  <t>goods or service description</t>
  <t>price (integer minor units, encoded as a decimal string matching
<spanx style="verb">0|[1-9][0-9]*</spanx>)</t>
  <t>currency (ISO 4217 alphabetic or a documented token identifier)</t>
  <t>acceptance-criteria hash (SHA-256 <xref target="RFC6234"/> of the exact delivery
bytes, lowercase hexadecimal)</t>
  <t>cancel condition (opaque string agreed by the parties)</t>
  <t>expiry (POSIX milliseconds, <spanx style="verb">expiresAtMs</spanx>)</t>
</list></t>

<t>The previous revision 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 <spanx style="verb">ap2MandateHash</spanx>. The corresponding CBOR label is
always present; a missing mandate is encoded as CBOR null.</t>

<t>It <bcp14>MAY</bcp14> name a <spanx style="verb">payee</spanx>. An offer that is specific to one counterparty
carries that party's payee identifier; when present, every receipt
that names this manifest has its <spanx style="verb">payee</spanx> compared against it as exact
octets under <spanx style="verb">MUST-T8-9</spanx>, on that requirement's two-branch severity.
An open offer legitimately omits the member, and no comparison is
made. Unlike <spanx style="verb">ap2MandateHash</spanx>, the label is encoded only when the
member is present, so a manifest signed before this revision 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"/>). <spanx style="verb">manifestHash</spanx> is the SHA-256 of the signed
COSE bytes (<spanx style="verb">MUST-T8-7</spanx>). A spend bound to a manifest <bcp14>MUST</bcp14> be denied
if the requested amount or currency differs from the manifest
(<spanx style="verb">MUST-T8-2</spanx>) or if the manifest is expired (<spanx style="verb">MUST-T3-3</spanx>).</t>

<t>A spend that is not bound to a verified manifest <bcp14>MUST</bcp14> be marked
<spanx style="verb">noManifest</spanx> on the receipt and <bcp14>MUST</bcp14> still pass limit, velocity, and
scope checks (<spanx style="verb">MUST-T1-2</spanx>). An implementation <bcp14>MAY</bcp14> refuse all
<spanx style="verb">noManifest</spanx> spend (<spanx style="verb">MAY-T1-4</spanx>).</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 (<spanx style="verb">MUST-T4-3</spanx>, <spanx style="verb">MUST-T4-4</spanx>, <spanx style="verb">MUST-T4-7</spanx>):</t>

<texttable>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>payer</c>
      <c>Payer agent identifier</c>
      <c>payee</c>
      <c>Payee identifier</c>
      <c>amount</c>
      <c>Minor units as a decimal string <spanx style="verb">0|[1-9][0-9]*</spanx></c>
      <c>currency</c>
      <c>Currency identifier</c>
      <c>policyHash</c>
      <c>SHA-256 of the canonical policy document (lowercase hex)</c>
      <c>manifestHash</c>
      <c>SHA-256 of the signed manifest COSE bytes, or null when <spanx style="verb">noManifest</spanx> is true</c>
      <c>noManifest</c>
      <c>Boolean; <bcp14>MUST</bcp14> be true if and only if <spanx style="verb">manifestHash</spanx> is null</c>
      <c>x402PaymentRef</c>
      <c>Rail payment reference, or null</c>
      <c>timestampMs</c>
      <c>POSIX milliseconds</c>
      <c>nonce</c>
      <c>Unique spend nonce; at least 128 bits of randomness; unique in the issuer scope</c>
      <c>prevReceiptHash</c>
      <c>Previous receipt hash, or null for the first receipt (<spanx style="verb">SHOULD-T4-5</spanx>)</c>
      <c>outcome</c>
      <c><spanx style="verb">settled</spanx> or <spanx style="verb">aborted</spanx></c>
</texttable>

<t>A receipt with <spanx style="verb">outcome</spanx> = <spanx style="verb">settled</spanx> <bcp14>MUST</bcp14> have a non-null
<spanx style="verb">x402PaymentRef</spanx> (<spanx style="verb">MUST-T4-7</spanx>). 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><spanx style="verb">receiptHash</spanx> 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 (<spanx style="verb">MUST-T4-2</spanx>).</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 (<spanx style="verb">MAY-T8-10</spanx>). The profile uses a <strong>detached</strong>
COSE_Sign1 <xref target="RFC9052"/> whose payload is a CBOR map with private-use
labels:</t>

<texttable>
      <ttcol align='left'>Label</ttcol>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>CBOR type</ttcol>
      <c>-70401</c>
      <c>receiptCose</c>
      <c>bstr (exact issuer COSE_Sign1 bytes)</c>
      <c>-70402</c>
      <c>deliveredHash</c>
      <c>bstr (optional; SHA-256 of the exact delivered bytes)</c>
</texttable>

<t>The countersignature uses the header profile in <xref target="cose-profile"/>
and content type <spanx style="verb">application/cedulon-countersign+cbor</spanx>.</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 <spanx style="verb">receiptHash</spanx> after issue, breaking
the receipt chain. A detached Sign1 keeps the issuer bytes
stable, reuses <spanx style="verb">kid</spanx> 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 (<spanx style="verb">MAY-T8-10</spanx>). 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, <spanx style="verb">kid</spanx> or content type does not
match, label -70401 is not the issuer COSE bytes (<spanx style="verb">MUST-T8-8</spanx>), 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 <spanx style="verb">MUST-T8-9</spanx>
already encodes for the manifest comparison, applied one object
over. The identifiers <spanx style="verb">countersign-bad</spanx> (unverifiable) and
<spanx style="verb">countersign-key-mismatch</spanx> (verifiable under another key) name the
discarded object as warnings, and where the verifier pinned a payee
key and no attributable countersignature remains, the
<spanx style="verb">countersign-missing</spanx> warning still applies: a discarded forgery is
the absence of the payee's word, not a substitute for it.</t>

<t>The optional <spanx style="verb">deliveredHash</spanx> 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 <spanx style="verb">deliveredHash</spanx> and the verifier also holds the Trade
Manifest, the two digests are compared as exact octets:
<spanx style="verb">deliveredHash</spanx> against <spanx style="verb">acceptanceCriteriaHash</spanx>. A mismatch is
<spanx style="verb">delivery-mismatch</spanx>, and it is a finding rather than a warning,
because both ends of the comparison are signed. A <spanx style="verb">deliveredHash</spanx>
carried by an unattributable countersignature is discarded with it.
A countersigner <bcp14>MUST</bcp14> refuse to sign a <spanx style="verb">deliveredHash</spanx> that is not 32
octets; a verifier that meets one anyway treats the countersignature
as carrying no <spanx style="verb">deliveredHash</spanx>, 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
this revision.</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 (<spanx style="verb">MUST-T8-4</spanx>).</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 (<spanx style="verb">MUST-T4-1</spanx>).</t>

<t>The previous revision 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 (<spanx style="verb">MUST-T4-18</spanx>). 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 (<spanx style="verb">MUST-T4-19</spanx>). 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 <spanx style="verb">hash</spanx> carries a SHA-256
digest rendered as exactly 64 lowercase hexadecimal characters
(<spanx style="verb">[0-9a-f]{64}</spanx>). 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. The previous revision stated the rendering in prose while its
own Appendix A vector violated it, which taught decoders to be
lenient; the grammar is now enforced and the vector is regenerated in
this revision.</t>

<t>Receipt labels (<spanx style="verb">MUST-T4-3</spanx>, <spanx style="verb">MUST-T4-4</spanx>, <spanx style="verb">MUST-T4-7</spanx>):</t>

<texttable>
      <ttcol align='left'>Label</ttcol>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>CBOR type</ttcol>
      <c>-70001</c>
      <c>payer</c>
      <c>tstr</c>
      <c>-70002</c>
      <c>payee</c>
      <c>tstr</c>
      <c>-70003</c>
      <c>amount</c>
      <c>tstr</c>
      <c>-70004</c>
      <c>currency</c>
      <c>tstr</c>
      <c>-70005</c>
      <c>policyHash</c>
      <c>tstr (hash)</c>
      <c>-70006</c>
      <c>manifestHash</c>
      <c>tstr (hash) / null</c>
      <c>-70007</c>
      <c>noManifest</c>
      <c>bool</c>
      <c>-70008</c>
      <c>x402PaymentRef</c>
      <c>tstr / null</c>
      <c>-70009</c>
      <c>timestampMs</c>
      <c>uint</c>
      <c>-70010</c>
      <c>nonce</c>
      <c>tstr</c>
      <c>-70011</c>
      <c>prevReceiptHash</c>
      <c>tstr (hash) / null</c>
      <c>-70012</c>
      <c>outcome</c>
      <c>tstr (<spanx style="verb">settled</spanx> / <spanx style="verb">aborted</spanx>)</c>
</texttable>

<t>Checkpoint labels (<spanx style="verb">MUST-T11-1</spanx>):</t>

<texttable>
      <ttcol align='left'>Label</ttcol>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>CBOR type</ttcol>
      <c>-70101</c>
      <c>epoch</c>
      <c>uint</c>
      <c>-70102</c>
      <c>startMs</c>
      <c>uint</c>
      <c>-70103</c>
      <c>endMs</c>
      <c>uint</c>
      <c>-70104</c>
      <c>receiptCount</c>
      <c>uint</c>
      <c>-70105</c>
      <c>chainHeadHash</c>
      <c>tstr (hash) / null</c>
      <c>-70106</c>
      <c>totals</c>
      <c>map tstr -&gt; tstr / null</c>
      <c>-70107</c>
      <c>prevCheckpointHash</c>
      <c>tstr (hash) / null</c>
</texttable>

<t>Manifest labels (<spanx style="verb">MUST-T8-1</spanx>):</t>

<texttable>
      <ttcol align='left'>Label</ttcol>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>CBOR type</ttcol>
      <c>-70201</c>
      <c>description</c>
      <c>tstr</c>
      <c>-70202</c>
      <c>amount</c>
      <c>tstr</c>
      <c>-70203</c>
      <c>currency</c>
      <c>tstr</c>
      <c>-70204</c>
      <c>acceptanceCriteriaHash</c>
      <c>tstr (hash)</c>
      <c>-70205</c>
      <c>cancelCondition</c>
      <c>tstr</c>
      <c>-70206</c>
      <c>expiresAtMs</c>
      <c>uint</c>
      <c>-70207</c>
      <c>ap2MandateHash</c>
      <c>tstr (hash) / null</c>
      <c>-70208</c>
      <c>payee</c>
      <c>tstr (optional; encoded only when present)</c>
</texttable>

<t>Decision Token labels (<spanx style="verb">MUST-T6-4</spanx>):</t>

<texttable>
      <ttcol align='left'>Label</ttcol>
      <ttcol align='left'>Claim</ttcol>
      <ttcol align='left'>CBOR type</ttcol>
      <c>-70301</c>
      <c>requestHash</c>
      <c>tstr (hash)</c>
      <c>-70302</c>
      <c>policyHash</c>
      <c>tstr (hash)</c>
      <c>-70303</c>
      <c>expiryMs</c>
      <c>uint</c>
      <c>-70304</c>
      <c>nonce</c>
      <c>tstr</c>
      <c>-70305</c>
      <c>singleUseId</c>
      <c>tstr</c>
</texttable>

</section>
<section anchor="cosesign1-headers"><name>COSE_Sign1 headers</name>

<t>The protected header <bcp14>MUST</bcp14> be a deterministic CBOR map containing
(<spanx style="verb">MUST-T4-1</spanx>, <spanx style="verb">MUST-T4-8</spanx>):</t>

<t><list style="symbols">
  <t><spanx style="verb">1</spanx> (alg) = <spanx style="verb">-19</spanx> (Ed25519, <xref target="RFC9864"/>; the generic EdDSA value
<spanx style="verb">-8</spanx> from <xref target="RFC9053"/> is deprecated for this profile)</t>
  <t><spanx style="verb">3</spanx> (content type) = a tstr that distinguishes the payload:
<spanx style="verb">application/cedulon-receipt+cbor</spanx>,
<spanx style="verb">application/cedulon-checkpoint+cbor</spanx>,
<spanx style="verb">application/cedulon-manifest+cbor</spanx>,
<spanx style="verb">application/cedulon-decision+cbor</spanx>, or
<spanx style="verb">application/cedulon-countersign+cbor</spanx></t>
  <t><spanx style="verb">4</spanx> (kid) = bstr, mandatory. The profile computes <spanx style="verb">kid</spanx> 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 <spanx style="verb">kid</spanx> does not match
that key.</t>
</list></t>

<t>The unprotected header <bcp14>MUST</bcp14> be empty. The payload <bcp14>MUST</bcp14> be the CBOR
encoding of the claim map. The signature is Ed25519 <xref target="RFC8032"/> over
the COSE <spanx style="verb">Sig_structure</spanx>
<spanx style="verb">["Signature1", protected, h'', payload]</spanx>.</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 the previous revision
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>Two notes on the boundary of that reference:</t>

<t><list style="symbols">
  <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. The previous revision permitted
emitting the escaped form instead, which contradicted the RFC it
cited; that permission is removed.</t>
  <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>
</list></t>

<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.
<spanx style="verb">kid</spanx> 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). <spanx style="verb">ap2MandateHash</spanx> 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. <spanx style="verb">deliveredHash</spanx> 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 <spanx style="verb">acceptanceCriteriaHash</spanx> are made over the
digest value. The previous revision named the digest for some of
these fields and not for others; the omissions were not a deliberate
degree of freedom.</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Input to SHA-256</ttcol>
      <c><spanx style="verb">receiptHash</spanx></c>
      <c>the signed COSE_Sign1 octets of the receipt</c>
      <c><spanx style="verb">manifestHash</spanx></c>
      <c>the signed COSE_Sign1 octets of the Trade Manifest</c>
      <c><spanx style="verb">checkpointHash</spanx></c>
      <c>the signed COSE_Sign1 octets of the checkpoint</c>
      <c><spanx style="verb">statementHash</spanx></c>
      <c>the signed COSE_Sign1 octets of the statement</c>
      <c><spanx style="verb">acceptanceCriteriaHash</spanx></c>
      <c>the exact delivery bytes, as defined where the Trade Manifest is</c>
      <c><spanx style="verb">deliveredHash</spanx></c>
      <c>the exact bytes the payee received; the same input rule as <spanx style="verb">acceptanceCriteriaHash</spanx>, computed by the other party</c>
      <c><spanx style="verb">policyHash</spanx></c>
      <c>the UTF-8 octets of the canonical policy document</c>
      <c><spanx style="verb">requestHash</spanx></c>
      <c>the UTF-8 octets of the canonical six-field request document</c>
      <c><spanx style="verb">kid</spanx></c>
      <c>the SubjectPublicKeyInfo DER; the digest is then truncated to its first 8 bytes</c>
      <c><spanx style="verb">ap2MandateHash</spanx></c>
      <c>the octets AP2 defines for its mandate; not profiled by this document</c>
</texttable>

<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 <spanx style="verb">MUST-T6-1</spanx> names:
amount, currency, payee, tool, nonce, and <spanx style="verb">manifestHash</spanx>. The previous
revision described <spanx style="verb">requestHash</spanx> as "the six-field hash" while naming
SHA-256 for <spanx style="verb">policyHash</spanx> 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. <spanx style="verb">amount</spanx>
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. <spanx style="verb">currency</spanx>,
<spanx style="verb">payee</spanx>, and <spanx style="verb">nonce</spanx> are the request's text strings. <spanx style="verb">tool</spanx> is the
request's text string, or JSON null where the deployment names none.
<spanx style="verb">manifestHash</spanx> 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. <spanx style="verb">policyHash</spanx> 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 <spanx style="verb">policyHash</spanx> 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
(<spanx style="verb">MUST-T6-4</spanx>).</t>

<t><spanx style="verb">requestHash</spanx> <bcp14>MUST</bcp14> be the SHA-256 of the canonical encoding of the six
fields the PDP evaluated (<spanx style="verb">MUST-T6-1</spanx>), rendered as lowercase
hexadecimal; <xref target="canonical-json"/> defines that encoding and
<xref target="hash-inputs"/> states the octets. The previous revision called this
"the six-field hash" in the same sentence that named SHA-256 for
<spanx style="verb">policyHash</spanx>, which left the digest for one of them unstated.
<spanx style="verb">policyHash</spanx> <bcp14>MUST</bcp14> be the SHA-256 of the canonical
policy document the PDP evaluated. <spanx style="verb">expiryMs</spanx> is a Unix time in
milliseconds after which the token <bcp14>MUST</bcp14> be treated as expired
(<spanx style="verb">SHOULD-T6-3</spanx>): expired when the evaluation time is strictly greater
than <spanx style="verb">expiryMs</spanx>, not yet expired at exactly <spanx style="verb">expiryMs</spanx>, on the same
boundary discipline <spanx style="verb">MUST-T3-3</spanx> states for the manifest. <spanx style="verb">nonce</spanx> is the request nonce. <spanx style="verb">singleUseId</spanx> is
the identifier consumed on the first settlement attempt
(<spanx style="verb">MUST-T6-2</spanx>).</t>

<t>A party that accepts a Decision Token <bcp14>MUST</bcp14> reject it if the
signature fails, if <spanx style="verb">kid</spanx> does not match a configured PDP key, if
the content type is not <spanx style="verb">application/cedulon-decision+cbor</spanx>, if
the decoded claim map does not match the presented claims, or if
<spanx style="verb">expiryMs</spanx> is in the past (<spanx style="verb">MUST-T6-5</spanx>).</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 (<spanx style="verb">MUST-T10-7</spanx>).</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>

<texttable>
      <ttcol align='left'>Member</ttcol>
      <ttcol align='left'>JSON type</ttcol>
      <c>ref</c>
      <c>string (rail payment reference)</c>
      <c>amount</c>
      <c>string matching <spanx style="verb">0|[1-9][0-9]*</spanx></c>
      <c>currency</c>
      <c>string</c>
      <c>timestampMs</c>
      <c>number (POSIX milliseconds, an integer)</c>
</texttable>

<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. The previous revision
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 <spanx style="verb">reference</spanx> where the table says <spanx style="verb">ref</spanx> has no rule
telling it whether the two are the same member. The table wins, and
the previous revision's sentence is withdrawn. The table also used
CBOR terms (<spanx style="verb">tstr</spanx>, <spanx style="verb">uint</spanx>) for what is a JSON body; the types above
are stated in JSON terms.</t>

<t>A record <bcp14>MAY</bcp14> carry a <spanx style="verb">beneficiary</spanx> 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 <spanx style="verb">ref</spanx>, and a difference is reported
(<spanx style="verb">beneficiary-mismatch</spanx>). 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 <spanx style="verb">[windowStartMs, windowEndMs)</spanx>. The
signed body is one JSON document with exactly this shape:</t>

<texttable>
      <ttcol align='left'>Member</ttcol>
      <ttcol align='left'>JSON type</ttcol>
      <c>accountId</c>
      <c>string</c>
      <c>railId</c>
      <c>string</c>
      <c>windowStartMs</c>
      <c>number (POSIX milliseconds, an integer)</c>
      <c>windowEndMs</c>
      <c>number (POSIX milliseconds, an integer)</c>
      <c>clockSkewMs</c>
      <c>number (milliseconds, a non-negative integer; optional; see <xref target="reconciliation"/>)</c>
      <c>settlements</c>
      <c>array of settlement records (schema above)</c>
</texttable>

<t>All six named members except <spanx style="verb">clockSkewMs</spanx> <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 - <spanx style="verb">windowStartMs</spanx>, <spanx style="verb">windowEndMs</spanx>, each
record's <spanx style="verb">timestampMs</spanx>, and <spanx style="verb">clockSkewMs</spanx> - <bcp14>MUST</bcp14> be integers of
magnitude at most 2^53 - 1, the range a JSON number carries exactly,
and <spanx style="verb">clockSkewMs</spanx> <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><spanx style="verb">clockSkewMs</spanx>, 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 (<spanx style="verb">MUST-T10-7</spanx>). 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 (<spanx style="verb">MUST-T10-8</spanx>). 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
(<spanx style="verb">MUST-T10-9</spanx>). 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 <spanx style="verb">trust-key-unreadable</spanx> 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 <spanx style="verb">unauthenticated-extract</spanx>, 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
<spanx style="verb">timestampMs</spanx> falls outside <spanx style="verb">[windowStartMs, windowEndMs)</spanx> as
<spanx style="verb">extract-scope-mismatch</spanx>, identified by that record's <spanx style="verb">ref</spanx>
(<spanx style="verb">MUST-T10-10</spanx>). 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 (<spanx style="verb">MUST-T10-11</spanx>). 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 <spanx style="verb">unstated-audit-window</spanx> and <bcp14>MUST</bcp14> treat the guarantee as
conditional (<spanx style="verb">MUST-T10-15</spanx>), 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 (<spanx style="verb">MUST-T10-8</spanx>). -02 already
required a verifier to obtain the public key from an authenticated
channel and to reject a <spanx style="verb">kid</spanx> that does not match that key
(<spanx style="verb">MUST-T4-8</spanx>). 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 (<spanx style="verb">MUST-T4-9</spanx>). 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
<spanx style="verb">unauthenticated-issuer</spanx> 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 (<spanx style="verb">MUST-T4-10</spanx>). 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 <spanx style="verb">MUST-T10-9</spanx>. A pinned issuer key the
verifier cannot decode is a fault in its own configuration and <bcp14>MUST</bcp14>
be reported as <spanx style="verb">trust-key-unreadable</spanx> 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 (<spanx style="verb">MUST-T4-11</spanx>). 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 <spanx style="verb">kid</spanx> 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 (<spanx style="verb">carried-key-mismatch</spanx>, 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 <spanx style="verb">kid</spanx>, but does not
verify under it is excluded from the attested set and <bcp14>MUST</bcp14> still be
walked and named - for a receipt, <spanx style="verb">receipt-chain-break</spanx> with a
signature-failed detail - never silently dropped; an object that
neither verifies under the pin nor claims it is
<spanx style="verb">issuer-key-mismatch</spanx>, 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>

<texttable>
      <ttcol align='left'>Claims the pin (carried key or kid)</ttcol>
      <ttcol align='left'>Verifies under the pin</ttcol>
      <ttcol align='left'>Result</ttcol>
      <c>yes</c>
      <c>yes</c>
      <c>attested; a carried key other than the verifying one is <spanx style="verb">carried-key-mismatch</spanx>, a warning, and does not move the receipt</c>
      <c>yes</c>
      <c>no</c>
      <c>excluded from the attested set; still walked and named in step 6 (<spanx style="verb">receipt-chain-break</spanx>, signature-failed detail); its settlement stays uncovered in step 8</c>
      <c>no</c>
      <c>no</c>
      <c><spanx style="verb">issuer-key-mismatch</spanx>; excluded; its settlement stays uncovered in step 8 (<spanx style="verb">MUST-T4-9</spanx>, <spanx style="verb">MUST-T4-10</spanx>)</c>
      <c>no pin held</c>
      <c>not checked</c>
      <c>no signature comparison happens at all - there is no key to check under, and the keys the objects carry are not a fallback (<spanx style="verb">MUST-T4-11</spanx>); receipts are presented-unattested, the verifier reports <spanx style="verb">unauthenticated-issuer</spanx>, and accusation-shaped findings take the two-branch severity of <spanx style="verb">MUST-T8-9</spanx></c>
</texttable>

<t>A verifier <bcp14>MUST</bcp14> accept an issuer root that is a set of keys rather
than a single key (<spanx style="verb">MUST-T4-12</spanx>). 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 (<spanx style="verb">MUST-T4-13</spanx>). 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 (<spanx style="verb">MUST-T4-14</spanx>): 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 (<spanx style="verb">MUST-T11-15</spanx>).
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 (<spanx style="verb">MUST-T11-16</spanx>); 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
(<spanx style="verb">MUST-T11-17</spanx>).</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
(<spanx style="verb">MUST-T6-6</spanx>).</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
(<spanx style="verb">MUST-T4-15</spanx>). 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
<spanx style="verb">unauthenticated-manifest</spanx> 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 <spanx style="verb">trust-key-unreadable</spanx>
rather than as a mismatch, on the same terms as <spanx style="verb">MUST-T4-11</spanx>. A
manifest that does not verify against a readable pin <bcp14>MUST</bcp14> be
reported as <spanx style="verb">manifest-key-mismatch</spanx> 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 <spanx style="verb">manifestHash</spanx> of the receipts presented to
the audit and <bcp14>MUST</bcp14> report a manifest that no presented receipt
references (<spanx style="verb">MUST-T4-17</spanx>); the identifier <spanx style="verb">manifest-covers-no-receipt</spanx>
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 <spanx style="verb">noManifest</spanx> 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 <spanx style="verb">MUST-T1-2</spanx>.</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 (<spanx style="verb">MUST-T8-9</spanx>); the identifier
<spanx style="verb">manifest-terms-mismatch</spanx> 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
<spanx style="verb">MUST-T4-17</spanx> next door already counts it as a reference. The time
compared is the receipt's <spanx style="verb">timestampMs</spanx>, against the boundary
<spanx style="verb">MUST-T3-3</spanx> states: strictly after <spanx style="verb">expiresAtMs</spanx> departs, exactly at
it does not. Amount and currency are compared on the exact-octet
terms of <spanx style="verb">MUST-T8-2</spanx> - 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 <spanx style="verb">trust-key-unreadable</spanx> 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. The previous revision 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><spanx style="verb">MUST-T4-17</spanx> 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
(<spanx style="verb">MUST-T8-2</spanx>) and one made against an expired manifest
(<spanx style="verb">MUST-T3-3</spanx>). 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 (<spanx style="verb">MUST-T4-16</spanx>). 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
(<spanx style="verb">MUST-T10-2</spanx>).</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 (<spanx style="verb">MUST-T11-12</spanx>).</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
(<spanx style="verb">MUST-T11-1</spanx>):</t>

<t>epoch, <spanx style="verb">startMs</spanx>, <spanx style="verb">endMs</spanx>, <spanx style="verb">receiptCount</spanx>, <spanx style="verb">chainHeadHash</spanx>,
<spanx style="verb">totals</spanx>, and <spanx style="verb">prevCheckpointHash</spanx>.</t>

<t>The checkpoint window is half-open <spanx style="verb">[startMs, endMs)</spanx>
(<spanx style="verb">MUST-T11-7</spanx>). <spanx style="verb">receiptCount</spanx> <bcp14>MUST</bcp14> equal the number of receipts
(settled and aborted) whose <spanx style="verb">timestampMs</spanx> falls in that window.
<spanx style="verb">chainHeadHash</spanx> <bcp14>MUST</bcp14> equal <spanx style="verb">receiptHash</spanx> of the last receipt in that
window - the last link, in issuer order (the <spanx style="verb">prevReceiptHash</spanx> chain,
as the verification algorithm's step 6 defines it), of the chain
inside the window, not the last one presented or the latest
<spanx style="verb">timestampMs</spanx> - or null if the window is empty (<spanx style="verb">MUST-T11-2</spanx>). Where <spanx style="verb">totals</spanx>
is present it <bcp14>MUST</bcp14> sum only receipts with <spanx style="verb">outcome</spanx> = <spanx style="verb">settled</spanx>; the
one permitted absence is the signed redaction below.</t>

<t>An issuer that publishes a checkpoint without its totals <bcp14>MUST</bcp14> encode
<spanx style="verb">totals</spanx> as null in the signed payload (<spanx style="verb">MUST-T11-12</spanx>). 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 (<spanx style="verb">MUST-T11-13</spanx>). 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, <spanx style="verb">startMs</spanx>, <spanx style="verb">endMs</spanx>, <spanx style="verb">receiptCount</spanx>,
<spanx style="verb">chainHeadHash</spanx>, <spanx style="verb">prevCheckpointHash</spanx>) <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 <spanx style="verb">prevCheckpointHash</spanx> <bcp14>MUST</bcp14> be null. Epoch numbers
<bcp14>MUST</bcp14> be consecutive integers. Adjacent windows <bcp14>MUST</bcp14> satisfy
<spanx style="verb">next.startMs = prev.endMs</spanx> (<spanx style="verb">MUST-T11-8</spanx>).</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 (<spanx style="verb">MUST-T11-9</spanx>). 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 (<spanx style="verb">MUST-T11-11</spanx>). 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 <spanx style="verb">application/cedulon-checkpoint+cbor</spanx>
(<xref target="anchoring"/>). What comes back, and what it proves, is stated as
two named tiers, because the previous revision 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. The previous
revision 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 (<spanx style="verb">MUST-T11-10</spanx>). 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
(<spanx style="verb">MUST-T11-10</spanx>).</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 (<spanx style="verb">MUST-T11-18</spanx>).
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
<spanx style="verb">witness-inclusion-invalid</spanx> 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 (<spanx style="verb">MUST-T11-19</spanx>); the identifier
<spanx style="verb">witness-inclusion-not-exercised</spanx> 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-algorithm"><name>Verification algorithm</name>

<t>A verifier <bcp14>MUST</bcp14> perform all of these steps and <bcp14>MUST</bcp14> report every
finding they produce (<spanx style="verb">MUST-T10-1</spanx>, <spanx style="verb">MUST-T11-2</spanx>). 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 <spanx style="verb">MUST-T8-9</spanx> comparison. A receipt the
pin rejects is reported once and then excluded, which is what keeps
the settlement it names visible as uncovered (<spanx style="verb">MUST-T4-10</spanx>); 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:
<spanx style="verb">MUST-T4-17</spanx>, 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 <spanx style="verb">ref</spanx> or other handle given in the step. The
identifiers are not an interoperability surface.</t>

<t><list style="numbers" type="1">
  <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 (<spanx style="verb">MUST-T10-12</spanx>). 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 <spanx style="verb">extract-settlement-mismatch</spanx> <bcp14>SHOULD</bcp14> be used for this
condition in diagnostic output.</t>
  <t>Verify the extract signature against the out-of-band rail key
(<spanx style="verb">MUST-T10-8</spanx>, <spanx style="verb">MUST-T10-9</spanx>). If no key is pinned, the verifier
<bcp14>MUST</bcp14> treat the completeness guarantee as conditional
(<spanx style="verb">MUST-T10-7</spanx>). The identifier <spanx style="verb">unauthenticated-extract</spanx> <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 <spanx style="verb">trust-key-unreadable</spanx>
<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 <spanx style="verb">extract-key-mismatch</spanx>
<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>
  <t>Check scope. The verifier <bcp14>MUST</bcp14> report each settlement record
whose <spanx style="verb">timestampMs</spanx> falls outside the declared window, identified
by that record's <spanx style="verb">ref</spanx> (<spanx style="verb">MUST-T10-10</spanx>). When the verifier states
an expected account, rail, or window, it <bcp14>MUST</bcp14> report an extract
that does not cover it (<spanx style="verb">MUST-T10-11</spanx>). The identifier
<spanx style="verb">extract-scope-mismatch</spanx> <bcp14>SHOULD</bcp14> be used for both conditions. If
the verifier stated no period, it <bcp14>MUST</bcp14> treat the guarantee as
conditional (<spanx style="verb">MUST-T10-15</spanx>). The identifier
<spanx style="verb">unstated-audit-window</spanx> <bcp14>SHOULD</bcp14> be used for this condition.</t>
  <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 (<spanx style="verb">MUST-T4-2</spanx>, <spanx style="verb">MUST-T4-8</spanx>). Then
ask one question: does the signature verify under a pinned issuer
key. <spanx style="verb">kid</spanx> 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 (<spanx style="verb">MUST-T4-13</spanx>,
<spanx style="verb">MUST-T4-14</spanx>). Where a Trade Manifest is presented, <xref target="manifest-root"/>
governs it (<spanx style="verb">MUST-T4-15</spanx>): with no publisher key pinned the verifier
reports <spanx style="verb">unauthenticated-manifest</spanx> and the guarantee is conditional;
with a pin that cannot be read, <spanx style="verb">trust-key-unreadable</spanx>; with a pin
the manifest does not answer to, <spanx style="verb">manifest-key-mismatch</spanx>; and with
a manifest that no presented receipt references,
<spanx style="verb">manifest-covers-no-receipt</spanx> (<spanx style="verb">MUST-T4-17</spanx>). A receipt that names
the manifest but departs from its amount, currency, expiry or,
where the manifest names one, payee is
reported as <spanx style="verb">manifest-terms-mismatch</spanx>; 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 (<spanx style="verb">MUST-T8-9</spanx>). An audit
presented with no Trade Manifest is not made conditional by this
step.</t>
  <t>Scope the receipts. Membership follows the ref binding first: a
receipt whose <spanx style="verb">ref</spanx> appears on the extract is reconciled against
this extract even when its own <spanx style="verb">timestampMs</spanx> falls outside the
declared window - the rail has signed that the settlement belongs
to the window, and the receipt follows its settlement. The
<spanx style="verb">timestampMs</spanx> sieve applies only to receipts the extract does not
name: such a receipt outside the window is not a completeness
failure against this extract (<spanx style="verb">MUST-T10-16</spanx>); 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 <spanx style="verb">clockSkewMs</spanx> of <spanx style="verb">windowEndMs</spanx>, and an
unmatched settlement record within <spanx style="verb">clockSkewMs</spanx> of
<spanx style="verb">windowStartMs</spanx>, are reported as <spanx style="verb">boundary-deferred</spanx>, 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 (<spanx style="verb">MUST-T10-17</spanx>). Where the following window's extract
is presented and verifies, a deferred receipt whose <spanx style="verb">ref</spanx> appears
on it is resolved and not reported, and one whose <spanx style="verb">ref</spanx> 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 <spanx style="verb">ref</spanx> 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 <spanx style="verb">ref</spanx>, 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>
  <t>Walk the attested receipts in issuer order. Issuer order is the
order induced by the <spanx style="verb">prevReceiptHash</spanx> chain: the verifier
rebuilds the chain from the links, and the order in which
receipts were presented carries no weight. <spanx style="verb">timestampMs</spanx> is
issuer-asserted and is not an ordering source. The first
<spanx style="verb">prevReceiptHash</spanx> <bcp14>MUST</bcp14> be null. Each later <spanx style="verb">prevReceiptHash</spanx> <bcp14>MUST</bcp14>
equal <spanx style="verb">receiptHash</spanx> 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 <spanx style="verb">receipt-chain-break</spanx> <bcp14>SHOULD</bcp14> be
used for this condition.</t>
  <t>Index the attested settled receipts and extract records by <spanx style="verb">ref</spanx>. A <spanx style="verb">ref</spanx>
that appears more than once on either side <bcp14>MUST</bcp14> be reported as a
repeated reference (<spanx style="verb">MUST-T10-6</spanx>). The identifier <spanx style="verb">duplicate-ref</spanx>
<bcp14>SHOULD</bcp14> be used for this condition.</t>
  <t>For each <spanx style="verb">ref</spanx> that appears exactly once on each side, require a
one-to-one match on <spanx style="verb">ref</spanx> AND <spanx style="verb">amount</spanx> AND <spanx style="verb">currency</spanx>
(<spanx style="verb">MUST-T10-1</spanx>), compared as exact octets on the terms of
<spanx style="verb">MUST-T8-2</spanx>; 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
<spanx style="verb">ref</spanx>. The identifier <spanx style="verb">settlement-mismatch</spanx> <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 <spanx style="verb">ref</spanx> (<spanx style="verb">MUST-T10-2</spanx>). The
identifier <spanx style="verb">settlement-without-receipt</spanx> <bcp14>SHOULD</bcp14> be used for this
condition. A settled receipt with no extract row <bcp14>MUST</bcp14> be reported
as a completeness failure (<spanx style="verb">MUST-T10-3</spanx>). The identifier
<spanx style="verb">receipt-without-settlement</spanx> <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
<spanx style="verb">settled-without-ref</spanx> <bcp14>SHOULD</bcp14> be used for this condition.
Where a settlement record declares a <spanx style="verb">beneficiary</spanx>
(<xref target="rail-extract"/>), it <bcp14>MUST</bcp14> be compared against the matched
receipt's <spanx style="verb">payee</spanx> as exact octets; a difference is
<spanx style="verb">beneficiary-mismatch</spanx> and fails the audit. Where neither the
manifest names a <spanx style="verb">payee</spanx> nor any settlement record declares a
<spanx style="verb">beneficiary</spanx>, the report <bcp14>MUST</bcp14> carry <spanx style="verb">counterparty-unbound</spanx>, 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>
  <t>A <spanx style="verb">ref</spanx> already reported as repeating <bcp14>MUST</bcp14> still be reconciled
by amount rather than dropped from the comparison
(<spanx style="verb">MUST-T10-13</spanx>). For each currency under that <spanx style="verb">ref</spanx>, 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 <spanx style="verb">settlement-without-receipt</spanx> <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 <spanx style="verb">ref</spanx>. The identifier
<spanx style="verb">settlement-mismatch</spanx> <bcp14>SHOULD</bcp14> be used for this condition. An
amount on that repeating <spanx style="verb">ref</spanx> that cannot be parsed as an
integer <bcp14>MUST</bcp14> be reported without abandoning the audit; the
identifier <spanx style="verb">malformed-amount</spanx> <bcp14>SHOULD</bcp14> be used for this condition.
A verifier <bcp14>MUST</bcp14> still report findings for the remaining records.</t>
  <t>Aborted receipts are not matched to extract rows and are not
added to totals.</t>
  <t>Decode each checkpoint. Reject a failed signature, and reject a
   <spanx style="verb">kid</spanx> that does not match the key obtained for the checkpoint
   issuer, on the same terms as a receipt (<spanx style="verb">MUST-T4-8</spanx>). Require
   <spanx style="verb">receiptCount</spanx>, <spanx style="verb">chainHeadHash</spanx>, and <spanx style="verb">totals</spanx> to match the
   attested receipts in <spanx style="verb">[startMs, endMs)</spanx> as defined above
   (<spanx style="verb">MUST-T11-2</spanx>); a receipt step 4 rejected is not among them,
   or a forged receipt could satisfy a checkpoint count. The identifier <spanx style="verb">checkpoint-total-mismatch</spanx>
   <bcp14>SHOULD</bcp14> be used for a failed signature, a wrong <spanx style="verb">receiptCount</spanx>,
   or totals that disagree, and <spanx style="verb">checkpoint-head-mismatch</spanx> for a
   <spanx style="verb">chainHeadHash</spanx> that is not the last link, in issuer order
   (step 6), of the chain inside <spanx style="verb">[startMs, endMs)</spanx> - "last
   receipt" binds to the chain, not to presentation or to
   <spanx style="verb">timestampMs</spanx>. If the
   signed <spanx style="verb">totals</spanx> 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 (<spanx style="verb">MUST-T11-12</spanx>). The
   identifier <spanx style="verb">checkpoint-totals-redacted</spanx> <bcp14>SHOULD</bcp14> be used for this
   condition. <spanx style="verb">receiptCount</spanx> and <spanx style="verb">chainHeadHash</spanx> <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>
  <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 (<spanx style="verb">MUST-T11-7</spanx>, <spanx style="verb">MUST-T11-8</spanx>). The identifier
<spanx style="verb">window-coverage</spanx> <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
<spanx style="verb">endMs</spanx>. 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>
  <t>Walk checkpoints in epoch order. <spanx style="verb">prevCheckpointHash</spanx> <bcp14>MUST</bcp14>
equal the SHA-256 of the previous checkpoint COSE bytes, or null
for genesis (<spanx style="verb">MUST-T11-4</spanx>). The identifier
<spanx style="verb">checkpoint-total-mismatch</spanx> <bcp14>SHOULD</bcp14> be used for a broken chain,
which is the fourth condition its table row names.</t>
  <t>If two successfully verified checkpoints share an epoch number
and have different hashes, the verifier <bcp14>MUST</bcp14> report
equivocation (<spanx style="verb">MUST-T11-3</spanx>). The identifier <spanx style="verb">equivocation</spanx>
<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: <spanx style="verb">MUST-T11-8</spanx>, 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>
  <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 (<spanx style="verb">MUST-T11-15</spanx>);
the identifier <spanx style="verb">unauthenticated-witness</spanx> <bcp14>SHOULD</bcp14> be used for this
condition.
Discard any whose signature fails (<spanx style="verb">MUST-T11-10</spanx>). 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 (<spanx style="verb">MUST-T11-16</spanx>).
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 (<spanx style="verb">MUST-T11-18</spanx>); a pair that fails,
or a candidate without a proof, is <spanx style="verb">witness-inclusion-invalid</spanx>
and the audit <bcp14>MUST</bcp14> fail. Where witness receipts were supplied
and no tier-2 pair was, report <spanx style="verb">witness-inclusion-not-exercised</spanx>
as a warning (<spanx style="verb">MUST-T11-19</spanx>): the witness attested the statement
hash, and log membership was not proven.</t>
  <t>Compare the surviving witness records against the presented
chain (<spanx style="verb">MUST-T11-11</spanx>). For each presented checkpoint with no
surviving record, report that it is not anchored; the
identifier <spanx style="verb">checkpoint-not-anchored</spanx> <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
<spanx style="verb">checkpoint-withheld</spanx> <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 (<spanx style="verb">MUST-T11-17</spanx>). 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 (<spanx style="verb">MUST-T11-11</spanx>).</t>
  <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 (<spanx style="verb">MUST-T10-4</spanx>).</t>
</list></t>

</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
(<spanx style="verb">MUST-T10-14</spanx>).</t>

<texttable>
      <ttcol align='left'>Code</ttcol>
      <ttcol align='left'>Effect</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c>settlement-without-receipt</c>
      <c>audit fails</c>
      <c>Extract row has no matching settled receipt, or a repeating <spanx style="verb">ref</spanx> settled more than it receipted</c>
      <c>receipt-without-settlement</c>
      <c>audit fails</c>
      <c>Settled receipt ref is not on the extract</c>
      <c>settlement-mismatch</c>
      <c>audit fails</c>
      <c>Same <spanx style="verb">ref</spanx>, different amount or currency, including a repeating <spanx style="verb">ref</spanx> that settled less than it receipted</c>
      <c>duplicate-ref</c>
      <c>audit fails</c>
      <c>Ref appears more than once on one side</c>
      <c>settled-without-ref</c>
      <c>audit fails</c>
      <c><spanx style="verb">outcome</spanx> is settled and <spanx style="verb">x402PaymentRef</spanx> is null</c>
      <c>receipt-chain-break</c>
      <c>audit fails</c>
      <c>Signature or <spanx style="verb">prevReceiptHash</spanx> failed, or the links cannot place a receipt (issuer order, step 6)</c>
      <c>checkpoint-total-mismatch</c>
      <c>audit fails</c>
      <c>Totals, count, signature, or checkpoint chain failed</c>
      <c>checkpoint-head-mismatch</c>
      <c>audit fails</c>
      <c><spanx style="verb">chainHeadHash</spanx> is not the last link, in issuer order, of the chain inside the window</c>
      <c>equivocation</c>
      <c>audit fails</c>
      <c>Two distinct hashes for one epoch</c>
      <c>window-coverage</c>
      <c>audit fails</c>
      <c>Gap, overlap, or non-adjacent / non-consecutive windows</c>
      <c>unauthenticated-extract</c>
      <c>guarantee conditional</c>
      <c>No rail key is pinned and the extract carries no signature the verifier could check; with a pinned key the extract fails closed as <spanx style="verb">extract-key-mismatch</spanx> instead</c>
      <c>extract-key-mismatch</c>
      <c>audit fails</c>
      <c>Extract is signed by a key other than the pinned rail key, or does not verify against it</c>
      <c>trust-key-unreadable</c>
      <c>audit fails</c>
      <c>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</c>
      <c>issuer-key-mismatch</c>
      <c>audit fails</c>
      <c>An object is signed by a key other than the pinned issuer key, so it is not coverage for anything it names</c>
      <c>countersign-key-mismatch</c>
      <c>conditional</c>
      <c>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"/>)</c>
      <c>countersign-missing</c>
      <c>conditional</c>
      <c>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</c>
      <c>unauthenticated-issuer</c>
      <c>conditional</c>
      <c>No verifier-supplied issuer key and at least one receipt or checkpoint presented; those objects were checked against the keys they carry</c>
      <c>unauthenticated-witness</c>
      <c>conditional</c>
      <c>No verifier-supplied witness key; inclusion receipts were left out of the comparison</c>
      <c>unauthenticated-countersigner</c>
      <c>conditional</c>
      <c>No verifier-supplied payee key; a countersignature is present but proves no approval</c>
      <c>unauthenticated-manifest</c>
      <c>conditional</c>
      <c>No verifier-supplied manifest key and a Trade Manifest was presented; it was checked against the key it carries. An audit presented with no Trade Manifest is not this condition</c>
      <c>manifest-key-mismatch</c>
      <c>audit fails</c>
      <c>A presented Trade Manifest is signed by a key other than the pinned publisher key, or does not verify against it</c>
      <c>manifest-covers-no-receipt</c>
      <c>conditional</c>
      <c>A presented Trade Manifest is referenced by no presented receipt, including aborted ones and those outside the extract window; the terms were attributed but no receipt names them</c>
      <c>manifest-terms-mismatch</c>
      <c>audit fails under a usable issuer pin; warning without one</c>
      <c>A receipt names this Trade Manifest but its amount, currency or settlement time departs from the manifest; a gate applying <spanx style="verb">MUST-T8-2</spanx> and <spanx style="verb">MUST-T3-3</spanx> would have refused the payment. The two severities are the two branches of <spanx style="verb">MUST-T8-9</spanx></c>
      <c>witness-entry-unattributable</c>
      <c>conditional</c>
      <c>The witness holds a statement this chain does not present, carrying no body to say whose it is</c>
      <c>extract-scope-mismatch</c>
      <c>audit fails</c>
      <c>A record falls outside the declared window, or the extract does not cover the expected account, rail, or window</c>
      <c>extract-settlement-mismatch</c>
      <c>audit fails</c>
      <c>A caller-supplied settlement list disagrees with the extract; the extract is authoritative</c>
      <c>malformed-amount</c>
      <c>audit fails</c>
      <c>An amount on a <spanx style="verb">ref</spanx> already reported as repeating that could not be parsed as an integer</c>
      <c>unstated-audit-window</c>
      <c>guarantee conditional</c>
      <c>The verifier stated no period, so the extract defined its own</c>
      <c>countersign-bad</c>
      <c>conditional</c>
      <c>Present payee countersignature failed verify (signature, content type, or payload binding); unattributable, discarded as approval evidence. One verifiable under another key is <spanx style="verb">countersign-key-mismatch</spanx></c>
      <c>checkpoint-withheld</c>
      <c>audit fails</c>
      <c>A verified witness receipt binds a checkpoint the presented chain does not contain</c>
      <c>checkpoint-not-anchored</c>
      <c>guarantee conditional</c>
      <c>A witness was supplied and holds no verified receipt for this checkpoint</c>
      <c>checkpoint-totals-redacted</c>
      <c>guarantee conditional</c>
      <c>The checkpoint was signed with <spanx style="verb">totals</spanx> null, so the totals comparison could not be made</c>
      <c>carried-key-mismatch</c>
      <c>conditional</c>
      <c>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"/>)</c>
      <c>boundary-deferred</c>
      <c>conditional</c>
      <c>An unmatched item sits within the declared <spanx style="verb">clockSkewMs</spanx> of the window edge; deferred to the adjacent window rather than reported as a completeness failure (step 5)</c>
      <c>beneficiary-mismatch</c>
      <c>audit fails</c>
      <c>A settlement record declares a <spanx style="verb">beneficiary</spanx> and the matched receipt's <spanx style="verb">payee</spanx> differs</c>
      <c>counterparty-unbound</c>
      <c>scope record; verdict and guarantee unchanged</c>
      <c>Neither the manifest names a <spanx style="verb">payee</spanx> nor any settlement record declares a <spanx style="verb">beneficiary</spanx>: ref, amount and currency closed against the payer's account extract, and the counterparty's identity was not bound</c>
      <c>delivery-mismatch</c>
      <c>audit fails</c>
      <c>An attributable countersignature carries <spanx style="verb">deliveredHash</spanx> and it differs from the manifest <spanx style="verb">acceptanceCriteriaHash</spanx>; both ends are signed (<spanx style="verb">MAY-T8-11</spanx>)</c>
      <c>witness-inclusion-invalid</c>
      <c>audit fails</c>
      <c>The tier-2 candidate bytes and inclusion proof do not reproduce a witness-signed tree head, or a candidate was supplied without a proof (<spanx style="verb">MUST-T11-18</spanx>)</c>
      <c>witness-inclusion-not-exercised</c>
      <c>conditional</c>
      <c>Witness receipts were supplied and no tier-2 pair was; the witness attested the statement hash, and log membership was not proven (<spanx style="verb">MUST-T11-19</spanx>)</c>
      <c>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)</c>
      <c>audit fails</c>
      <c>A hash-shaped claim does not match the 64-lowercase-hex grammar of <xref target="receipt-labels"/>; the claim is named in the code</c>
</texttable>

<t>A finding that puts the extract itself in doubt (<spanx style="verb">extract-key-mismatch</spanx>,
<spanx style="verb">trust-key-unreadable</spanx>, <spanx style="verb">extract-scope-mismatch</spanx>, or
<spanx style="verb">extract-settlement-mismatch</spanx>) <bcp14>MUST</bcp14> also prevent an unconditional
guarantee, not merely fail the audit. A finding that puts a presented
Trade Manifest in doubt (<spanx style="verb">manifest-key-mismatch</spanx>, or
<spanx style="verb">trust-key-unreadable</spanx> 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
(<spanx style="verb">checkpoint-totals-redacted</spanx>) removes a comparison the guarantee
rests on, and a presented checkpoint a supplied witness does not
hold (<spanx style="verb">checkpoint-not-anchored</spanx>) 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 (<spanx style="verb">MUST-T10-14</spanx>). 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
(<spanx style="verb">SHOULD-T11-5</spanx>). A test deployment <bcp14>MAY</bcp14> use an in-process
append-only log as the witness (<spanx style="verb">MAY-T11-6</spanx>). 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 (<spanx style="verb">MUST-T11-9</spanx>).
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>

<t><list style="numbers" type="1">
  <t><strong>Manifest.</strong> Parties sign a Trade Manifest (optional for metered
API spend; required for goods with acceptance criteria).</t>
  <t><strong>Policy check.</strong> The adapter submits a structured request to the
PDP. Default is deny. An allow is a Decision Token
(<spanx style="verb">MUST-T6-4</spanx>).</t>
  <t><strong>Payment.</strong> On allow, the adapter performs the x402 (or other
rail) exchange using exactly the decision fields (<spanx style="verb">MUST-T6-1</spanx>).
The Decision Token is consumed (<spanx style="verb">MUST-T6-2</spanx>). A reused nonce is
denied (<spanx style="verb">MUST-T3-1</spanx>, <spanx style="verb">MUST-T3-2</spanx>). A tampered or expired token
is denied (<spanx style="verb">MUST-T6-5</spanx>).</t>
  <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 (<spanx style="verb">MUST-T5-2</spanx>, <spanx style="verb">MUST-T7-1</spanx>).</t>
  <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 (<spanx style="verb">MUST-T8-3</spanx>).
The bundle <bcp14>MUST NOT</bcp14> be described as an arbitral award or escrow
release (<spanx style="verb">MUST-T8-4</spanx>).</t>
</list></t>

</section>
<section anchor="policy-semantics"><name>Policy Semantics</name>

<t>Policy is default deny. The engine understands three families of
rule:</t>

<t><list style="symbols">
  <t><strong>Limit:</strong> maximum amount per payment; maximum cumulative amount
per window (<spanx style="verb">MUST-T2-2</spanx>).</t>
  <t><strong>Velocity:</strong> maximum number of allowed payments per window
(<spanx style="verb">MUST-T2-1</spanx>).</t>
  <t><strong>Scope:</strong> optional allow-lists for payee, currency, and tool
name.</t>
</list></t>

<t>Fail-closed: missing engine, crash, or exception yields deny
(<spanx style="verb">MUST-T2-3</spanx>). Implementations <bcp14>SHOULD</bcp14> emit stable reason codes
(<spanx style="verb">SHOULD-T2-5</spanx>). Decision tokens <bcp14>SHOULD</bcp14> expire after a short TTL
(<spanx style="verb">SHOULD-T6-3</spanx>).</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 (<spanx style="verb">MUST-T5-1</spanx>).</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
<spanx style="verb">policyHash</spanx> 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
(<spanx style="verb">MUST-T11-14</spanx>). Its Signed Statement carries the checkpoint
COSE_Sign1 object as the payload and <spanx style="verb">application/cedulon-checkpoint+cbor</spanx>
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 (<spanx style="verb">SHOULD-T11-5</spanx>) 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 (<spanx style="verb">MUST-T9-1</spanx>). Implementations <bcp14>MUST NOT</bcp14> write
government-ID numbers, payment-instrument PAN, or street address
into a public statement (<spanx style="verb">MUST-T9-2</spanx>). Default public anchors
<bcp14>SHOULD</bcp14> publish <spanx style="verb">policyHash</spanx>, <spanx style="verb">manifestHash</spanx>, <spanx style="verb">receiptHash</spanx>, and
<spanx style="verb">timestampMs</spanx> rather than full claims (<spanx style="verb">SHOULD-T9-3</spanx>). A private
auditor <bcp14>MAY</bcp14> receive an unredacted receipt out of band
(<spanx style="verb">MAY-T9-4</spanx>).</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 (<spanx style="verb">MUST-T9-5</spanx>). -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"/>: <spanx style="verb">totals</spanx> <bcp14>MAY</bcp14> be
withheld by signing it as null (<spanx style="verb">MUST-T11-12</spanx>), and only that form
counts as a redaction (<spanx style="verb">MUST-T11-13</spanx>). 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 <spanx style="verb">THREAT_MODEL.md</spanx> 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>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T1-1</c>
      <c>The PDP <bcp14>MUST</bcp14> decide from structured request fields and stored policy, not from model-generated prose.</c>
      <c><bcp14>MUST</bcp14>-T1-2</c>
      <c>A spend that is not bound to a verified Trade Manifest <bcp14>MUST</bcp14> be marked <spanx style="verb">noManifest</spanx> on the Spend Receipt and <bcp14>MUST</bcp14> still be subject to limit, velocity, and scope policy.</c>
      <c><bcp14>SHOULD</bcp14>-T1-3</c>
      <c>Hosts <bcp14>SHOULD</bcp14> require a human confirmation channel for first-use payees.</c>
      <c><bcp14>MAY</bcp14>-T1-4</c>
      <c>An implementation <bcp14>MAY</bcp14> refuse all <spanx style="verb">noManifest</spanx> spend.</c>
</texttable>

</section>
<section anchor="t2-runaway-agent-loop-spend"><name>T2: Runaway agent (loop spend)</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T2-1</c>
      <c>Policy <bcp14>MUST</bcp14> express a maximum payment count per configured time window (velocity).</c>
      <c><bcp14>MUST</bcp14>-T2-2</c>
      <c>Policy <bcp14>MUST</bcp14> express a maximum amount per payment and a maximum cumulative amount per window.</c>
      <c><bcp14>MUST</bcp14>-T2-3</c>
      <c>If the PDP is unreachable, uninitialized, or throws during evaluation, the spend <bcp14>MUST</bcp14> be denied (fail-closed, default deny).</c>
      <c><bcp14>MUST</bcp14>-T2-4</c>
      <c>A denied attempt <bcp14>MUST NOT</bcp14> increment the allowed-spend counters as if it had succeeded.</c>
      <c><bcp14>SHOULD</bcp14>-T2-5</c>
      <c>Implementations <bcp14>SHOULD</bcp14> emit a stable reason code for velocity and limit denials.</c>
</texttable>

</section>
<section anchor="t3-replay-of-payment-authority"><name>T3: Replay of payment authority</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T3-1</c>
      <c>Every spend attempt that the PDP allows <bcp14>MUST</bcp14> include a nonce that the implementation has not accepted before.</c>
      <c><bcp14>MUST</bcp14>-T3-2</c>
      <c>A second attempt that reuses a nonce <bcp14>MUST</bcp14> be denied.</c>
      <c><bcp14>MUST</bcp14>-T3-3</c>
      <c>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 <spanx style="verb">expiresAtMs</spanx>; a settlement at exactly <spanx style="verb">expiresAtMs</spanx> is within the manifest. The previous revision said "expired" without fixing the boundary, which two implementations can read two ways.</c>
      <c><bcp14>MUST</bcp14>-T3-4</c>
      <c>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.</c>
      <c><bcp14>SHOULD</bcp14>-T3-5</c>
      <c>Nonce stores <bcp14>SHOULD</bcp14> persist across process restart when the deployment is not a test fixture.</c>
</texttable>

</section>
<section anchor="t4-receipt-forgery-or-repudiation"><name>T4: Receipt forgery or repudiation</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T4-1</c>
      <c>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"/>); the previous revision used it for both and left a reader to work out which was meant.</c>
      <c><bcp14>MUST</bcp14>-T4-2</c>
      <c>Verifiers <bcp14>MUST</bcp14> reject a receipt whose signature does not validate or whose canonical bytes do not match the signed payload.</c>
      <c><bcp14>MUST</bcp14>-T4-3</c>
      <c>A Spend Receipt <bcp14>MUST</bcp14> include <spanx style="verb">payer</spanx>, <spanx style="verb">payee</spanx>, <spanx style="verb">amount</spanx>, <spanx style="verb">currency</spanx>, <spanx style="verb">policyHash</spanx>, <spanx style="verb">timestampMs</spanx>, and <spanx style="verb">nonce</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T4-4</c>
      <c>A Spend Receipt <bcp14>MUST</bcp14> include <spanx style="verb">manifestHash</spanx> or an explicit <spanx style="verb">noManifest</spanx> flag, never an ambiguous empty hash. Empty optional values are CBOR null; labels are never absent.</c>
      <c><bcp14>SHOULD</bcp14>-T4-5</c>
      <c>Receipts <bcp14>SHOULD</bcp14> form a hash chain (<spanx style="verb">prevReceiptHash</spanx>) so omission is detectable within one issuer stream.</c>
      <c><bcp14>MAY</bcp14>-T4-6</c>
      <c>Parties <bcp14>MAY</bcp14> register the signed receipt as a SCITT statement to obtain a COSE receipt.</c>
      <c><bcp14>MUST</bcp14>-T4-7</c>
      <c>A Spend Receipt <bcp14>MUST</bcp14> include <spanx style="verb">outcome</spanx> (<spanx style="verb">settled</spanx> or <spanx style="verb">aborted</spanx>). A settled receipt <bcp14>MUST</bcp14> have a non-null rail ref. Aborted receipts <bcp14>MUST NOT</bcp14> enter checkpoint totals.</c>
      <c><bcp14>MUST</bcp14>-T4-8</c>
      <c>COSE_Sign1 protected headers <bcp14>MUST</bcp14> use alg -19 (Ed25519), a mandatory <spanx style="verb">kid</spanx>, and a payload-specific content type. Verifiers <bcp14>MUST</bcp14> reject a <spanx style="verb">kid</spanx> that does not match the configured issuer key.</c>
      <c><bcp14>MUST</bcp14>-T4-9</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-10</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-11</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-12</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-13</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-14</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-15</c>
      <c>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 <spanx style="verb">trust-key-unreadable</spanx>; a readable pin the manifest does not answer to <bcp14>MUST</bcp14> be reported as <spanx style="verb">manifest-key-mismatch</spanx> 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.</c>
      <c><bcp14>MUST</bcp14>-T4-16</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-17</c>
      <c>A verifier presented with a Trade Manifest <bcp14>MUST</bcp14> compare the manifest hash against the <spanx style="verb">manifestHash</spanx> 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.</c>
      <c><bcp14>MUST</bcp14>-T4-18</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T4-19</c>
      <c>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.</c>
</texttable>

</section>
<section anchor="t5-policy-bypass-via-direct-rail-access"><name>T5: Policy bypass via direct rail access</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T5-1</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T5-2</c>
      <c>Rail credentials, wallet handles, and facilitator tokens <bcp14>MUST NOT</bcp14> be placed in tool results or prompts.</c>
      <c><bcp14>SHOULD</bcp14>-T5-3</c>
      <c>Hosts <bcp14>SHOULD</bcp14> run the PDP and signing keys in a process the model runtime cannot write.</c>
      <c><bcp14>MAY</bcp14>-T5-4</c>
      <c>A deployment <bcp14>MAY</bcp14> use OS or hardware isolation between the model and the PDP.</c>
</texttable>

</section>
<section anchor="t6-toctou-between-policy-check-and-payment"><name>T6: TOCTOU between policy check and payment</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T6-1</c>
      <c>Payment settlement <bcp14>MUST</bcp14> use the same six <spanx style="verb">requestHash</spanx> fields the PDP evaluated: amount, currency, payee, tool, nonce, and <spanx style="verb">manifestHash</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T6-2</c>
      <c>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.</c>
      <c><bcp14>SHOULD</bcp14>-T6-3</c>
      <c>Implementations <bcp14>SHOULD</bcp14> treat a decision older than a short TTL as expired.</c>
      <c><bcp14>MUST</bcp14>-T6-4</c>
      <c>An allow Decision Token <bcp14>MUST</bcp14> be COSE_Sign1 with CWT private-use labels -70301..-70305 (<spanx style="verb">requestHash</spanx>, <spanx style="verb">policyHash</spanx>, <spanx style="verb">expiryMs</spanx>, <spanx style="verb">nonce</spanx>, <spanx style="verb">singleUseId</spanx>) and content type <spanx style="verb">application/cedulon-decision+cbor</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T6-5</c>
      <c>A party that accepts a Decision Token <bcp14>MUST</bcp14> reject a failed signature, a <spanx style="verb">kid</spanx> or content-type mismatch, a claim-map mismatch, or an expired <spanx style="verb">expiryMs</spanx>. The token is expired when the evaluation time is strictly greater than <spanx style="verb">expiryMs</spanx>; at exactly <spanx style="verb">expiryMs</spanx> it is not.</c>
      <c><bcp14>MUST</bcp14>-T6-6</c>
      <c>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.</c>
</texttable>

</section>
<section anchor="t7-signing-key-leakage"><name>T7: Signing-key leakage</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T7-1</c>
      <c>Secret key material <bcp14>MUST NOT</bcp14> appear in receipts, checkpoints, manifests, decision tokens, logs, or example output.</c>
      <c><bcp14>MUST</bcp14>-T7-2</c>
      <c>Example and test keys <bcp14>MUST</bcp14> be generated at runtime or stored as clearly fake fixtures, never as production secrets.</c>
      <c><bcp14>SHOULD</bcp14>-T7-3</c>
      <c>Production deployments <bcp14>SHOULD</bcp14> use an HSM or OS key store and <bcp14>SHOULD</bcp14> rotate keys.</c>
      <c><bcp14>MAY</bcp14>-T7-4</c>
      <c>Implementations <bcp14>MAY</bcp14> encrypt keys at rest.</c>
      <c><bcp14>MUST</bcp14>-T7-5</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T7-6</c>
      <c>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.</c>
</texttable>

</section>
<section anchor="t8-counterparty-price-gouging-or-defective-delivery"><name>T8: Counterparty price gouging or defective delivery</name>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T8-1</c>
      <c>A Trade Manifest <bcp14>MUST</bcp14> bind goods or service description, price, currency, acceptance-criteria hash, cancel condition, and expiry.</c>
      <c><bcp14>MUST</bcp14>-T8-2</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T8-3</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T8-4</c>
      <c>The Dispute Evidence Bundle <bcp14>MUST NOT</bcp14> be described as an arbitral award or escrow release.</c>
      <c><bcp14>MUST</bcp14>-T8-7</c>
      <c><spanx style="verb">manifestHash</spanx> <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.</c>
      <c><bcp14>SHOULD</bcp14>-T8-5</c>
      <c>Manifests <bcp14>SHOULD</bcp14> reference an AP2 mandate hash when one exists.</c>
      <c><bcp14>MAY</bcp14>-T8-6</c>
      <c>Parties <bcp14>MAY</bcp14> add an optional escrow actor as a third-party role interface; this project <bcp14>MUST NOT</bcp14> implement custody.</c>
      <c><bcp14>MUST</bcp14>-T8-custody</c>
      <c>Implementations of this specification <bcp14>MUST NOT</bcp14> take custody of funds or operate escrow.</c>
      <c><bcp14>MUST</bcp14>-T8-8</c>
      <c>If a payee countersignature is present, a verifier <bcp14>MUST</bcp14> reject it when the signature fails, when <spanx style="verb">kid</spanx> or content type does not match the configured payee key, or when the payload is not the issuer COSE_Sign1 bytes.</c>
      <c><bcp14>MUST</bcp14>-T8-9</c>
      <c>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 <spanx style="verb">MUST-T8-2</spanx>, time on the boundary of <spanx style="verb">MUST-T3-3</spanx>, and, where the manifest names a <spanx style="verb">payee</spanx>, 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 <spanx style="verb">MUST-T4-17</spanx> on purpose. That requirement asks whether terms were named, which an unattributable document can answer; this one makes an accusation, which it cannot. <spanx style="verb">MUST-T8-2</spanx> and <spanx style="verb">MUST-T3-3</spanx> 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.</c>
      <c><bcp14>MAY</bcp14>-T8-10</c>
      <c>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. The previous revision 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.</c>
      <c><bcp14>MAY</bcp14>-T8-11</c>
      <c>An attributable countersignature <bcp14>MAY</bcp14> carry <spanx style="verb">deliveredHash</spanx>. When present and the verifier holds the Trade Manifest, the verifier <bcp14>MUST</bcp14> compare it against <spanx style="verb">acceptanceCriteriaHash</spanx> as exact octets and <bcp14>MUST</bcp14> report a mismatch as a failing finding (<spanx style="verb">delivery-mismatch</spanx>): both ends of that comparison are signed. A <spanx style="verb">deliveredHash</spanx> on an unattributable countersignature <bcp14>MUST</bcp14> be discarded with it.</c>
</texttable>

</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>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T9-1</c>
      <c>A transparency encoding <bcp14>MUST</bcp14> support omitting or hashing payer/payee identifiers and <bcp14>MUST</bcp14> support amount redaction or range/bucket encoding.</c>
      <c><bcp14>MUST</bcp14>-T9-2</c>
      <c>Implementations <bcp14>MUST NOT</bcp14> write raw government-ID, payment-instrument PAN, or street address fields into a public transparency statement.</c>
      <c><bcp14>SHOULD</bcp14>-T9-3</c>
      <c>Default public anchors <bcp14>SHOULD</bcp14> publish <spanx style="verb">policyHash</spanx>, <spanx style="verb">manifestHash</spanx>, <spanx style="verb">receiptHash</spanx>, and timestamp rather than full claim sets.</c>
      <c><bcp14>MAY</bcp14>-T9-4</c>
      <c>A private auditor <bcp14>MAY</bcp14> receive an unredacted receipt out of band.</c>
      <c><bcp14>MUST</bcp14>-T9-5</c>
      <c>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.</c>
</texttable>

</section>
<section anchor="t10-secret-spend-via-rail-bypass"><name>T10: Secret spend via rail bypass</name>

<t>See <xref target="reconciliation"/>.</t>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T10-1</c>
      <c>A verifier <bcp14>MUST</bcp14> match each extract settlement to a settled receipt on <spanx style="verb">ref</spanx> AND <spanx style="verb">amount</spanx> AND <spanx style="verb">currency</spanx>. 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.</c>
      <c><bcp14>MUST</bcp14>-T10-2</c>
      <c>A settlement with no matching receipt <bcp14>MUST</bcp14> be reported as a completeness failure identified by that settlement <spanx style="verb">ref</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T10-3</c>
      <c>A settled Spend Receipt whose <spanx style="verb">x402PaymentRef</spanx> is not on the extract <bcp14>MUST</bcp14> be reported as a completeness failure.</c>
      <c><bcp14>MUST</bcp14>-T10-4</c>
      <c>An audit that has any fail-severity completeness finding <bcp14>MUST</bcp14> fail (non-zero status in the companion tool).</c>
      <c><bcp14>SHOULD</bcp14>-T10-5</c>
      <c>Hosts <bcp14>SHOULD</bcp14> still apply T5 (no ungated rail in the model process). Completeness does not replace prevention.</c>
      <c><bcp14>MUST</bcp14>-T10-6</c>
      <c>A <spanx style="verb">ref</spanx> that appears more than once among settled receipts or among extract rows <bcp14>MUST</bcp14> be reported as <spanx style="verb">duplicate-ref</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T10-7</c>
      <c>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 <spanx style="verb">unauthenticated-extract</spanx> 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.</c>
      <c><bcp14>MUST</bcp14>-T10-8</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T10-9</c>
      <c>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 <spanx style="verb">trust-key-unreadable</spanx>, not as a key mismatch.</c>
      <c><bcp14>MUST</bcp14>-T10-10</c>
      <c>Every settlement record whose <spanx style="verb">timestampMs</spanx> falls outside the extract's declared window <bcp14>MUST</bcp14> be reported as <spanx style="verb">extract-scope-mismatch</spanx>, identified by that record's <spanx style="verb">ref</spanx>. This check <bcp14>MUST</bcp14> run whether or not a key is pinned.</c>
      <c><bcp14>MUST</bcp14>-T10-11</c>
      <c>When the verifier states an expected account, rail, or window, an extract that does not cover it <bcp14>MUST</bcp14> fail closed as <spanx style="verb">extract-scope-mismatch</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T10-12</c>
      <c>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 <spanx style="verb">extract-settlement-mismatch</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T10-13</c>
      <c>A <spanx style="verb">ref</spanx> reported as <spanx style="verb">duplicate-ref</spanx> <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 <spanx style="verb">malformed-amount</spanx> without aborting the audit.</c>
      <c><bcp14>MUST</bcp14>-T10-14</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T10-15</c>
      <c>A verifier that has not stated the period under audit <bcp14>MUST</bcp14> emit <spanx style="verb">unstated-audit-window</spanx> and <bcp14>MUST</bcp14> treat the guarantee as conditional, because an unstated period leaves the extract free to define its own.</c>
      <c><bcp14>MUST</bcp14>-T10-16</c>
      <c>When an extract is supplied, a receipt whose <spanx style="verb">ref</spanx> appears on it is reconciled against it regardless of its own <spanx style="verb">timestampMs</spanx>; 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.</c>
      <c><bcp14>MUST</bcp14>-T10-17</c>
      <c>An unmatched settled receipt within the declared <spanx style="verb">clockSkewMs</spanx> of <spanx style="verb">windowEndMs</spanx>, and an unmatched settlement record within it of <spanx style="verb">windowStartMs</spanx>, <bcp14>MUST</bcp14> be reported as <spanx style="verb">boundary-deferred</spanx>, 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 <spanx style="verb">ref</spanx>; an opening-edge deferral resolves only against a receipt in the presented bag that names its <spanx style="verb">ref</spanx>, and a following extract does not harden it. Absent a declared <spanx style="verb">clockSkewMs</spanx>, the profile default of 300000 milliseconds applies.</c>
</texttable>

<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>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T11-1</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-2</c>
      <c>Verifiers <bcp14>MUST</bcp14> reject a checkpoint whose signature fails, whose totals do not match settled receipts in the declared window, whose <spanx style="verb">receiptCount</spanx> is wrong, or whose <spanx style="verb">chainHeadHash</spanx> is not the hash of the last in-window receipt in issuer order (the <spanx style="verb">prevReceiptHash</spanx> 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.</c>
      <c><bcp14>MUST</bcp14>-T11-3</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-4</c>
      <c>A broken checkpoint hash chain <bcp14>MUST</bcp14> fail verification.</c>
      <c><bcp14>SHOULD</bcp14>-T11-5</c>
      <c>Checkpoints <bcp14>SHOULD</bcp14> be registered with a Transparency Service when one is configured.</c>
      <c><bcp14>MAY</bcp14>-T11-6</c>
      <c>A test deployment <bcp14>MAY</bcp14> use an in-process append-only log as the witness.</c>
      <c><bcp14>MUST</bcp14>-T11-7</c>
      <c>Checkpoint windows <bcp14>MUST</bcp14> be half-open <spanx style="verb">[startMs, endMs)</spanx>. Every chained receipt <bcp14>MUST</bcp14> fall in exactly one window.</c>
      <c><bcp14>MUST</bcp14>-T11-8</c>
      <c>Presented checkpoint epochs <bcp14>MUST</bcp14> be consecutive and adjacent windows <bcp14>MUST</bcp14> meet at <spanx style="verb">endMs = next.startMs</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T11-9</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-10</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-11</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-12</c>
      <c>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; <spanx style="verb">receiptCount</spanx> and <spanx style="verb">chainHeadHash</spanx> <bcp14>MUST</bcp14> still be checked.</c>
      <c><bcp14>MUST</bcp14>-T11-13</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-14</c>
      <c>An epoch checkpoint <bcp14>MUST</bcp14> be registrable as a Signed Statement carrying the checkpoint COSE object with content type <spanx style="verb">application/cedulon-checkpoint+cbor</spanx>.</c>
      <c><bcp14>MUST</bcp14>-T11-15</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-16</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-17</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-18</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T11-19</c>
      <c>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.</c>
</texttable>

<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><spanx style="verb">kid</spanx> identifies the verification key. This -05 does not specify
a revocation list. Verifiers <bcp14>MUST</bcp14> pin the issuer keys they
accept and <bcp14>MUST</bcp14> stop accepting a <spanx style="verb">kid</spanx> after an authenticated
revocation signal.</t>
  </dd>
  <dt>Timestamp trust:</dt>
  <dd>
    <t><spanx style="verb">timestampMs</spanx> 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
(<spanx style="verb">MAY-T8-6</spanx>). Implementations of this specification <bcp14>MUST NOT</bcp14> take
custody or operate escrow (<spanx style="verb">MUST-T8-custody</spanx>).</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
<spanx style="verb">settlement-without-receipt</spanx> 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>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><bcp14>MUST</bcp14>-T12-1</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T12-2</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T12-3</c>
      <c>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.</c>
      <c><bcp14>MUST</bcp14>-T12-4</c>
      <c>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.</c>
</texttable>

<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 (<spanx style="verb">MUST-T12-1</spanx>), 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 (<spanx style="verb">MUST-T12-2</spanx>). That undo is what the in-process
<spanx style="verb">RailLedger</spanx> 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 (<spanx style="verb">MUST-T12-4</spanx>).</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 (<spanx style="verb">MUST-T12-3</spanx>): 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
<spanx style="verb">settlement-without-receipt</spanx>, 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>CWT claim labels need no assignment: this profile uses private-use
integer labels below -65536.</t>

<t>Media types do. This document defines five and makes their values a
normative check inside a protected COSE header (<spanx style="verb">MUST-T4-8</spanx>,
<spanx style="verb">MUST-T6-5</spanx>), so they cannot stay unregistered while that check stands.
If this work is taken up, the following should be registered in the
Standards Tree per <xref target="RFC6838"/>:</t>

<texttable>
      <ttcol align='left'>Media type</ttcol>
      <ttcol align='left'>Carries</ttcol>
      <c>application/cedulon-receipt+cbor</c>
      <c>Spend Receipt claim set</c>
      <c>application/cedulon-checkpoint+cbor</c>
      <c>Epoch checkpoint claim set</c>
      <c>application/cedulon-manifest+cbor</c>
      <c>Trade Manifest claim set</c>
      <c>application/cedulon-decision+cbor</c>
      <c>Decision Token claim set</c>
      <c>application/cedulon-countersign+cbor</c>
      <c>Payee countersignature</c>
</texttable>

<t>For each: encoding is binary CBOR <xref target="RFC8949"/>; security considerations
are those in <xref target="security"/>; the change controller would be the IETF; the
contact is the author of this document. Until registration, an
implementation outside a closed deployment should expect these names to
change, and readers should treat them as placeholders rather than as
stable identifiers.</t>

</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 -05 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 this revision adds 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.</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 two
are implemented and covered by a red-then-green case before
appearing in this text, except the reversal branch of <spanx style="verb">MUST-T12-4</spanx>:
its extract branch is executed red-then-green, and the reversal
branch is specified and not executed. <spanx style="verb">MUST-T4-17</spanx> and <spanx style="verb">MUST-T8-9</spanx>
are in the published packages (see the note on distribution below);
<spanx style="verb">MUST-T8-9</spanx> is published in the two-branch form specified since the
previous revision.
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, 423 of 423, 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
<spanx style="verb">MAY-T11-6</spanx> 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 <spanx style="verb">kid</spanx> 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 <spanx style="verb">@cedulon</spanx> packages at version 0.7.0, not only in the
repository, with the exceptions named below. What this revision adds -
the hash-claim grammar, the countersignature attribution rule, the
pin-under-signature attested set, the boundary allowance, the
counterparty bindings, <spanx style="verb">deliveredHash</spanx>, and witness tier 2 - is
implemented in the repository at the pinned commit and is not yet in a
published package at the time of posting; the next package release
carries 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
(<spanx style="verb">MUST-T4-15</spanx>) and the gate's refusal to settle against a manifest it
cannot attribute (<spanx style="verb">MUST-T4-16</spanx>) 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><spanx style="verb">MUST-T4-17</spanx> and <spanx style="verb">MUST-T8-9</spanx> were the exceptions in the previous
revision and are no longer; <spanx style="verb">MUST-T12-4</spanx>'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
<spanx style="verb">MUST-T4-17</spanx> 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 <spanx style="verb">MUST-T8-9</spanx> closes. Both were unpublished when the previous
revision 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. <spanx style="verb">MUST-T8-9</spanx> 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. The previous revision 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 this revision'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 <spanx style="verb">01</spanx> through as <spanx style="verb">1</spanx> and
erased the octets <spanx style="verb">MUST-T8-2</spanx> compares; <spanx style="verb">signManifest</spanx> 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 <spanx style="verb">MUST-T4-19</spanx> 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><spanx style="verb">MUST-T12-4</spanx> 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 <spanx style="verb">RailLedger</spanx> 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-04"><name>Changes from -04</name>

<t>All but the last three changes in this revision answer 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 answer a counter-reading of
this revision, 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>

<t><list style="symbols">
  <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
(<spanx style="verb">MUST-T11-18</spanx>, <spanx style="verb">MUST-T11-19</spanx>).</t>
  <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 <spanx style="verb">carried-key-mismatch</spanx>, a warning, and cannot move the object
out of the attested set (<xref target="issuer-root"/>).</t>
  <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>
  <t>"Issuer order" is defined as the order induced by the
<spanx style="verb">prevReceiptHash</spanx> chain; presentation order carries no weight, and
<spanx style="verb">chainHeadHash</spanx> 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>
  <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 <spanx style="verb">clockSkewMs</spanx> of the
edge is <spanx style="verb">boundary-deferred</spanx>: a closing-edge item resolves against
the following window's extract, an opening-edge item only against
a receipt in the presented bag (<spanx style="verb">MUST-T10-17</spanx>).</t>
  <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>
  <t>The counterparty triangle is closable and honestly scoped: an
optional manifest <spanx style="verb">payee</spanx>, an optional settlement-record
<spanx style="verb">beneficiary</spanx>, and a <spanx style="verb">counterparty-unbound</spanx> scope record when
neither is present.</t>
  <t>The delivery claim shrank to its evidence and the evidence grew:
an optional <spanx style="verb">deliveredHash</spanx> on the countersignature makes the
acceptance comparison signed-to-signed (<spanx style="verb">MAY-T8-11</spanx>), and the
Introduction conditions "what bytes were delivered?" on that
evidence being present.</t>
  <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 this revision.</t>
  <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. <spanx style="verb">MAY-T8-9</spanx> is renumbered
<spanx style="verb">MAY-T8-10</spanx>; the number collided with <spanx style="verb">MUST-T8-9</spanx> 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>
  <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 <spanx style="verb">1.5</spanx> and <spanx style="verb">NaN</spanx> passed a <spanx style="verb">number</spanx> check
and were signed. <spanx style="verb">windowStartMs</spanx>, <spanx style="verb">windowEndMs</spanx>, each record's
<spanx style="verb">timestampMs</spanx>, and <spanx style="verb">clockSkewMs</spanx> are now refused by name unless
they are integers of magnitude at most 2^53 - 1, and <spanx style="verb">clockSkewMs</spanx>
unless it is also non-negative; the canonical-encoding refusal for
non-finite numbers still guards members the rail adds.</t>
  <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 <spanx style="verb">settlement-without-receipt</spanx>; the text's
reason for the deferral, ref binding, never said so, and the seven
edge cases are locked as tests.</t>
  <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>
</list></t>

</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 <spanx style="verb">requestHash</spanx>: -03 called it "the six-field hash" in the same
sentence that named SHA-256 for <spanx style="verb">policyHash</spanx>, and a reader was entitled
to conclude it was not a digest at all.</t>

<t><spanx style="verb">MUST-T8-9</spanx> 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 <spanx style="verb">MUST-T4-17</spanx>, 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><spanx style="verb">MUST-T4-18</spanx> and <spanx style="verb">MUST-T4-19</spanx> 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><spanx style="verb">MUST-T3-3</spanx> and <spanx style="verb">MUST-T8-2</spanx> 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. <spanx style="verb">MUST-T10-1</spanx> 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 <spanx style="verb">MUST-T8-9</spanx> 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
<spanx style="verb">MUST-T8-9</spanx> 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:
<spanx style="verb">kid</spanx> 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 <spanx style="verb">acceptanceCriteriaHash</spanx>
and says whose digest <spanx style="verb">ap2MandateHash</spanx> is. The Decision Token gains
the same expiry boundary <spanx style="verb">MUST-T3-3</spanx> 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: <spanx style="verb">MUST-T12-4</spanx> 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 <spanx style="verb">kid</spanx> does not
match that key (<spanx style="verb">MUST-T4-8</spanx>). 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 <spanx style="verb">settlement-without-receipt</spanx> 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. <spanx style="verb">MUST-T4-10</spanx> 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. <spanx style="verb">MUST-T4-14</spanx> closes
that, and <spanx style="verb">MUST-T11-17</spanx> 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
<spanx style="verb">settlement-without-receipt</spanx> 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
(<spanx style="verb">MUST-T4-11</spanx>). 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 (<spanx style="verb">MUST-T4-12</spanx>); the same set-of-keys
acceptance applies to a publisher, witness, or rail pin. The same out-of-band rule reaches the payee
countersignature (<spanx style="verb">MUST-T4-13</spanx>), the transparency witness
(<spanx style="verb">MUST-T11-15</spanx> and <spanx style="verb">MUST-T11-16</spanx>), the Decision Token, whose
consumer issued it and therefore already holds the key to check it
with (<spanx style="verb">MUST-T6-6</spanx>), and a presented Trade Manifest (<spanx style="verb">MUST-T4-15</spanx>).</t>

<t>Two requirements belong to neither subject. <spanx style="verb">MUST-T7-5</spanx> and
<spanx style="verb">MUST-T7-6</spanx> 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 <spanx style="verb">SHOULD-T11-5</spanx> asked for
checkpoints to be registered without saying in what form
(<spanx style="verb">MUST-T11-14</spanx> now says). None of the steps of the verification
algorithm read a witness receipt, so a deployment could follow
<spanx style="verb">SHOULD-T11-5</spanx> to the letter and still have a verifier that never
consulted the witness (steps 15 and 16 now do). <spanx style="verb">MUST-T11-3</spanx>,
equivocation, could not fire at all: the only checkpoints compared
were the presented ones, and <spanx style="verb">MUST-T11-8</spanx> 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 <spanx style="verb">MUST-T11-10</spanx> through <spanx style="verb">MUST-T11-14</spanx>. 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>

<t><list style="symbols">
  <t>A recorded checkpoint the presented chain omits gets its own
identifier, <spanx style="verb">checkpoint-withheld</spanx>, rather than being folded into
<spanx style="verb">window-coverage</spanx> (<spanx style="verb">MUST-T11-11</spanx>). 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>
  <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>
</list></t>

<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 (<spanx style="verb">MUST-T11-12</spanx>,
<spanx style="verb">MUST-T11-13</spanx>). 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 (-06 or
later), written with the same discipline as this -05.</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
<spanx style="verb">-19</spanx>. 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 (<spanx style="verb">-8</spanx>) to
Ed25519 (<spanx style="verb">-19</spanx>) 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 -05 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 title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="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 title='Informative References' anchor="sec-informative-references">



<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></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></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></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></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></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></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></organization>
    </author>
    <date year="2026" month="May"/>
  </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></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></organization>
    </author>
    <date year="2026" month="August"/>
  </front>
</reference>


    </references>

</references>


<?line 2687?>

<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 <spanx style="verb">kid</spanx>, and
deterministic re-encoding byte for byte, and then filed the
first-failure list that this revision 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>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>The previous revision 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=<spanx style="verb">payer-1</spanx>, payee=<spanx style="verb">payee-1</spanx>, amount=<spanx style="verb">1</spanx>,
currency=<spanx style="verb">USD</spanx>, policyHash=
<spanx style="verb">fca4142da8ad241d24928227893894f4b5365efb746a4529fe9df0119d10da2c</spanx>
(the SHA-256 of the UTF-8 octets of the ASCII string
<spanx style="verb">cedulon/appendix-policy</spanx>, standing in for a canonical policy
document; the field's input rule is in <xref target="hash-inputs"/>, and the
previous revision's vector carried <spanx style="verb">aa</spanx> here, violating its own
Table 3 - see <xref target="changes-04"/>), manifestHash=null,
noManifest=true, x402PaymentRef=null, timestampMs=1700000000000,
nonce=<spanx style="verb">n100000000000000</spanx>, prevReceiptHash=null, outcome=<spanx style="verb">aborted</spanx>.</t>

<t>COSE_Sign1 hex (whitespace ignored):</t>

<figure><artwork><![CDATA[
845830a301320378206170706c69636174696f6e2f636564756c6f6e2d
726563656970742b63626f72044806e3fd8fda29bb60a058bbac3a0001
11706770617965722d313a000111716770617965652d313a0001117261
313a00011173635553443a000111747840666361343134326461386164
323431643234393238323237383933383934663462353336356566623734
366134353239666539646630313139643130646132633a00011175f63a
00011176f53a00011177f63a000111781b0000018bcfe568003a000111
79706e3130303030303030303030303030303a0001117af63a0001117b
6761626f7274656458400a24269b7521d409ebe462db297c3aa25b23d6
c697aa4a864b1b3a3edb5b30537b34b048a797073eaee41af371effb68
ecbb47b80e62d7e775e8cae5b066c30c
]]></artwork></figure>

<t>Manifest COSE_Sign1:</t>

<t>Body: description=<spanx style="verb">fixture-goods</spanx>, amount=<spanx style="verb">1</spanx>, currency=<spanx style="verb">USD</spanx>,
acceptanceCriteriaHash=
<spanx style="verb">e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855</spanx>
(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=<spanx style="verb">none</spanx>,
expiresAtMs=1700000000000, ap2MandateHash=null.</t>

<t>COSE_Sign1 hex (whitespace ignored):</t>

<figure><artwork><![CDATA[
845831a301320378216170706c69636174696f6e2f636564756c6f6e2d
6d616e69666573742b63626f72044806e3fd8fda29bb60a05889a73a00
0112386d666978747572652d676f6f64733a0001123961313a0001123a
635553443a0001123b7840653362306334343239386663316331343961
666266346338393936666239323432376165343165343634396239333
463613439353939316237383532623835353a0001123c646e6f6e653a
0001123d1b0000018bcfe568003a0001123ef65840599b5b1cc7bfd3fe
8b8e65cdd876652aeca13660e6bdccc93afe12188a295b20fdfe8e6e48
ae447dc74ccb0f13383f0f43f0f67f288d61a6395e95e2038e320d
]]></artwork></figure>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA9y923bcWHI2eI+nwKguiqIzWSJ1KIn8xx62St0tdx30S+xu
e/XymMhMkISVCaQBpChaqnmWeZZ5son4ImLv2ABSYrVn5mLay90UCWzsQ+w4
xxfz+Tzrq35dnuYPXpar3bqpT/PzOj/frao+/7G4K9v8qmnz8+uy7ud9M8cP
+ctmsynbZfkgKxaLtvxwmuvL2apZ1sWGhlu1xVU/XzXX7W6+lD/OHz3NVkVP
fzx5dPJs/uj5/PFxtqRfXDft3Wle1VdN1u0Wm6rrqqbu77b05OtXF7/Pqm17
mvftrutPHj168egkK9qyOM27cpndNu3767bZbU+z9+Ud/Wt1muX5PMyHfy54
zvipLZdltZWft826Wt7hx3cvX19cZF1f1Kt/L+itEl8rs25TtP2//+eu6cvu
NL8q1l2ZbSv5QN8s7X+remUf6Jq2b8urTv5xtwk/L3nH6r7Lil1/07QYg/4/
p1XT0K+O8pdH+Q+8WfilbOGrTfk+f1nU7g9Ne32a/+XV2/N/yS9e/ennX378
5Z9f5z++/un1xasf8nev3/7p1cVrPLhsdnXPu3qxa2lj8LtyU1Tr07w8wqn8
b3oqRzS1rG7aTdFXH0qe2Nvfvzw5Pn6hPz47efzEfnz++Ln++PzR4xP78fh7
e+D54xfht0+OH9mP3z9/aj++eGLjvnj09CT++Nh+fP7MBnvx4slJ/JEeYAJJ
p/m9e+Q4fI9+ecw//u784tW7+fnFm1Ms3+hcSPiiLequWPZEafmbtqFjbNb5
AT388AGejufE/5nLOf1wlP+O6LXT39pB/VB8qFb5eXdDtyX+3ZP6U5lB0V6X
/Wl+0/fb7vS77+iJom+L5fuyParK/uqIjvc7ukHf3fSb9XdygxY83rzotzTC
vzx5dJKu5SP/hi/sL9uyzt8xBRftClf2dd2XbV3285+xY/mb4g4UOL08EBaP
lv+eKIcmVuHy+FVMLuH29vaIX8PU6YnzNydTu20f91v95mTPVmMuf2ia63Up
jKdaBo6Tzunp/NGLyWkV25P5Vj+FqdEvvuu25bK6qpZYHE/2D29f/+EP6XQv
2mpLn33Flyc/X+IaVfX1F2ji9VH+h7a6vh7QxGu6t/H3NuM9hFAV9TWmuS22
Zdt912MW/17yLI6YGOitN+cvX//y4+t0uu92m02Rr8q8aKv+ZlPSVhWz/Lps
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
RBs+8BiPjfZowpHjC0CDNR8rytZl3yX8OOaM+OwZQfK8SZqfR3ZppVN0hlvA
31Xr6BoJvDqgei2IT3amM37RXTT7so+HyzKy6ONxeUjWLzykw8MX41wx7rwS
L/0XPDJGGakbJnK/v9PLEvo1eimpt/RMKTt1hjD2+CIm/qhUNKmCSfe99gsa
oukG4mSjk86ALadGha95cAG86WahSowjNNhAvy8knwGDVJIfWzCJcbB1Ndgl
YjcNkkjoRLnhDx27RGi7m2obstFt2pydKxk3YkWwShvd/YKLGrywqrePT1bk
qyhxmtDZNjtTk8HWJEeFNnQlgPP01llQUzh5OJU26utnQvD+o0xBVYWLM9JZ
s2u5eMGYrPQUBSq9r/pNYheZiFLgzi9RyKg9AQStAFyQk+LEzor5F+q5HKEZ
SDtaUkRpo65LvRwbOjZ2v8wipP36LsQVFO8cssJKG3kjAGV5y7DnaDt+FwlM
D+UW+mFkUAeX+nqKDe68aQ7Eg6mRi6hxEXUOql6MiIJB7QW2Xamaw6hpBqLU
vYPTd8jajf09fs3nwORur4plmZLTwOjPJtDa8y+itXNzbZa6s0g20kPOCilE
VsykyUCX7K/WfYFSxXMYcIlVpRIa1/rsjyh6cQVDyRYNumuR3Lgt1u+VF0i0
fq5QmK11crdyzDkgu+boJHGpmlH0lM7Za4Jcm56Nv7mKZzL3EbnJV6S8bjnL
PF4cyaLRaNbgxuqOcE5ZgBtEQvalaqYD2rF1T0pKE6NCn1kQj6oPMQOZwdMI
0toyp+culQe0baS5P8OQz0P40NtpWbDTvu1cL61wovnB4ChxjA/zz9ayd7je
z5wJxCJlDGR1xzWD+t92qGdgUO4LUX6Eqd6ZLcS+7K9dPdm/aNDq1Uvqa2UK
JHY+f4XczpTMRjRWsb1ZbmlrDyapa5bvoauHZ8JfvXXFLCdqPDb0c21jZTOd
pJuzsIDfMK63KhyqFitY9k0+yRupdQbXYGlSyr8cV3Gw7jdoG9GpuJbeHa1m
/IoeYq5MkEuk8j3i2GBYC4hyCOFUQp+5nNnWpQDPARqvtSaJcmCq4j4TRL2C
y+Wuw9WYI91qlYdYCIfuMeREH0vm5657hbTpSvUSUUPy2DBWzQFLSIQEuJIN
ET0qC6k1nB6eD9CmQ6NAGU3U4Ua8IEwLEuBaqSdPbhYDjBtMtAf0j3FsIE5A
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
/0e10fQvAdvkcxFK29tqtQJ9SxivxNGMxGzH5xnbS9D1YPgy3XYrpjmJ3gjv
Nlc+XNZkfvSuvzWREyu3u9cdGRFLGT26cXagsbq97okC7pGWe2PpjIUpXX6P
wIsN/xZrZI3x+WsdaNj42Nf9nkZ565LPv0mSep30m739DjiS1u47pzlp+uau
j5Xhd1eCUxHNX6EnuKjs0Q6xqok0ecOLNxOtg1dcY3iKUNv4VLdbf2Oe9LAI
5VIF3DQ/pZNTiuFnrS1cFJvliLZw04CUSCP184E15+ISSy9q2ycy3GRzbJjr
/tVt7b5Wtu8IpnvSHPndS6REhItD1Zg4+PzbTngkysdqXSlRP/SH1Dv9tYNx
dbRRh/xJNwBgTPI0hiBWxdiuY1/gGmlNrEU3i4u1sLvy9zz9F9PRPY5wJCQ6
6ERJn2XS5sz1IgkrKeiMVl33u6SNXXI73is7v5AXlHSP77gnYslfKPRwNWim
2JOFCzkIx7rOIIvul4SoHHbHmhKycXWoS4dZ/YCL5ltz+6MZ7UiT56CCDtX6
TVKNzenfc7WL512CXhSTM6mI8I4EmcVydpbpZqZTpd0cb1vdMlEdUX+ZArKF
eeyLqA3JzbeIBdJujexvVpR/4pWGavizB+3APGT9KQ9G0ph/41kvrz4gfVLL
RKFwvcpJ4LdBJQbTjyWrt2rLU5OWfDSWMhiUwC+dV9c1U6pIlROjmUocC2SI
Sd6YcMLanAVsniVuvY80S1UltEDc3m1u0XHxnnDm9E5on7Yqh5MjQCLXYLn9
enNME6eCh1rvRIsnP1kE86oukzZ0W4C+9yTtP5xXWQvJw56nNPqGHS7XRiic
VEXJmREGcNWs2bdspVQMKy/arRWNLX+LK05uCls5yH21ewnbp8gd2M812ucz
u6NKgzEmS7mL7KZUOBBPPK7K7bZEkXdZyX+ETzqL3LtX4lmyw2qE5zTdFwJR
XFTeO4hQ0f6nHkNs08NEZqSz9/UlToU2PnilSxOQSPfFua+LoHdvs1Fpgchq
2GlxQu+FMj/nczX+FlpkEEpgHTvEyLAW66jTklOeCOKjsUxvfovtQvfYneYy
P4+xKjPz6eKMvt2OkCq4QmJxYDmUq/P5rEcWLbrFiasZDk259bY20TdLPN9l
iKZsdOfwPopISfT+WNo6lm46rlZR/GueVvGop/VO6nnSaPr5M/9qJC7ily/a
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
xaqwZX26otmWNCutFcUhrHSHsuVFvqytjGG8KTheq/tQnEg/ECOGG1DKSWR6
DbLVtgOkLlS00TWZ0xLlY3zHHsVgi8Lfj9ixuEM0mC4uanApZNfcLW4EGO6w
UuL+/PhycCyVLyyd/NeXL3IhSPoq/3Zeh6kxsjN/im3b3K3XeJWslNDeIXaQ
C+Q/XG+3t+3ZH/94FT5wN98LD/zjsrna3AUDEx73YVSutrY9/6PRfS6Z0TOT
Krd6Z5k1DWGyj1ka01UxrEgmt4fsJBgnAX5fbZq723A5VTdigmXLqwfwNix2
uZGTLaNAeVqdjjgB5G4R+2Trj+ybsjjDKVsaOVCw0pJ+ivlop4bCWl+Yj5va
3/3whgkHbFPWPe3474TS+76xSpAwUcrJV9ofxGoQqh9wFYa4jjfVSFbKnpRo
9n1hcc+uafFqH7bwijVLpKqG1fpjHQJBXNu6Amu4/mJN6c3uyrfKV3p8941U
4IyaHM4LZsxaqMRrIY8F+H0wkTLbcRJj2juGNSHCxFny/o0ULRoGTrZS5l51
ht3d2zqPLFCHx6QSNQ+sZKQ/SDVLWDvmyIyvHpJXrUU7ADuX1Tx41+dhTBok
Pf2VeUbUQeXDwz6sw05i+J12Q9i9Z+rqO49qtD/FTIz2DwRMIdtMZlkrG/Ql
1EesSykkbkgrn4EsOguJnn5wHZFvF2mHuqKeiuwYod/RNPqyygwecowlc6UK
Fq7Sp+flxihRUfgK5pWZ273Bj83dJjnuOshLkFOWyr/pBZEMK28vhKQVis1+
NOr2hokN3yOApkaKXplDTf8RzqIzta5mRW5BKxNIP4YBNDW9jCDArUhWQ5I1
abkkpjYRsdoRdnOmMS33bamtJw24NmVdL1BKqD8BbiTlpHz5UNeQumuwZbLe
BFcgy5ntQ+l3B75s6FEMgrTw9eU2nmMYhnDDjOQ/xK6Yb6Bc+Wj3ohmkTHYM
0qQv8vNnXp9teINw8Rjx8oguIvI9/iJxhl+vgu/a+LYeyJauKTtyqIASqHgW
j4gmMD16JpJH5EePb9MZSzqOYBaK98GymzHaBftVKQkNYyKSRw3WiGwruBA0
otfEdNa5gB2hkL49Xz9o9Zxjc2dbrdtHIkWiQfcF2JFAOTleeuE/mCYUo7wm
QyldC/k0Wv1iDCmnJszjEEIYt1s73ii6Brsgr+Zo95CKORNzuE2dX/pb4DkX
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
wTfRXhcSC8tN80H8IiLnNVSoe5MZTv2KXlFOj409wZ48pxcp9ayYuFYerHdv
/vx6BMRZ+A100DDRmPMHBAPmiEK2FEGS/4iX/3qQYBo7KMNTdqLDMN4+QuBd
PHEbfRuZ97Do0XgPnqbxFjEPchQryrEN7o717ZDzX+hyHQ9xVJNzLLYW3rAb
lXaCgCJSsZLeJXVgf0Vh7isydoNHhOjMJ4uN9JF0FICSrNJkBT/Nm3e8oGA5
FNQFvILtZ9Wzlm2tJtNvZdu4NowkOkdVd6UXTpbX53u+s66HW7Mx98A6oq6z
U43b1K3PrZa/2aQsffQC6nXROau63YL9Jl86JBQdnQCFRWx8PFCsfj5oL1Zt
1BbeDIJtSEpvoswD3oxtlcqNtctUZfl8oZDiX2s7a0ppO23A62olfQEmVdGR
TImxELkXUGeT3Q0Hz/2wBDclaYZhwwRcI0IHTP06UxU+LfDZv6rB+vwHNV1f
dgfC4SC1VTRvUtQUpvKT/elkYBnn8FWbECBLbjdY0D+MB88v609kVw9G9rww
PuzkKMm5eyEX1CfwihgTpNZ+dmjXaC3JjeQZqiXWFBiZ01BbMVmnxxrjntkV
YbLtznfWJun8ytvmGxpQpH6bderS7jVmp57rR6m/3HY0ijSctKzt2nXNO0lU
gGhh8mx2yPEvFO7JkHlQC5mGKBHf4fEvt4YqvxnQt7d0bWQz2SXJoMBD5du0
Wu7QsXmAV1kuZQIMe83IMZ8jBB41elaQ9MFSoZzJpFEiIzgripewVWdkkfse
RLib0Xg2JCKef1HhL+jefz8L/10Y0uv72W/vfpBfjgxS3xezy0V5MD6YLMuT
cjk5GIf/P52cTCbHJ6fTk9ODy4P54fTosLqcHx8clQeHk9PL6nR5uT8eny7H
+8tyspgVSKt1aBl+e//j6MQYs/TvLt69fP0ajmW44mcqv/rHUo/qiKOaDX0I
oKi0yAGmQ4+NLMp9LtbKqPwVCt3SLmSkX+le6Z2571pbS6Osn5XlDJHXUGlU
mS8hQsn4VEdSrROSsiRW8uXFMBIcYIrXd6uVdIAblP97oUUZDiRJqBWRt9Ul
f2vgmDK/Hx/vp/+RB4Td8f1sPd7P/keWMydS10dpWvf7WXD9xe2cic55Ira4
DsboedhrwYLcQuuIlf0XYZP9n/A/xcnB4cl0v5zuj6eT/enxyWT/KAzoeP9o
cXR6NA3/fRD+fXlUTS7Dnw6PDo4Pw0/kz8vieBL+Qv7yNHzgYDIP/z05ujye
7B8cnOwfVdPL5cll2Dmn8/nRfrl/eDKfl4tpGd5lXIzDdxwdH8t3nR4dHk8m
y+mYPwo/GaefHB1mP5kcjQv3x+nR9PDwcHpwEP/m4PjkYP/oSAY+PZjK/0+O
DsJ/nxyNjw6K6UT+8ugA/z4N/zwJ/z+ZHod/n06n+OdB+OzB0WR6GP4cnh5G
cHQkvxE+fIRnHoYPnIa/PAz/lF/eD98ylv8O/9zHd02OpnE8h2HWykL/cHR5
GH9wLD/Q/z4Zz7HE45P54rI6PDrZ37efFcdhbsNUhmc/8b/2oNI9dF4cHYeX
xoKENQwrdximZr+cHEyOTufHh5Px8mD/tJpX4W2X88npcViacnI4n0yXR0VY
++OyPChPjg7m4/m0nFbL+eF8un84PZ5PD+b7ByelDOx4WpVVdTAuL6fH4+ry
cn50UlSL+fzgeH6yX4XnHlfHx4fVyaKsDudhWRbT/QV3XRH7XTKz96dm+XDm
varvZ3rnjq6aZtnm9m7QsXfFbv6TYPuq6Xx/cXAwOT25XIwX44PT8nJ+ebA4
OQ1be34apuS4DK8RpuLgdB72QLCUp4enp+P58cnhZH5yeNi3fVJ1vbndPkSG
cGehDHNxRcZAHzRFN5fcNJodyywSUHLVaoWyEWF6L4YFG1BfWsAX7EP4e0E8
CxtL1V5se4ZkkNO7wFr8DtMwdqZh/M2m4WgZ9l51hINyPP0W43ByWh7L5i3C
7g0HMzzgKGzCk3CiD8XOTJZhO1+G/z04ttMl53AcrcEknLOOOZhM5zAH4SyH
M7wfjuWBGIRwyk/ERARLMIWJCI8p5Jjj6NMMnIbTLgf/FKYiGIDwOocwHvLP
I3xoAqNRHKixOQ2mQT44PqJFCYbiaIJ/H8bxLIKBqGSKwmPULITz9ujxn0yr
yyM5tmEzhvM3XiyO55fL6WVVnMxPwjMWy+XJcZjhSVktynEYcjh08+VisTid
lpfVeDI+OQkzHM70/uXysgqfqA5OirDTD46Xi+ODxWK+fzmW973cvzyQfxwd
X05OTsLSlUfT08Mq/F9Y95MqrP6SO+L/AnkCfRhzgwIA

-->

</rfc>

