<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mih-scitt-checkpointed-local-log-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="CLL">The Checkpointed Local Log (CLL)</title>
    <seriesInfo name="Internet-Draft" value="draft-mih-scitt-checkpointed-local-log-02"/>
    <author initials="S." surname="Mih" fullname="Steven Mih">
      <organization>Action State Group</organization>
      <address>
        <email>steven@actionstate.ai</email>
      </address>
    </author>
    <date year="2026" month="October" day="13"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>transparency</keyword>
    <keyword>merkle mountain range</keyword>
    <keyword>receipts</keyword>
    <keyword>audit log</keyword>
    <abstract>
      <?line 52?>

<t>Many systems emit individually signed records — receipts, attestations,
statements — and store them locally. Each record verifies on its own, but the
collection proves nothing: records can be deleted, reordered, or created after
the fact without detection. This document specifies the Checkpointed Local Log
(CLL): a producer-operated append-only log that is a Merkle Mountain Range as
defined by the COSE Receipts profile for Merkle Mountain Ranges, together with
a small signed checkpoint that commits to the log's entire history. A
checkpoint carries the content of that profile's Receipt of consistency — the
accumulator and the consistency proof — inside a SCITT Signed Statement, so it
can be registered with one or more independent Transparency Services without
any change to them. A CLL upgrades a set of point receipts into a stream with
provable order, contemporaneity, and completeness, and states precisely what
it does not establish. It defines no new proof format, no change to SCITT
Registration or Receipts, and no payload semantics.</t>
    </abstract>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A signed record proves that its issuer produced those bytes. It does not prove
when the record was produced relative to its neighbors, that no record between
two others was deleted, or that the set presented to a verifier is the set
that existed. In current practice, producers of agent receipts, decision
records, build attestations, SBOM and other supply-chain artifact revisions,
and similar records sign each record and store the results in ordinary
storage — a "log" whose integrity rests entirely on the operator's word. A
relying party examining such a collection cannot distinguish an honest
archive from a curated one. The problem is payload-neutral: a stream of SBOM
revisions and a stream of agent action receipts fail in exactly the same way,
and this document treats them identically.</t>
      <t>Transparency logs in the style of <xref target="RFC9162"/> address this by publishing
entries to a small number of large, centrally operated logs, where anyone can
audit the whole. That model asks two things the local case cannot give: that
the entries themselves be published to a log the producer does not control,
which is unacceptable when the content is private; and that each record be
registered with a central service as it is produced, which a producer emitting
thousands of records a day will not sustain in cost or latency. The need is a
construction that keeps entries local and private and still lets a relying
party check order and completeness.</t>
      <t>The Checkpointed Local Log occupies the middle position: the log is local and
private; only a small <strong>checkpoint</strong> — a signed commitment to the log's entire
history — ever leaves the producer. The local log makes the record set
tamper-evident to anyone who trusts the producer; the checkpoint collapses
that history, however many entries, into one commitment cheap enough to
publish on every emission; and a Transparency Service whose published
Registration Policy admits a checkpoint only when it is consistent with the
one before is what removes "trust the producer" from existence and ordering
claims.</t>
      <t><xref target="I-D.bryce-cose-receipts-mmr-profile"/> (the "MMR profile") defines the
Merkle Mountain Range (MMR) structure, its accumulator, and the COSE Receipts
<xref target="RFC9942"/> that prove inclusion and consistency over it. An MMR suits a local
log: appends are streaming and never restructure earlier entries, and proofs
are logarithmic. This document is a companion to the MMR profile. It takes the
structure, the accumulator encoding, and the consistency proof unchanged, and
adds what a producer-operated log needs on top: how entries become leaves, a
checkpoint that carries the profile's accumulator and consistency proof as a
SCITT Signed Statement <xref target="RFC9943"/>, the discipline that makes a sequence of
checkpoints meaningful, and the claims a relying party can and cannot draw
from them. <xref target="relationship"/> states the relationship in full, including the
path from a checkpointed local log to full Registration at a Transparency
Service.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>The terms tree size, accumulator, node value, consistency proof, Receipt of
consistency, <tt>add_leaf_hash</tt>, <tt>leaf_count</tt>, <tt>peaks</tt> and <tt>consistent_roots</tt> are
used as defined in <xref target="I-D.bryce-cose-receipts-mmr-profile"/>.</t>
        <t><strong>Entry:</strong> a 32-byte value appended to the log, typically the SHA-256 digest
of a signed record produced by the operator or received from another party.
Entries are otherwise opaque to this specification. The binding between an
entry and the record it commits to <bcp14>MAY</bcp14> be expressed using a declared digest
context (e.g., <xref target="I-D.mih-sokolov-scitt-payload-binding"/>), including contexts
that commit to already-signed bytes exactly as transmitted.</t>
        <t><strong>Log:</strong> an append-only sequence of entries held as an MMR per
<xref target="log-structure"/>.</t>
        <t><strong>Log size:</strong> the tree size of the log's MMR: its number of nodes, not its
number of entries. A log of 21 entries has log size 39.</t>
        <t><strong>Checkpoint:</strong> a Signed Statement committing to the log's state at a given
log size, structured per <xref target="checkpoint"/>.</t>
        <t><strong>Consistency Registration Policy:</strong> a Registration Policy
(<xref section="5.1.1" sectionFormat="of" target="RFC9943"/>), published by a Transparency Service operated
by a party other than the log operator, that admits a checkpoint only if it is
consistent (<xref target="registration"/>) with the last checkpoint that service registered
for the same log identity.</t>
        <t><strong>Producer / operator:</strong> the party that appends entries and signs checkpoints.
This specification assumes they are the same party (<xref target="claims"/>).</t>
        <t><strong>Log identity:</strong> the pair (<tt>iss</tt>, <tt>sub</tt>) carried in the checkpoint's
CWT_Claims (<xref target="registration"/>). All continuity requirements in this document
are per log identity.</t>
      </section>
      <section anchor="scitt-terms">
        <name>Relation to SCITT Terms</name>
        <t>This document uses the terms of <xref target="RFC9943"/>. The party that signs a record is
an Issuer, and a signed record is a Signed Statement (COSE_Sign1). A
checkpoint is a Signed Statement whose Issuer is the producer and whose
Artifact is the log. A service that registers Signed Statements and returns
Receipts <xref target="RFC9942"/> is a Transparency Service; a Receipt proves inclusion in
that service's log, not agreement with the statement. The check a
Transparency Service makes before registering is its published Registration
Policy. Independence comes from registering the same Signed Statement with
more than one Transparency Service. A party that independently recomputes
checks over records it is given works in the manner of an Auditor. SCITT
defines no "witness" role and this document defines none; earlier revisions
of this document used that word for what is now a Transparency Service
applying a Consistency Registration Policy. One party signing another
operator's log head is a separate layer outside SCITT and outside this
document.</t>
      </section>
    </section>
    <section anchor="discipline">
      <name>The Log Discipline</name>
      <ol spacing="normal" type="1"><li>
          <t><strong>Append at production time.</strong> An entry <bcp14>SHOULD</bcp14> be appended when the record
it commits to is produced or received, not batched for later assembly. The
evidentiary difference is the point of this document: an entry appended at
time t is committed by every subsequent checkpoint, so contemporaneity
becomes checkable; end-of-period assembly permits curation that no later
verification can detect.</t>
        </li>
        <li>
          <t><strong>Append-only.</strong> Entries <bcp14>MUST NOT</bcp14> be modified or removed. Erasure of the
<em>content</em> an entry commits to is a separate act on separate storage and
does not touch the log; the entry (a digest) remains.</t>
        </li>
        <li>
          <t><strong>One log, one signing identity.</strong> A log's checkpoints are signed under one
key at a time. Key rotation is announced by an entry declaring the
rotation — produced under the outgoing key and naming the incoming key
identifier — appended before the first checkpoint signed under the new
key. The log identity (<xref target="registration"/>) is unchanged by rotation.</t>
        </li>
      </ol>
      <t><strong>Segmentation and archival (non-normative).</strong> A conforming implementation <bcp14>MAY</bcp14>
store the log as a sequence of segments rather than one unbounded file. This
specification imposes no segment format; the only checkpoint-relevant
discipline is that any segment boundary a producer defines <bcp14>SHOULD</bcp14> coincide
with a checkpoint boundary, never a calendar boundary: closing a segment at
the log's state at a checkpoint's declared size means the segment plus that
checkpoint is independently verifiable without the rest of the log, using
inclusion proofs against the checkpoint's accumulator. A store's own manifest
of which segments exist, and whether each is presently retrievable
("mounted") or has been archived elsewhere, is local bookkeeping, not itself
evidence a verifier trusts — only a checkpoint (and what it commits to)
carries that property. A verifier presented with a reference to an entry
whose segment is not presently retrievable receives a distinct, honest
refusal (e.g., "retention expired") rather than being told the entry never
existed, since the checkpoint chain already proves it did.</t>
    </section>
    <section anchor="log-structure">
      <name>The Log Structure</name>
      <t>A CLL is an MMR as specified by <xref target="I-D.bryce-cose-receipts-mmr-profile"/>, with
verifiable data structure algorithm MMR_SHA256: SHA-256 node values,
interior nodes formed by <tt>hash_pospair64</tt>, and nodes added by
<tt>add_leaf_hash</tt>. This document changes none of that. It fixes only what the
profile leaves to the application, the leaf value:</t>
      <artwork><![CDATA[
leaf value = SHA-256(0x00 || entry)
]]></artwork>
      <t>where <tt>entry</tt> is exactly 32 bytes. The leaf value is the input <tt>f</tt> to
<tt>add_leaf_hash</tt>. The leaf pre-image is therefore 33 bytes beginning with
0x00, which no interior pre-image (72 bytes, beginning with a position) can
equal. This is the leaf commitment the MMR profile's Security Considerations
recommend for applications that need leaves distinguishable from interior
nodes.</t>
      <t>The log size is always a complete MMR size: <tt>add_leaf_hash</tt> returns one after
every append, and a checkpoint is only ever taken between appends. The
number of entries at log size <tt>s</tt> is <tt>leaf_count(s - 1)</tt> (0 when <tt>s</tt> is 0).</t>
    </section>
    <section anchor="checkpoint">
      <name>The Checkpoint</name>
      <t>A checkpoint is a COSE_Sign1 <xref target="RFC9052"/> with an attached payload. The
payload is a CBOR map <xref target="RFC8949"/> with text-string keys, encoded
deterministically (<xref section="4.2.1" sectionFormat="of" target="RFC8949"/>), with the following claims:</t>
      <table anchor="claims-table">
        <name>Checkpoint claims</name>
        <thead>
          <tr>
            <th align="left">Claim</th>
            <th align="left">Type</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>kind</tt></td>
            <td align="left">tstr</td>
            <td align="left">
              <bcp14>MUST</bcp14> be <tt>"cll-checkpoint"</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>log_size</tt></td>
            <td align="left">uint</td>
            <td align="left">the log size: the MMR tree size (node count) the checkpoint commits to</td>
          </tr>
          <tr>
            <td align="left">
              <tt>leaf_count</tt></td>
            <td align="left">uint</td>
            <td align="left">
              <bcp14>OPTIONAL</bcp14>: the number of entries, <tt>leaf_count(log_size - 1)</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>commitment</tt></td>
            <td align="left">bstr</td>
            <td align="left">the accumulator at <tt>log_size</tt>, encoded per <xref target="commitment"/></td>
          </tr>
          <tr>
            <td align="left">
              <tt>prev_size</tt></td>
            <td align="left">uint</td>
            <td align="left">
              <tt>log_size</tt> of this log's previous checkpoint; 0 for the first</td>
          </tr>
          <tr>
            <td align="left">
              <tt>prev_commitment</tt></td>
            <td align="left">bstr</td>
            <td align="left">the previous checkpoint's <tt>commitment</tt>; zero-length for the first</td>
          </tr>
          <tr>
            <td align="left">
              <tt>consistency_proof</tt></td>
            <td align="left">bstr</td>
            <td align="left">the MMR profile consistency proof from <tt>prev_size</tt> to <tt>log_size</tt> (<xref target="consistency"/>); present if and only if 0 &lt; <tt>prev_size</tt> &lt; <tt>log_size</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>issued_at</tt></td>
            <td align="left">tstr</td>
            <td align="left">issuance time per <xref target="RFC3339"/></td>
          </tr>
          <tr>
            <td align="left">
              <tt>cadence</tt></td>
            <td align="left">uint</td>
            <td align="left">
              <bcp14>OPTIONAL</bcp14>: declared maximum seconds between checkpoints (<xref target="constraints"/>)</td>
          </tr>
        </tbody>
      </table>
      <t>The protected header carries the signature algorithm, the key identifier of
the log's signing identity, and the CWT_Claims of <xref target="registration"/>.
Additional claims <bcp14>MAY</bcp14> be present; verifiers <bcp14>MUST</bcp14> ignore claims they do not
understand.</t>
      <t><tt>log_size</tt> and <tt>prev_size</tt> are tree sizes in the sense of the MMR profile.
They count nodes, not entries. A producer that wants to state the entry count
carries it in <tt>leaf_count</tt>, never in <tt>log_size</tt>.</t>
      <section anchor="commitment">
        <name>Commitment Encoding</name>
        <t><tt>commitment</tt> and <tt>prev_commitment</tt> carry the MMR profile accumulator for
their size: the node values of the peaks, concatenated in descending height
order (tallest first), with no length prefix, separator, or further
combination. For MMR_SHA256 each node value is 32 bytes, so the encoding is
32 times the number of peaks long, and the empty log (size 0) has a
zero-length commitment.</t>
        <t>These are exactly the bytes <xref target="MMR-PROFILE-MAIN"/> specifies as the detached
payload of a Receipt of consistency for that size. A verifier recovers the
accumulator by splitting the value into 32-byte node values; the number of
node values is fixed by the size and <bcp14>MUST</bcp14> match it.</t>
        <t>An implementation <bcp14>MAY</bcp14> additionally fold the accumulator into a single "bagged
root" for its own fast comparisons between local log states. No such fold is
specified by this document or by the MMR profile, and a bagged root <bcp14>MUST NOT</bcp14>
be carried in <tt>commitment</tt> or <tt>prev_commitment</tt>.</t>
      </section>
      <section anchor="consistency">
        <name>Consistency Proof</name>
        <t>When 0 &lt; <tt>prev_size</tt> &lt; <tt>log_size</tt>, the checkpoint <bcp14>MUST</bcp14> carry
<tt>consistency_proof</tt>, whose value is the MMR profile's <tt>consistency-proof</tt>:</t>
        <artwork><![CDATA[
consistency-proof = bstr .cbor consistency-proof-content
consistency-proof-content = [
  tree-size-1: uint,            ; = prev_size
  tree-size-2: uint,            ; = log_size
  consistency-paths: [ * consistency-path ],
  right-peaks: [ * hash ]
]
]]></artwork>
        <t>as defined in <xref target="I-D.bryce-cose-receipts-mmr-profile"/>. It is the same proof
a Receipt of consistency carries in its unprotected header, here carried
inside the signed payload. When <tt>prev_size</tt> is 0, or when <tt>prev_size</tt> equals
<tt>log_size</tt> (the log did not grow between checkpoints), <tt>consistency_proof</tt>
          <bcp14>MUST</bcp14> be absent.</t>
        <t>Carrying the proof in the checkpoint makes every checkpoint independently
checkable from its predecessor with no further exchange with the producer,
and gives a Transparency Service everything its Consistency Registration
Policy needs in the Signed Statement it registers.</t>
      </section>
      <section anchor="checkpoint-checks">
        <name>Checking a Checkpoint</name>
        <t>A verifier holding a checkpoint and the public key of the log's signing
identity <bcp14>MUST</bcp14> reject the checkpoint unless all of the following hold:</t>
        <ol spacing="normal" type="1"><li>
            <t>The COSE_Sign1 signature verifies, and the protected header carries
CWT_Claims with text-string <tt>iss</tt> and <tt>sub</tt> (<xref target="registration"/>).</t>
          </li>
          <li>
            <t><tt>kind</tt> is <tt>"cll-checkpoint"</tt>, and <tt>log_size</tt>, <tt>prev_size</tt>, <tt>commitment</tt>,
<tt>prev_commitment</tt> and <tt>issued_at</tt> are present with the types of
<xref target="claims-table"/>.</t>
          </li>
          <li>
            <t><tt>log_size</tt> and <tt>prev_size</tt> are complete MMR sizes, and <tt>prev_size</tt> is not
greater than <tt>log_size</tt>.</t>
          </li>
          <li>
            <t>The length of <tt>commitment</tt> is 32 times the number of peaks of <tt>log_size</tt>,
and the length of <tt>prev_commitment</tt> is 32 times the number of peaks of
<tt>prev_size</tt>.</t>
          </li>
          <li>
            <t>If <tt>leaf_count</tt> is present, it equals <tt>leaf_count(log_size - 1)</tt> (0 when
<tt>log_size</tt> is 0).</t>
          </li>
          <li>
            <t>If <tt>prev_size</tt> is 0, <tt>consistency_proof</tt> is absent.</t>
          </li>
          <li>
            <t>If <tt>prev_size</tt> equals <tt>log_size</tt>, <tt>consistency_proof</tt> is absent and
<tt>commitment</tt> equals <tt>prev_commitment</tt>.</t>
          </li>
          <li>
            <t>Otherwise <tt>consistency_proof</tt> is present and is a <tt>consistency-proof</tt>;
its tree-size-1 equals <tt>prev_size</tt> and its tree-size-2 equals
<tt>log_size</tt>; and applying the verification steps of the MMR profile for a
Receipt of consistency — <tt>consistent_roots</tt> from <tt>prev_size</tt> and the
accumulator in <tt>prev_commitment</tt>, followed by the right-peaks — yields an
accumulator whose encoding (<xref target="commitment"/>) equals <tt>commitment</tt>.</t>
          </li>
        </ol>
        <t>Step 8 is the step a Receipt of consistency verifier performs before checking
its signature, with <tt>prev_commitment</tt> as the trusted accumulator. It
establishes that the log at <tt>log_size</tt> extends the log at <tt>prev_size</tt> without
modification. It does not establish that <tt>prev_commitment</tt> is the commitment
of a checkpoint anyone else has seen; that is the role of Registration
(<xref target="registration"/>).</t>
      </section>
      <section anchor="constraints">
        <name>Required Constraints — Elected Once, Then Binding</name>
        <t>Publishing checkpoints is <bcp14>OPTIONAL</bcp14>. <strong>Once a producer elects to publish, the
following are REQUIREMENTS</strong>, because a checkpoint regime with discretionary
gaps supports none of the claims in <xref target="claims"/>:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Declared cadence.</strong> The producer <bcp14>MUST</bcp14> declare a maximum interval between
checkpoints (and <bcp14>MAY</bcp14> declare a maximum entry lag). The declaration <bcp14>SHOULD</bcp14>
be carried in the checkpoint's <tt>cadence</tt> claim; however conveyed, it <bcp14>MUST</bcp14>
be available to every Transparency Service the checkpoints are registered
with. A missing checkpoint at any of them is thereby a detectable event,
not an ambiguity. A producer with no new entries meets the cadence with a
checkpoint whose <tt>log_size</tt> equals its <tt>prev_size</tt>.</t>
          </li>
          <li>
            <t><strong>Continuity.</strong> Each checkpoint <bcp14>MUST</bcp14> pass <xref target="checkpoint-checks"/> with its
<tt>prev_size</tt> and <tt>prev_commitment</tt> equal to the <tt>log_size</tt> and
<tt>commitment</tt> of the producer's previous checkpoint for the same log
identity. This <em>internal</em> relation is checkable offline by any verifier
holding the two checkpoints; it establishes that the presented history was
not rewritten between them. It does <strong>not</strong>, by itself, establish that no
divergent history exists: a forking producer can satisfy the internal
relation on each fork separately. Detecting that requires state across
time, which a single offline verifier does not have, and is what a
Consistency Registration Policy adds (<xref target="registration"/>).</t>
          </li>
          <li>
            <t><strong>Named, independent Transparency Services.</strong> A producer representing a
log's checkpoints as independently registered <bcp14>MUST</bcp14> name the Transparency
Services it relies on and the Registration Policy each publishes. A
Transparency Service operated by the producer confers no independence; it
is a replica.</t>
          </li>
          <li>
            <t><strong>No claims beyond the last registered checkpoint.</strong> Entries appended
after the most recent registered checkpoint are, to a relying party,
exactly as strong as a log with no registered checkpoint. Producers <bcp14>MUST
NOT</bcp14> represent them otherwise.</t>
          </li>
        </ol>
      </section>
      <section anchor="registration">
        <name>Checkpoint Registration</name>
        <t>The checkpoint's protected header <bcp14>MUST</bcp14> carry the CWT_Claims header parameter
<xref target="RFC9597"/> with the claims <xref target="RFC9943"/> requires of a Signed Statement:
<tt>iss</tt> (the CWT Issuer claim <xref target="RFC8392"/>) identifies the producer, and <tt>sub</tt>
(the CWT Subject claim) identifies the log. <tt>sub</tt> <bcp14>MUST</bcp14> be
the same value in every checkpoint of a log, and <bcp14>MUST NOT</bcp14> vary per
checkpoint: a checkpoint is a new Signed Statement about the same Artifact,
which <xref section="6.3" sectionFormat="of" target="RFC9943"/> asks an Issuer to register under the same
<tt>iss</tt> and <tt>sub</tt>. The pair (<tt>iss</tt>, <tt>sub</tt>) is the <strong>log identity</strong> every
continuity check keys on. A <tt>sub</tt> that changes with every checkpoint (for
example, one that embeds the log size) gives each checkpoint a new log
identity, so a Transparency Service never finds a predecessor to check it
against, and continuity is silently never enforced.</t>
        <t>The checkpoint is registered as a Signed Statement per <xref target="RFC9943"/>, by any
transport the Transparency Service accepts. A Transparency Service unaware of
this document can register it as an ordinary Signed Statement.</t>
        <t>A Transparency Service applying a Consistency Registration Policy performs
the checks of <xref target="checkpoint-checks"/> and, in addition, keeps for each log
identity the <tt>log_size</tt> and <tt>commitment</tt> of the last checkpoint <em>it itself
registered</em>. For a checkpoint whose log identity it holds state for, it <bcp14>MUST</bcp14>
verify that <tt>prev_size</tt> and <tt>prev_commitment</tt> equal that state, and on
failure <bcp14>MUST</bcp14> refuse registration and <bcp14>MUST</bcp14> treat the failure as evidence of
log mutation, never as an error to be retried. For a log identity it holds no
state for, it <bcp14>MAY</bcp14> register the checkpoint as the start of that log's history
at the service; continuity at that service is then established from that
checkpoint forward and says nothing about the history before it. This is the
MMR profile's "empty tree as trusted state" case, applied per log identity.</t>
        <t>The <xref target="RFC9942"/> Receipt the Transparency Service returns proves that the
checkpoint is included in the Transparency Service's log, and the time of
registration if and only if the Receipt carries a signed time claim. A
Receipt is an inclusion proof; it is not the service's agreement with the
checkpoint. Continuity follows from the published Registration Policy: where
that policy is a Consistency Registration Policy, inclusion under it shows
the check passed. A Transparency Service that registers a checkpoint without
the check returns a Receipt that proves inclusion and nothing about
continuity. A verifier <bcp14>SHOULD</bcp14> know which Registration Policy the
Transparency Service applied, and relies on continuity only when it does.</t>
        <t><strong>Scope of the Consistency Registration Policy.</strong> <xref target="RFC9943"/> defines a
Registration Policy over the non-opaque header and metadata of the COSE
Envelope, permits the service to validate the payload of a Signed Statement
(<xref section="6.3" sectionFormat="of" target="RFC9943"/>), and leaves the scope of checks beyond the
mandatory ones to the implementation (<xref section="5.1.1" sectionFormat="of" target="RFC9943"/>). A
Consistency Registration Policy reads the log identity from the protected
header's CWT_Claims and the claims of <xref target="checkpoint"/> from the payload. This
document does not copy those claims into the protected header. Because the
consistency proof is carried in the checkpoint, the Signed Statement itself
is the material <xref section="5.1.1.2" sectionFormat="of" target="RFC9943"/> requires the service to make
available for Auditors to reproduce its check.</t>
        <t>Registering the same checkpoint with more than one Transparency Service
(<xref section="6.3" sectionFormat="of" target="RFC9943"/>) strengthens the log against equivocation
(presenting different histories to different parties): an equivocating
producer must present a consistent history to every one of them
(<xref target="security"/>).</t>
      </section>
    </section>
    <section anchor="relationship">
      <name>Relationship to the MMR Profile</name>
      <t>This section is non-normative. It states how a CLL relates to
<xref target="I-D.bryce-cose-receipts-mmr-profile"/>, what a checkpoint gives a relying
party and what it does not, and how a CLL's entries can later receive full
Registration at a Transparency Service.</t>
      <section anchor="what-each-document-defines">
        <name>What Each Document Defines</name>
        <table>
          <name>Division of labor</name>
          <thead>
            <tr>
              <th align="left"> </th>
              <th align="left">MMR profile</th>
              <th align="left">This document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Tree, node values, <tt>add_leaf_hash</tt></td>
              <td align="left">defines</td>
              <td align="left">uses unchanged</td>
            </tr>
            <tr>
              <td align="left">Leaf pre-image</td>
              <td align="left">leaves to the application</td>
              <td align="left">
                <tt>0x00 || entry</tt> (<xref target="log-structure"/>)</td>
            </tr>
            <tr>
              <td align="left">Tree size</td>
              <td align="left">defines (node count)</td>
              <td align="left">
                <tt>log_size</tt>, <tt>prev_size</tt></td>
            </tr>
            <tr>
              <td align="left">Accumulator and its encoding</td>
              <td align="left">defines</td>
              <td align="left">
                <tt>commitment</tt>, <tt>prev_commitment</tt></td>
            </tr>
            <tr>
              <td align="left">Consistency proof format and verification</td>
              <td align="left">defines</td>
              <td align="left">
                <tt>consistency_proof</tt>, step 8 of <xref target="checkpoint-checks"/></td>
            </tr>
            <tr>
              <td align="left">Inclusion proof format and verification</td>
              <td align="left">defines</td>
              <td align="left">used for entries (<xref target="verification"/>)</td>
            </tr>
            <tr>
              <td align="left">Who signs the accumulator</td>
              <td align="left">the log, in a Receipt</td>
              <td align="left">the producer, in a Signed Statement</td>
            </tr>
            <tr>
              <td align="left">Continuity across signers and time</td>
              <td align="left">out of scope</td>
              <td align="left">Registration under a Consistency Registration Policy</td>
            </tr>
            <tr>
              <td align="left">Append discipline, cadence, claims</td>
              <td align="left">out of scope</td>
              <td align="left">
                <xref target="discipline"/>, <xref target="constraints"/>, <xref target="claims"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="a-checkpoint-and-a-receipt-of-consistency">
        <name>A Checkpoint and a Receipt of Consistency</name>
        <t>A Receipt of consistency for an MMR_SHA256 log is a COSE_Sign1 whose detached
payload is the accumulator at tree-size-2, whose protected header carries
tree-size-2, and whose unprotected header carries one or more consistency
proofs. A checkpoint carries the same three things — <tt>commitment</tt> is the
payload bytes, <tt>log_size</tt> is tree-size-2, <tt>consistency_proof</tt> is the proof —
with three differences:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Signer.</strong> A Receipt is signed by the operator of the verifiable data
structure in its role as a Transparency Service, over that service's own
log. A checkpoint is signed by the producer as an Issuer, over the
producer's local log. It is a Signed Statement, not a Receipt in the sense
of <xref target="RFC9943"/>, and it becomes transparent only by being registered.</t>
          </li>
          <li>
            <t><strong>Placement.</strong> The Receipt detaches its payload and carries the proof in
the unprotected header. The checkpoint attaches the accumulator and puts
the proof, <tt>log_size</tt> and the previous state inside the signed payload, so
a Transparency Service registering it receives everything its Registration
Policy evaluates in one Signed Statement, and the proof is covered by the
producer's signature.</t>
          </li>
          <li>
            <t><strong>Previous state.</strong> A Receipt of consistency leaves the trusted
accumulator to the verifier. A checkpoint names its predecessor
(<tt>prev_size</tt>, <tt>prev_commitment</tt>), which is what lets a Transparency
Service detect a fork or a skipped checkpoint by comparing it with the
state it holds.</t>
          </li>
        </ul>
        <t>Because the bytes coincide, a producer that also operates its log as a
Receipt-issuing service can issue a Receipt of consistency over the same
sizes, and a verifier that has checked one has checked the other's
accumulator. Nothing in this document requires that.</t>
      </section>
      <section anchor="what-a-checkpoint-establishes">
        <name>What a Checkpoint Establishes</name>
        <t>Given one checkpoint, any verifier can check entries against it: an entry is
in the log at a position (an MMR profile inclusion proof against the
accumulator in <tt>commitment</tt>), and a presented range of entries is complete.
Given two checkpoints of one log, any verifier can check that the later log
extends the earlier one without modification (<xref target="checkpoint-checks"/>, step 8).
All of this holds to the extent the verifier trusts the producer, because the
producer signed every checkpoint and chose what to present.</t>
        <t>Registered under a Consistency Registration Policy at one or more
Transparency Services the verifier regards as independent of the producer,
the same checkpoints additionally establish, against a producer the verifier
does not trust: that each committed entry existed no later than the
registration of the first checkpoint covering it; that no registered
checkpoint was followed by a rewritten, reordered, or truncated history; and,
across services, that the producer did not show divergent histories to them
(<xref target="claims"/>).</t>
      </section>
      <section anchor="what-a-checkpoint-does-not-establish">
        <name>What a Checkpoint Does Not Establish</name>
        <t>A checkpoint does not make any entry transparent. A Transparency Service that
registers checkpoints never receives the entries; it cannot be queried for a
record, and verifying a particular entry still requires the producer (or
another holder) to present the entry and its inclusion proof. A checkpoint
says nothing about the truth of an entry's content, about whether the
producer has other logs, or about records the producer never appended
(<xref target="claims"/>). And a checkpoint is not a Receipt: a relying party that needs a
Transparency Service's own signed proof about a specific record needs that
record registered.</t>
      </section>
      <section anchor="the-path-to-full-registration">
        <name>The Path to Full Registration</name>
        <t>A CLL is designed so that its records can later receive full Registration
without losing what the local log already proved:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Checkpoints only (this document).</strong> The producer registers checkpoints;
records stay local and private. Relying parties get order, completeness,
and an upper bound on creation time for every entry, at the cost of one
small Signed Statement per cadence interval.</t>
          </li>
          <li>
            <t><strong>Selected records registered.</strong> When a record needs independent,
per-record transparency — it is disclosed to a counterparty, or contested
— the producer registers that record itself, as a Signed Statement, with a
Transparency Service (<xref section="6.3" sectionFormat="of" target="RFC9943"/>). The record gains its own
Receipt and becomes a Transparent Statement. Its CLL inclusion proof
against an earlier registered checkpoint is retained as evidence that the
record existed, in that position, before the later Registration; the
later Receipt does not by itself establish that.</t>
          </li>
          <li>
            <t><strong>The log operated as a Transparency Service.</strong> A producer that wants
every record registered as it is produced can operate (or delegate) its
log as a Transparency Service whose verifiable data structure is
MMR_SHA256. Its Receipts of inclusion and of consistency then come
directly from the MMR profile, and checkpoints become unnecessary for
that log; the continuity a Consistency Registration Policy gave is then
given by Receipts of consistency verified from trusted state. The log's
existing nodes need no conversion, since they were built with the
profile's algorithms from the start.</t>
          </li>
        </ol>
        <t>Each step keeps the leaf values, node values, and accumulators of the step
before it, so a relying party's earlier verification remains valid.</t>
      </section>
      <section anchor="profile-revisions">
        <name>Profile Revisions</name>
        <t>This document cites <xref target="I-D.bryce-cose-receipts-mmr-profile"/> at its current
revision, -03. The editors' copy of the profile <xref target="MMR-PROFILE-MAIN"/> differs
from -03 in ways this document depends on: it specifies the detached payload
of a Receipt of consistency as the accumulator's node values concatenated in
descending height order (the encoding <xref target="commitment"/> uses), it adds a
protected tree-size-2 header to the Receipt of consistency, and it states
<tt>consistent_roots</tt> with the exact proof shape checks step 8 of
<xref target="checkpoint-checks"/> relies on. This document follows the editors' copy and
will track the next published revision of the profile. The checkpoint
carries its tree size in the signed payload, so it does not depend on the
protected tree-size-2 header.</t>
      </section>
    </section>
    <section anchor="verification">
      <name>Verification</name>
      <t>Given a checkpoint that passes <xref target="checkpoint-checks"/>, a verifier can check,
using only the proof formats of <xref target="I-D.bryce-cose-receipts-mmr-profile"/>:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Inclusion:</strong> a given entry is committed at a given position under
<tt>commitment</tt>: the leaf value of <xref target="log-structure"/> and an MMR profile
inclusion proof reach one of the accumulator's node values.</t>
        </li>
        <li>
          <t><strong>Consistency:</strong> a later checkpoint's log extends an earlier
checkpoint's log without modification: step 8 of <xref target="checkpoint-checks"/>,
applied across one or more consecutive checkpoints.</t>
        </li>
        <li>
          <t><strong>Range completeness:</strong> the entries between positions i and j under a
checkpoint are exactly the presented set — nothing between them was
omitted: an inclusion proof for every position in the range against the
same accumulator. Implementations <bcp14>MAY</bcp14> use a more compact multi-leaf proof;
this document does not define one.</t>
        </li>
      </ul>
      <t>Given a checkpoint registered under a Consistency Registration Policy, each
of these claims additionally holds against a party who does not trust the
producer, to the extent the verifier trusts that the Transparency Services
are independent of the producer and apply their published policy.</t>
    </section>
    <section anchor="claims">
      <name>What a CLL Does and Does Not Establish</name>
      <t>A CLL whose checkpoints are registered under a Consistency Registration
Policy establishes: that each committed entry existed no later than the first
registered checkpoint covering it (<strong>contemporaneity</strong>); that the committed
sequence has not been reordered, had entries removed, or been rewritten
(<strong>order and integrity</strong>); and that a presented range is complete
(<strong>completeness</strong>).</t>
      <t>These claims come from what the Transparency Service registers, which is
<strong>only checkpoints, not entries</strong>. A Transparency Service registering
checkpoints receives commitments; it does not receive, index, or retain the
entries themselves. Its log therefore records the <em>shape</em> of the committed
history — existence, order, completeness of the committed sequence — and
nothing about any individual entry beyond its membership. Two consequences a
reader familiar with per-record transparency logs must not overlook: it
cannot be queried as an independent index or lookup for a particular record,
because it never held one; and verifying any individual entry still requires
the producer, or another holder, to present that entry and its inclusion
proof — the registered checkpoint is the commitment they resolve against, not
the entry. A deployment that needs per-record lookup registers those records
directly with a Transparency Service (<xref target="relationship"/>, step 2 of the path to
full Registration); that is a different trade — publication and per-record
registration cost in exchange for independent per-record lookup.</t>
      <t>A CLL establishes <strong>nothing about the truth of any entry's content</strong>. A log
of false records with every checkpoint registered is still a set of false
records. Whether a record's content is accurate, whether its signer was
authorized, and whether any claimed real-world effect occurred are separate
claims requiring separate evidence (counterparty confirmation, external
corroboration), outside this document's scope. Producers and tools <bcp14>MUST NOT</bcp14>
present registration of checkpoints as evidence of content accuracy.</t>
      <t>A CLL likewise does not establish that the log is the producer's <em>only</em> log,
nor that all records the producer created were appended. It bounds omission
<em>within</em> the committed history; it cannot prove a parallel uncommitted
history does not exist. Deployments for which that distinction matters bind
the log identity to an accountable party by mechanisms outside this document.</t>
    </section>
    <section removeInRFC="true" anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations at the time of
writing. It is not a conformance statement.</t>
      <t>Four implementations (Python, Go, TypeScript, and Rust) maintained in one
repository build the log of <xref target="log-structure"/> and agree, node for node, with
the test vectors published with this revision <xref target="CLL-VECTORS"/>, which are
generated from the editors' copy of the MMR profile without using any of
them. Each implementation's consistency proof maps onto the MMR profile's
<tt>consistency-proof</tt> without loss. As of this revision, all four still emit
the checkpoint wire form of the previous revision: the commitment as a CBOR
array of node values, a consistency proof in an implementation-specific
form, and a <tt>sub</tt> that varies per checkpoint. The vectors include tests that
detect when each implementation adopts the form specified here.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="I-D.bryce-cose-receipts-mmr-profile"/> apply.</t>
      <t><strong>Equivocation.</strong> A producer maintaining two divergent logs under one log
identity must present each Transparency Service a consistent view. With k
independent Transparency Services and a verifier that checks Receipts from
any subset of them, sustained equivocation requires controlling or
partitioning every Transparency Service that verifier relies on. The
cheapness of checking a checkpoint (a logarithmic proof from the previous
commitment, holding no entry data) is what makes registration with a
meaningful number of independent Transparency Services economically
plausible. Verifiers <bcp14>SHOULD</bcp14> require Receipts from more than one Transparency
Service where the threat model includes collusion between the producer and a
service operator.</t>
      <t><strong>Log identity.</strong> Continuity is enforced per (<tt>iss</tt>, <tt>sub</tt>). A producer that
changes <tt>sub</tt> between checkpoints, or registers a checkpoint under a new log
identity, starts a new history at every Transparency Service. A verifier
<bcp14>SHOULD</bcp14> treat a log identity that first appears at a service with
<tt>prev_size</tt> greater than 0 as a log whose earlier history that service did
not check.</t>
      <t><strong>Declared sizes.</strong> The MMR profile notes that a consistency proof does not
by itself fix tree-size-2. A checkpoint signs <tt>log_size</tt> in its payload and
step 8 of <xref target="checkpoint-checks"/> requires the proof's tree-size-2 to equal it,
so a presenter cannot choose the size a verifier records.</t>
      <t><strong>Backdating.</strong> An entry can be created with any internal timestamp, but its
position in the log bounds its creation time from above by the first
registered checkpoint covering it. The backdating window is therefore the
declared cadence plus registration latency. Producers wanting a smaller window
declare a shorter cadence.</t>
      <t><strong>Key compromise.</strong> A stolen signing key permits forged future checkpoints
but cannot rewrite history already registered: a forged checkpoint
inconsistent with a registered predecessor fails the Consistency Registration
Policy. Each Transparency Service's append-only log retains every registered
checkpoint, which is part of the security function.</t>
      <t><strong>Signature algorithm.</strong> This document defines no signature algorithm. New
deployments using Ed25519 should identify it with the fully specified
algorithm identifier of <xref target="RFC9864"/>.</t>
      <t><strong>Cryptographic agility.</strong> This revision defines checkpoints for logs using
MMR_SHA256 only. The node value size, and therefore the commitment length
rule of <xref target="checkpoint-checks"/>, follows from that identifier. A log using
another verifiable data structure algorithm registered for the MMR profile in
the future would need a claim naming it; this document does not define one.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>A checkpoint reveals the log's size and cadence and nothing else; entries
are digests, and content never leaves the producer. Deployments for which
entry <em>count</em> is sensitive <bcp14>MAY</bcp14> pad with reserved entries; this document does
not define a padding scheme. The privacy considerations of
<xref target="I-D.bryce-cose-receipts-mmr-profile"/> on low-entropy leaf pre-images apply
to entries: an entry that is the digest of a guessable record can be
confirmed by anyone who obtains an inclusion proof for it.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no IANA requests.</t>
      <section anchor="artifact-type-declaration-for-payload-binding">
        <name>Artifact Type Declaration for Payload Binding</name>
        <t>This section declares, for use with
<xref target="I-D.mih-sokolov-scitt-payload-binding"/>, the digest context of the
<tt>cll-checkpoint</tt> artifact type. It is a declaration by the owning
specification, not an IANA registration.</t>
        <dl>
          <dt>Artifact type:</dt>
          <dd>
            <t><tt>cll-checkpoint</tt></t>
          </dd>
          <dt>Digest context:</dt>
          <dd>
            <t>the log state a checkpoint commits to.</t>
          </dd>
          <dt>Canonicalization algorithm:</dt>
          <dd>
            <t><tt>as-transmitted</tt>.</t>
          </dd>
          <dt>Byte-boundary selector:</dt>
          <dd>
            <t>the value of the <tt>commitment</tt> claim of a checkpoint (<xref target="commitment"/> of this
document): the accumulator at <tt>log_size</tt>, which
<xref target="I-D.bryce-cose-receipts-mmr-profile"/> names the detached payload of a
Receipt of consistency.</t>
          </dd>
          <dt>Hash function and representation:</dt>
          <dd>
            <t>SHA-256; 64-character lowercase hexadecimal, as the <tt>as-transmitted</tt>
registration fixes.</t>
          </dd>
          <dt>Composite:</dt>
          <dd>
            <t>no. The commitment embeds no other artifact type's payload bytes;
<tt>prev_commitment</tt> refers to the previous log state by value, not by
digest reference.</t>
          </dd>
        </dl>
        <t>The test vectors <xref target="CLL-VECTORS"/> give this digest for every log size of the
example log (<tt>commitment_sha256</tt>).</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </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="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="RFC9597">
          <front>
            <title>CBOR Web Token (CWT) Claims in COSE Headers</title>
            <author fullname="T. Looker" initials="T." surname="Looker"/>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document describes how to include CBOR Web Token (CWT) claims in the header parameters of any CBOR Object Signing and Encryption (COSE) structure. This functionality helps to facilitate applications that wish to make use of CWT claims in encrypted COSE structures and/or COSE structures featuring detached signatures, while having some of those claims be available before decryption and/or without inspecting the detached payload. Another use case is using CWT claims with payloads that are not CWT Claims Sets, including payloads that are not CBOR at all.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9597"/>
          <seriesInfo name="DOI" value="10.17487/RFC9597"/>
        </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="I-D.bryce-cose-receipts-mmr-profile">
          <front>
            <title>COSE Receipts for MMRs</title>
            <author fullname="Robin Bryce" initials="R." surname="Bryce">
         </author>
            <author fullname="Jon Geater" initials="J." surname="Geater">
         </author>
            <date day="19" month="September" year="2026"/>
            <abstract>
              <t>   This document defines a new verifiable data structure type for COSE
   Receipts [I-D.ietf-cose-merkle-tree-proofs] specifically for use with
   ledgers based on post-order traversal binary Merkle trees and which
   are designed for high throughput, ease of replication and
   compatibility with commodity cloud storage.

   Post-order traversal binary Merkle trees, also known as history
   trees, are more commonly known as Merkle Mountain Ranges.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bryce-cose-receipts-mmr-profile-03"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </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="I-D.mih-sokolov-scitt-payload-binding">
          <front>
            <title>Canonicalization Declaration for SCITT Signed Statements</title>
            <author fullname="Steven Mih" initials="S." surname="Mih">
              <organization>Action State Group, Inc.</organization>
            </author>
            <author fullname="Anton Sokolov" initials="A." surname="Sokolov">
              <organization>Tyche Institute</organization>
            </author>
            <date day="12" month="September" year="2026"/>
            <abstract>
              <t>   Independently written systems that anchor records to a SCITT
   Transparency Service repeatedly need the same construction: a
   canonical form of structured content, a content-addressed identifier
   derived from that form, binding to a SCITT Signed Statement and
   Receipt, and references that cite external artifacts by digest.  This
   document, referred to as CPB, specifies that construction as
   declarations rather than as a payload format.  A payload profile
   declares its canonicalization algorithm and exclusion set and thereby
   obtains a reproducible derived identifier.  A CPB Signed Statement
   carries either the complete statement content as specified by RFC
   9943 or a digest of content held elsewhere using the COSE Hash
   Envelope of RFC 9995.  CPB also defines an abstract typed digest
   reference information model and one optional protected-header
   encoding, cpb-refs; a payload profile may instead define its own
   reference serialization.  An IANA registry assigns the
   canonicalization algorithm identifiers that these declarations name.
   CPB does not define payload content formats, establish or require a
   universal artifact-type registry, or require either typed-reference
   carrier.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mih-sokolov-scitt-payload-binding-05"/>
        </reference>
        <reference anchor="MMR-PROFILE-MAIN" target="https://github.com/robinbryce/draft-bryce-cose-receipts-mmr-profile/blob/f1320c0/draft-bryce-cose-receipts-mmr-profile.md">
          <front>
            <title>COSE Receipts for MMRs, editors' copy</title>
            <author initials="R." surname="Bryce" fullname="Robin Bryce">
              <organization/>
            </author>
            <author initials="J." surname="Geater" fullname="Jon Geater">
              <organization/>
            </author>
            <date year="2026" month="October"/>
          </front>
        </reference>
        <reference anchor="CLL-VECTORS" target="https://github.com/action-state-group/checkpointed-local-log/tree/main/cll-02-vectors">
          <front>
            <title>draft-mih-scitt-checkpointed-local-log-02 test vectors</title>
            <author>
              <organization/>
            </author>
            <date year="2026" month="October"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 748?>

<section removeInRFC="true" anchor="changes-since-01">
      <name>Changes since -01</name>
      <t>Wire changes (each is a break from -01 for producers and verifiers):</t>
      <ul spacing="normal">
        <li>
          <t><tt>commitment</tt> and <tt>prev_commitment</tt> are the accumulator's node values
concatenated in descending height order, the encoding the MMR profile's
editors' copy specifies for the payload of a Receipt of consistency. -01
said "canonical-CBOR-encoded exactly as the commitment object" of the
profile, which no published revision of the profile defines. A
verifier reading -01 checkpoints sees a CBOR array of byte strings.</t>
        </li>
        <li>
          <t><tt>log_size</tt> and <tt>prev_size</tt> are stated to be MMR tree sizes (node counts),
matching the profile's tree size and what every known implementation
already writes. -01 described <tt>log_size</tt> as the number of entries. Added
the <bcp14>OPTIONAL</bcp14> <tt>leaf_count</tt> claim for the entry count.</t>
        </li>
        <li>
          <t>Added the <tt>consistency_proof</tt> claim, carrying the MMR profile's
<tt>consistency-proof</tt>, <bcp14>REQUIRED</bcp14> when the log grew since a previous
checkpoint. -01 required the proof to be "made available" without saying
how.</t>
        </li>
        <li>
          <t><tt>sub</tt> is the log and <bcp14>MUST</bcp14> be the same in every checkpoint of a log, per
<xref section="6.3" sectionFormat="of" target="RFC9943"/>. A <tt>sub</tt> that varies per checkpoint defeats
continuity.</t>
        </li>
      </ul>
      <t>Other changes:</t>
      <ul spacing="normal">
        <li>
          <t>New <xref target="log-structure"/>: a CLL is an MMR_SHA256 MMR; the leaf value is
<tt>SHA-256(0x00 || entry)</tt> with a 32-byte entry.</t>
        </li>
        <li>
          <t>New <xref target="checkpoint-checks"/>: the complete list of checks on one checkpoint,
including a checkpoint where the log did not grow.</t>
        </li>
        <li>
          <t><xref target="registration"/> states what a Consistency Registration Policy checks, and
what a service does with a log identity it has not seen.</t>
        </li>
        <li>
          <t>New <xref target="relationship"/>: the division of labor with the MMR profile, a
checkpoint compared with a Receipt of consistency, what a checkpoint does
and does not establish, and the path to full Registration.</t>
        </li>
        <li>
          <t>Aligned terminology with <xref target="RFC9943"/>. Removed the "Witness" definition.
The role is now a Transparency Service that registers checkpoints under a
Consistency Registration Policy; added <xref target="scitt-terms"/>. Stated that a
Receipt proves inclusion (and the time of registration only if it carries
a signed time claim), not agreement, and carries no continuity meaning of
its own. Replaced the multiple-witness text with registering the same
checkpoint with more than one Transparency Service
(<xref section="6.3" sectionFormat="of" target="RFC9943"/>).</t>
        </li>
        <li>
          <t>Removed the direct checkpoint countersignature form (RFC 9338), the "Stub
Countersignatures — Future Work" section, and the IANA sentence
forecasting a COSE header parameter for stub countersignatures.</t>
        </li>
        <li>
          <t>Removed the <bcp14>SHOULD</bcp14> that each checkpoint holder retain every checkpoint: a
Transparency Service's append-only log already retains every registered
checkpoint.</t>
        </li>
        <li>
          <t>Added the <tt>cll-checkpoint</tt> artifact type declaration for payload binding,
moved here from the payload-binding provisional registry.</t>
        </li>
        <li>
          <t>Added Implementation Status, Privacy Considerations, and security
considerations on log identity, declared sizes, and the signature
algorithm.</t>
        </li>
        <li>
          <t>New test vectors <xref target="CLL-VECTORS"/>.</t>
        </li>
      </ul>
    </section>
    <section removeInRFC="true" anchor="changes-since-00">
      <name>Changes since -00</name>
      <ul spacing="normal">
        <li>
          <t>Clarified the commitment representation: named the bagged-root fold as an
explicit, non-wire, implementation-internal alternative to the peak-list
commitment, and stated the peak-list encoding as the required wire form.</t>
        </li>
        <li>
          <t>Downgraded the stub countersignature section (removed in -02) from a
normatively-specified mechanism to a Future Work note, and removed the
corresponding IANA registration request.</t>
        </li>
        <li>
          <t>No checkpoint claim names were renamed.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The Merkle Mountain Range structure and its COSE proof formats are the work
of the authors of <xref target="I-D.bryce-cose-receipts-mmr-profile"/>; this document
exists because that structure makes streaming local commitment practical.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA51965LbyJXm/3wKbPUPVVWA1bp0t1sle2bVkmxrp9XSSrI7
JhwOCSTBKkyRAA2AVaKljtiH2AfYZ9lH2SfZ851LXgCwSjOOGVtFgonMkyfP
5TuXnM1mrq/6dXmeHb2/LLNnl+XiattUdV8us5+bRbGm/77Ijp/9/PPJkSvm
87a8pkfpzyO3bBZ1saFfLtti1c821eWsW1R9P1tEg8zWGIT++2J2/6FbFj09
//D+wx9mD+7PHjxyC/rgomn351nXL121bc+zvt11/cP79x/T80VbFufZu3Kx
a6t+726a9uqibXZb+uzZy/fv3VW5p8+W5y7LZvTDou629JN6secPNmV7tS6z
TbOr+6KqM/r+ouRv2nJRVtu+4z+K3bLqM5qh6/qiXn4o1k1Ns9yXndtW59nf
+maRZ13T9m256uhf+w3+8Xfnil1/2bT08llW1R3N6Sx7VV3SmJnQ5V1fXpe1
fda0F0Vd/bPoq6Y+z54u8L/0CBEg+xPWhGfKTVGtQQv88L8X/EyHR86Kyrm6
aTf08+sS6337x2cPHzx4rP989OiR/fPHB7/7zv756PFD++fj7+yBx/e/t08f
f//4d/bPx9/xpy9nz8/m7X5RzhZNV86MUrPNpp1t22ZVrcvwi0fnzlX1ajCv
xw9+8C/48YfvbFRmkOaqWTfXyijbYr9uiuVsXtXLqr7Ag69evZ29efv6jy9/
fjF79fTlL/gsy4xFn71+9yJ7q1PK6L14nvakpB1s2u5etmi2+yP5SdFelP15
dtn32+78228vqv5yNz9bNJtv24ZeyGv8Vlj3jvV+O183829XDx49vL+4/3U/
OdsseRaeRfg/M2WMt5hA9hOGGHzzP4gn/lTShrf8RXJe6BM6d7O/vnj2/vXb
dylhvvoIZn3Z9dl1uQC97qSUcOCMWXDGJ+/b6ZG/pcNRfkvcW3+7WK/pPTN9
xcQy3GxGh27e0Xld9M69Kuo9HSri+U1HB4COIrjhulruivWavqkuapJFRGQ6
6F32//7X//anN8+KHsvhI9Xljqe5KeteHqOzTCepacusvyw3Gc91vT/LXhSL
Sx2PCNFWq6rsMqJ7Rb9rbuo8m+96/MQtmvW6lHNK23pNT9VNfwlG9dNZFHU2
L7NluS6JHjl9Th+XLf5JzLlosZXLjPaGNpSGzFa05OyGCNzQO5b0Gx7+LHt/
WXUZCdQdpp9123Ih0+oPymTHMvk8KzC35W5RtrNmW7byvu22rJezpib60ebQ
KAVRtaNnX4lIfGUi8S1EYlZ0blmuKtB5vpd3JgdNmVoO3NQItBV9Q0x0Wba8
Oldk3YaobbsXmEbmQry1Abn7ht9Gc7xHe1/3FW0WUYI2jfbpqYt+tija1giy
aIgU9FmzktF0ejSEzhjf0EMdjQRlwNyADS0WRODduqDxmTt0MP8cDUS/xNMk
z6slEUb0TPZOlvHOGAz6gPjF6fa35QWGoG3n1RMzldj+DXiPmLnEbmDC7yMN
RVqtva4WtCRlB4dzsLjkDRG6bIgGOPLZbnvRFssSG9iVvDohih0Eegn9gr6k
U1hsZAfAscV8jYkQQ+ZCtM22oSmUpEtzJgDtwxacW5ddl+uBoSVix4kDu5L4
54Yo7OhQLhvh/wwHbr6uusuz7CV4GHyDb7K6vFEKikLI8WFYkGjst0yqlo8s
aPQ2nGV6O/1AdQItdFMQQyy6MxEYm2q5XJfOfZO9rHvmeAzh3NNUQthJFZYH
abpuR1yphwR7TjKb2JxWKQuwdfEP3c0laWzwhQ53U3Tht225Zj2H5WBsouTF
5ZykXC7vo+nrz+Zlf1OWtetvmqzBseh4JC8naOX8C7wJW0r07ko+4LyRKpZa
HFp9xPHz5Scw2pJmXmdkFLXgqi3kKHFS7iVBBxYpLsqIRXJ6N+0oSKayC3Ku
Wi9TGZq9++n1K94KnnXW7bbb9Z7UCY560fYVCzAyAnkokrnMM9WmWhetF4rY
kKyMpGwiienDbrdmpgVvVnXR7h2+pQmL3M6OSCAcEedhpyD2LmD94Xe9SQli
zEb2SYRe09LphykIsYGvSUoTK7X0s/JTsalq/N3taEpFFol1Or/Y+iURlR7Y
EVPTXLNLOr8dncd2cYnNXrXNBj/biXClLyGvS1CbztcGe2SGTF3uiLfX5+Es
0kaApM6TjIkRfy37JJo2nOgVGYKgEM1+0a9FKHdkIhAb7YXqfaIyMFzfiaar
IGwq0XbOJUKHCMuE5+H6PcTDKvv8WY22337LiuWS6NzJ6KQMtjs+60QdR4OK
CGZRw+K93m3mxCU0xhpGBEkZPMR62ysjvDKnzSTxSGvfQzYS2Z1Y3ZgH7fOa
SUr8vWnoiJA+uqLX3EAI0os71RFQfIuiK23XLmBx8jFi1eqnRyQgyQUhQKJZ
528HS7Rh6U9KOP6Qj22zzkkCVMQmtPpdTfqi3PYsRb1cMOWDXW+ra1riE9Ul
OJ4R089LN9QLhdGHDjQLf1ppVulYImNAqYrZ1E8RNhHY00FNdPQuPt522Aqy
rkhKV9gNWkZHzhPOKv0fGac9BA3JLOy9MG1d0mRgCjgoPvK1hO949ldlue08
HYXgWJquU48x3kRSDG/Wg+bkoLG2FnUzUi7gw8PuZUN6eWvaXQQ9abiuEldJ
LQTM2s/JedqzkWP8eHoaTIbTU5UmZoOwzSGHZWx2ODU7+DfkfRHZyuJap2Rb
ISSUSWBGm+JKn9A9ZzldbIj1Z3Tel/ou5Xric3Fu00GfCFtFpg7Jp2LbkfvJ
u6ITy0ks3fDENjAUdJdyUf18qML6aLBiS480u4tLmoDTQwCRiRH2YKkO0uiJ
SqMpw0Tlrz9Aqep+06wrerZYsh1XxPPnHeHzIqztLSyxfNkSw4Tn5YoNpI5t
DCLhhjX3EdMoIdGRyGBRfvVCOJEZDdy3WBfVBhz2+fNXOK8k444x9hF5jmY5
Hp14OwaTmzaSj+kHJ5kcmV1Lso4XHizK3JuUifHsRLqSd01vNnP1Gnptsd5h
D/SsBCu0wSZXPWmyGu4tHWkhMfOdI747VwOfPmxL1STQb2xBMYtAVeo8SSa1
a5gSnmPkSJOd1gFfASMXpF8vN9Vi6Iewy4BjXNQsJOTYRIRjC6q3U+Ai4uDB
2NymlTXw8fNbDO9dLdbikh9ypIqUNaZ8HJw/CDN23fpme47z4YXXnM4jKUs5
wzmk3dADifyJ4D8MHYTxHAuIzmmnILOdfvTbb0IAsisW1XZNjCUvFXkBI/4f
O+bjZhVNrMs2ZQFDZbVbR2Ri7g7CVq0aeB48Q7Vg2uLG8SERv+HzZ7FVaf6X
1ZY4T+16kVXhG+gJet06F37EDvFObgs6qGb4xEI7CD/iBvwyS8QCb1YsTZxK
Ezqe33yTPWvqa8hbs4Oe49SxmO9EQVyVezbjSAy8+su790e5/G/2y2v+99sX
//MvL9++eI5/v/vz059/9v9w+sS7P7/+y8/Pw7/CL5+9fvXqxS/P5cf0aZZ8
5I5ePf33IyH70es371++/uXpz0diKsVHAieGVj4Xw7Qlu50dbjjQ3aKt5tCu
dfbTszf/9/88+I624b8pTkdbIH8AnqM/IB/lbV5cMs/sHc42GdOwt9cweLZV
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

-->

</rfc>
