<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dogru-scitt-disclosure-evidence-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Disclosure Evidence">Transformation Evidence and Coverage Reconciliation for Auditable Data Disclosure</title>
    <seriesInfo name="Internet-Draft" value="draft-dogru-scitt-disclosure-evidence-05"/>
    <author fullname="Emek Can Doğru" asciiFullname="Emek Can Dogru">
      <organization>VERAX TEKNOLOJİ LİMİTED ŞİRKETİ</organization>
      <address>
        <postal>
          <country>TR</country>
        </postal>
        <email>e.dogru@conarium.dev</email>
      </address>
    </author>
    <date year="2026" month="August" day="20"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>receipt</keyword>
    <keyword>masking</keyword>
    <keyword>reconciliation</keyword>
    <keyword>transparency</keyword>
    <keyword>disclosure</keyword>
    <abstract>
      <?line 43?>

<t>Audit receipts for automated data access attest to what a gateway recorded.
Two questions remain outside their reach: what was changed in the data
before it was disclosed, and whether the set of receipts is complete with
respect to the data source's own accounting of activity. This document
defines two evidence structures that answer those questions:
Transformation Evidence, a per-disclosure statement of which classes of
values were transformed and how, carrying counts and class names but never
values; and Coverage Reconciliation, a procedure and result statement that
compares a source's own activity counters against a receipt set over a
time window and classifies what the comparison establishes. The
reconciliation result distinguishes what was matched under a declared
correspondence from what was observed without a receipt, receipted without
a corresponding observation, excluded before comparison, or left
indeterminate; it does not report a bare pass. Both structures are designed
to be registered as Signed Statements on a Transparency Service as
described in the SCITT architecture. This document defines evidence
payloads; it does not define a new receipt format, a new transparency
mechanism, or a new signature format.</t>
    </abstract>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Systems that place a policy gateway between an automated client (for
example, an AI assistant) and a data source increasingly emit signed,
hash-chained access receipts. Several receipt formats exist. They share a
property that limits what they can prove: a receipt is evidence produced
by the party that performed the access, about an event that party chose to
record.</t>
      <t>Two gaps follow from that property.</t>
      <t>First, receipts typically state that access happened and under which
policy decision, but not what happened to the data between the source and
the client. When a gateway masks, redacts, or tokenizes values before
disclosure, that transformation is the substance of the privacy claim the
operator makes — and it is precisely the part a conventional receipt does
not describe. An auditor reading such a receipt learns that a table was
read, but not whether the protected columns in it left the gateway
transformed or in the clear.</t>
      <t>Second, a set of receipts, however well chained and anchored, only covers
the accesses for which receipts were produced. A client that reaches the
data source without passing through the gateway produces no receipt, and
no property of the receipt chain reveals this. Hash chains detect removal
and reordering of records that exist; they are silent about records that
were never created. Establishing completeness requires a second account of
activity, produced by a party other than the gateway: the data source
itself.</t>
      <t>This document defines two evidence structures addressing these gaps:</t>
      <ul spacing="normal">
        <li>
          <t>Transformation Evidence (<xref target="transformation-evidence"/>): a statement,
bound to a single disclosure, of which classes of values were
transformed before disclosure, by which action, and in what count. It
never carries the values themselves.</t>
        </li>
        <li>
          <t>Coverage Reconciliation (<xref target="coverage-reconciliation"/>): a procedure that
compares snapshots of a data source's own activity counters, taken at
the boundaries of a time window, against the receipt set for that
window, and a signed result statement classifying each item of either
account. The comparison is between two populations, neither assumed
complete, under a correspondence the operator declares (<xref target="cr-mapping"/>);
the result distinguishes what was matched from what was observed without
a receipt, receipted without an observation, excluded before comparison,
or left undecided.</t>
        </li>
      </ul>
      <t>Both structures are payloads. They are intended to be carried in Signed
Statements and registered on a Transparency Service as described in the
SCITT architecture <xref target="RFC9943"/>, which supplies the append-only,
third-party-auditable registration this document deliberately does not
reinvent. This document defines no new receipt format, no policy
evaluation semantics, and no transparency mechanism.</t>
      <section anchor="what-these-structures-do-not-claim">
        <name>What these structures do not claim</name>
        <t>Both structures are designed around a discipline of stating the limits of
their own evidence. Transformation Evidence describes the disclosure
surface; it does not claim a value is unlearnable, and it is the Issuer's
signed assertion that a transformation was applied rather than proof that
it was (<xref target="te-limits"/>). A Coverage Reconciliation result reporting activity
without a receipt is a statement about absent evidence; it is not, and <bcp14>MUST
NOT</bcp14> be presented as, proof of intent or of a breach (<xref target="cr-semantics"/>).</t>
        <t>Neither structure reports a bare pass. A reconciliation computed against an
operator-declared correspondence cannot yield an outcome stronger than that
declaration (<xref target="cr-mapping"/>), and an outcome the evidence does not decide
is reported as undecided rather than folded into a proportion.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms are used throughout:</t>
      <dl>
        <dt>Data Source:</dt>
        <dd>
          <t>The system holding the data, with its own accounting of query or access
activity (for example, a database's statement statistics).</t>
        </dd>
        <dt>Gateway:</dt>
        <dd>
          <t>The component that mediates access between an automated client and a
Data Source, applies policy, transforms results, and emits receipts.</t>
        </dd>
        <dt>Disclosure:</dt>
        <dd>
          <t>A single delivery of data (possibly transformed) from the Gateway to a
client.</t>
        </dd>
        <dt>Receipt:</dt>
        <dd>
          <t>A signed record of a Disclosure produced by the Gateway. This document
is agnostic to the receipt format in use.</t>
        </dd>
        <dt>Protected Class:</dt>
        <dd>
          <t>A named category of values that policy subjects to transformation (for
example, "email", "national-id", "phone").</t>
        </dd>
        <dt>Window:</dt>
        <dd>
          <t>A time interval over which reconciliation is performed, bounded by two
snapshots of the Data Source's activity counters. Both bounds are stamped by
the Data Source; whether a Receipt falls inside them is a question about a
second clock, the Gateway's (<xref target="cr-procedure"/>).</t>
        </dd>
        <dt>Mapping Profile:</dt>
        <dd>
          <t>A versioned statement, declared by the operator, of the correspondence
expected between one client-level operation and the source-level activity
it produces — including the bound on that multiplicity, the clock source on
each side and the skew bound between them, and the rules by which activity
is excluded from comparison. A Mapping Profile is a
declaration about a deployment, not a measurement performed by the
Gateway (<xref target="cr-mapping"/>).</t>
        </dd>
      </dl>
    </section>
    <section anchor="transformation-evidence">
      <name>Transformation Evidence</name>
      <section anchor="purpose">
        <name>Purpose</name>
        <t>Transformation Evidence answers, for one Disclosure: which Protected
Classes were transformed in the disclosed result, by which action, and in
what count. It exists so that the transformation claim is a first-class,
signed, registrable artifact rather than prose in an operator's
documentation.</t>
      </section>
      <section anchor="te-structure">
        <name>Structure</name>
        <t>Transformation Evidence is a JSON object with the following members:</t>
        <dl>
          <dt><tt>v</tt>:</dt>
          <dd>
            <t>Structure version string. For this document: <tt>transformation-evidence/1</tt>.</t>
          </dd>
          <dt><tt>disclosure</tt>:</dt>
          <dd>
            <t>A digest binding this evidence to exactly one Disclosure, computed over
the receipt for that Disclosure (or, where the receipt format defines a
canonical record hash, that hash). Digest form is defined in
<xref target="digests"/>.</t>
          </dd>
          <dt><tt>request</tt>:</dt>
          <dd>
            <t>A digest of the request that produced the Disclosure. The digest of the
request, never the request text: query text can itself contain protected
values.</t>
          </dd>
          <dt><tt>policy</tt>:</dt>
          <dd>
            <t>An object with <tt>id</tt> (an identifier of the policy version applied) and
<tt>decision</tt> (the policy outcome under which disclosure proceeded).</t>
          </dd>
          <dt><tt>classes</tt>:</dt>
          <dd>
            <t>An array of objects, one per Protected Class that the applied policy
recognizes and that occurred in the disclosed result, each with:
</t>
            <dl>
              <dt><tt>class</tt>:</dt>
              <dd>
                <t>The Protected Class name, as named by the policy.</t>
              </dd>
              <dt><tt>action</tt>:</dt>
              <dd>
                <t>One of <tt>mask</tt>, <tt>redact</tt>, <tt>tokenize</tt>, <tt>truncate</tt>, or <tt>none</tt>. The value
<tt>none</tt> states that the class occurred and was disclosed
untransformed — an honest statement some deployments need to make.</t>
              </dd>
              <dt><tt>count</tt>:</dt>
              <dd>
                <t>The number of values of this class in the disclosed result to which
the action was applied.</t>
              </dd>
            </dl>
          </dd>
        </dl>
        <t>The structure <bcp14>MUST NOT</bcp14> carry data values, transformed or otherwise. Only
class names, action names, counts, digests, and identifiers appear. An
implementation encountering a value in a field defined here <bcp14>MUST</bcp14> reject
the structure.</t>
      </section>
      <section anchor="digests">
        <name>Serialization and digests</name>
        <t>For digesting and signing, the structure is serialized with the JSON
Canonicalization Scheme <xref target="RFC8785"/>. Digests in this document are SHA-256
and are written as strings prefixed with <tt>sha256:</tt> followed by lowercase
hexadecimal. Future documents may register alternative digest prefixes;
an implementation <bcp14>MUST</bcp14> reject a digest whose prefix it does not
recognize rather than guessing.</t>
        <t>A CBOR/COSE serialization <xref target="RFC9052"/> of the same data model is expected
to be specified once the JSON model has received review; nothing in the
model depends on JSON specifically.</t>
      </section>
      <section anchor="te-limits">
        <name>What Transformation Evidence does not prove</name>
        <t>Transformation Evidence describes the disclosure surface of one result.
It does not state that a protected value is unlearnable by the client.
In particular, where the request language permits predicates over
protected columns, an allowed request can answer questions about a masked
value without the value ever being disclosed (a result-count of one
versus zero is one bit of the value). Transformation Evidence for such a
Disclosure is accurate — the value was transformed in the result — and
still compatible with the client having learned something about the
value.</t>
        <t>Consumers <bcp14>MUST NOT</bcp14> present Transformation Evidence as proof of
non-exposure. Nor is it proof that the transformation was applied: the
payload is a signed assertion by the Issuer that it was. Unless a Verifier
independently establishes that the disclosed bytes carry the transformation
the Issuer describes, the evidence available is evidence of what the pinned
Issuer asserted. Where the Issuer is the Gateway that performed the
transformation, that assertion is self-attested, and a consumer who treats
it as verified has removed the Issuer from the trust statement without
replacing it with anything. A deployment whose requirement is that a class
be unlearnable rather than hidden must enforce that requirement in policy
(for example, by not allowing the objects that carry the class at all); no
evidence structure substitutes for that enforcement.</t>
        <t>The <tt>classes</tt> array is bounded by what the applied policy recognizes. A
value belonging to a class the policy does not name is not counted. The
absence of a class from the array is therefore a statement about the
policy's vocabulary as much as about the data, and <bcp14>MUST</bcp14> be read that way.</t>
      </section>
    </section>
    <section anchor="coverage-reconciliation">
      <name>Coverage Reconciliation</name>
      <section anchor="purpose-1">
        <name>Purpose</name>
        <t>Coverage Reconciliation answers, for one Window: did the Data Source's
own accounting record activity for which no Receipt exists? It is the
mechanism by which "the gateway was bypassed" or "the receipt sink
failed" becomes detectable, rather than invisible.</t>
        <t>The essential property is that the two accounts being compared originate
from different components: the receipt set from the Gateway, the activity
counters from the Data Source. A Gateway cannot make bypassed activity
disappear from an account it does not produce.</t>
      </section>
      <section anchor="cr-snapshots">
        <name>Activity snapshots</name>
        <t>A snapshot is a JSON object capturing the Data Source's cumulative
activity counters at a point in time:</t>
        <dl>
          <dt><tt>v</tt>:</dt>
          <dd>
            <t>Snapshot version string. For this document: <tt>activity-snapshot/1</tt>.</t>
          </dd>
          <dt><tt>ts</tt>:</dt>
          <dd>
            <t>The time the snapshot was taken (ISO 8601).</t>
          </dd>
          <dt><tt>source</tt>:</dt>
          <dd>
            <t>An identifier of the Data Source and the accounting scope within it
(for example, the database role whose activity is counted). Both
snapshots of a Window <bcp14>MUST</bcp14> carry the same <tt>source</tt>; a mismatch
invalidates the Window.</t>
          </dd>
          <dt><tt>entries</tt>:</dt>
          <dd>
            <t>An array of objects, one per activity pattern the source's accounting
distinguishes, each with:
</t>
            <dl>
              <dt><tt>pattern</tt>:</dt>
              <dd>
                <t>A digest of the normalized activity pattern (for example, a
normalized statement with constants removed). The digest, not
necessarily the text: pattern text can embed protected values and
schema detail. Deployments <bcp14>MAY</bcp14> retain pattern text privately for
diagnosis; only the digest is required here.</t>
              </dd>
              <dt><tt>count</tt>:</dt>
              <dd>
                <t>The cumulative counter value for this pattern at <tt>ts</tt>.</t>
              </dd>
            </dl>
          </dd>
        </dl>
      </section>
      <section anchor="cr-procedure">
        <name>Reconciliation procedure</name>
        <t>Given a start snapshot, an end snapshot, and the receipt set for the
Window, a reconciler proceeds as follows.</t>
        <t>Window validity is checked first. The two snapshots <bcp14>MUST</bcp14> carry the same
<tt>v</tt> and <tt>source</tt>, the end <tt>ts</tt> <bcp14>MUST</bcp14> be later than the start <tt>ts</tt>, and no
pattern's counter may be lower at the end than at the start. A counter
regression means the source's accounting was reset or altered inside the
Window; the Window is then unreliable, and the reconciler <bcp14>MUST</bcp14> report
failure for the Window as a whole rather than reconciling the surviving
patterns. An attacker who can reset counters must gain an error, not a
clean report.</t>
        <t>Window membership is itself a bound, and it is decided across two clocks. The
snapshot timestamps are taken by the Data Source; a Receipt's timestamp is
written by the Gateway. Admitting Receipts on an exact comparison between them
makes the failure asymmetric: a Gateway clock trailing the Data Source moves a
Receipt that names the object out of the Window, and the object it would have
accounted for becomes activity for which no Receipt exists. That outcome is the
one whose semantics name gateway bypass (<xref target="cr-semantics"/>), so a clock
difference of seconds can produce the accusation rather than any real gap. The
difference measured where this was found was three seconds; nothing in the
procedure sets a floor below which it stops happening, and a smaller one is
correspondingly harder for a reader to suspect.</t>
        <t>A Mapping Profile therefore declares the clock source on each side and the skew
bound between them, as it declares multiplicity (<xref target="cr-mapping"/>), and both are
covered by the profile digest as every other part of it is. Where the bound is
undeclared, the rule below applies and the affected items are <tt>indeterminate</tt>
rather than absent evidence. Where it is declared and a Receipt falls further
outside the Window than the bound allows, the boundary does not explain it: the
item takes the outcome it would have had, and a reconciler <bcp14>MUST</bcp14> report which
bound it applied to reach that.</t>
        <t>For each pattern whose counter increased during the Window, the
reconciler attributes the pattern to the data objects it touches and
checks whether any Receipt in the Window names those objects. Matching is
per pattern and per data object, not per call count: one client-level
request may legitimately produce more than one source-level statement, so
call counts and receipt counts <bcp14>MUST NOT</bcp14> be compared one-to-one. A pattern
whose target objects cannot be determined <bcp14>MUST NOT</bcp14> be silently ignored; it
receives the <tt>indeterminate</tt> outcome below.</t>
        <t>The comparison is between two populations — source-level activity and
Receipts — and neither population is assumed complete. Each item in either
population receives exactly one of the following outcomes:</t>
        <dl>
          <dt><tt>matched</tt>:</dt>
          <dd>
            <t>The item corresponds to an item in the other population within the
bounds of the applicable Mapping Profile (<xref target="cr-mapping"/>), and within the
Window. The profile's two kinds of bound do not act alike here: a
multiplicity bound admits items to this outcome, and the skew bound does
not. A Receipt outside the Window is never <tt>matched</tt>, however small the
declared skew — the bound qualifies how far the boundary can be trusted, not
where the boundary is.</t>
          </dd>
          <dt><tt>observed-without-receipt</tt>:</dt>
          <dd>
            <t>The Data Source recorded activity against an object that no Receipt in
the Window names.</t>
          </dd>
          <dt><tt>receipted-without-observation</tt>:</dt>
          <dd>
            <t>A Receipt in the Window names an object for which the Data Source's
counters record no activity.</t>
          </dd>
          <dt><tt>excluded</tt>:</dt>
          <dd>
            <t>The item was removed from comparison before matching by a rule stated in
the Mapping Profile (<xref target="cr-exclusions"/>).</t>
          </dd>
          <dt><tt>indeterminate</tt>:</dt>
          <dd>
            <t>The evidence or the Mapping Profile does not determine an outcome — the
pattern's objects could not be attributed, a required multiplicity or skew
bound is undeclared, the item's only naming Receipt falls outside the Window,
or the Window's evidence is insufficient to decide.</t>
          </dd>
        </dl>
        <t>An implementation <bcp14>MUST NOT</bcp14> report an item as <tt>matched</tt> when the outcome is
<tt>indeterminate</tt>; the absence of a decision is not a decision. In
particular, where a Mapping Profile does not declare the multiplicity bound
that the comparison requires, the affected items are <tt>indeterminate</tt> and
not clean coverage.</t>
        <t>The same rule binds the temporal bound, in the opposite direction. Where every
object an item leaves unaccounted for is named by a Receipt that falls outside
the Window, the item is <tt>indeterminate</tt>, and an implementation <bcp14>MUST NOT</bcp14> report
it as <tt>observed-without-receipt</tt>. A reconciler cannot distinguish a Gateway
clock that trails the Data Source from a Receipt written late, and reporting
absent evidence asserts a distinction it did not make. An item that leaves even
one object named by no Receipt at all is not affected by this rule: that is a
genuine absence, and a neighbouring object's clock does not make it
undecidable.</t>
        <t><tt>indeterminate</tt> here is not a weaker pass. The comparison did not come out
clean, and a result statement <bcp14>MUST</bcp14> carry the outcome and the offset that
produced it. What the implementation is forbidden to do is state the cause.</t>
        <t>A reconciliation with no <tt>observed-without-receipt</tt> items establishes that
each observed source-level item is attributable to a Receipt naming the
same object, under the declared correspondence. It does not establish that
every source-level statement was itself receipted, and a result <bcp14>MUST NOT</bcp14> be
stated in terms that assert it. Where one Receipt naming an object clears
an unbounded number of further statements against that object inside the
Window, the procedure has established object attribution and nothing
stronger.</t>
      </section>
      <section anchor="cr-mapping">
        <name>Mapping profiles</name>
        <t>One client-level operation may produce several source-level statements. The
multiplicity is not a property of the Gateway; it is a property of the
deployment — the version of the intermediary in front of the Data Source, a
connection pooler, an object-relational mapper. A Gateway cannot measure a
correspondence it does not produce.</t>
        <t>A Mapping Profile is therefore declared by the operator. It states, for each
client-level operation it covers, the expected bounded set of source-level
patterns, the bound on their multiplicity, and the exclusion rules applied
before comparison (<xref target="cr-exclusions"/>). It carries a version identifier and
is serialized and digested as in <xref target="digests"/>.</t>
        <t>The profile also declares the temporal correspondence, for the same reason it
declares the multiplicity one: the operator knows it and the Gateway cannot
measure it. It states the clock source on each side — the one the Data Source
stamps snapshots with, and the one the Gateway stamps Receipts with — and the
skew bound between them. Both are operator statements and carry that standing
under the rule below, including a declaration that the two sides read one clock
and the bound is therefore zero. That declaration is still a declaration: one
clock read twice is not read at the same instant, and whether the residue
matters is a judgement about the deployment. What the rule below forbids is
presenting it as measured, and what this document refuses is the third case —
zero because nobody looked, declared by nobody, and read by the reconciler as
agreement.</t>
        <t>The temporal correspondence is declared in three fields, under a <tt>clocks</tt>
member of the profile. They are given here with their encoding so that a
specification defining a different mapping structure can adopt the same shape
rather than a second one:</t>
        <dl>
          <dt><tt>clocks.observation</tt>:</dt>
          <dd>
            <t>String. An identifier for the clock that stamps the activity snapshots — the
Data Source side.</t>
          </dd>
          <dt><tt>clocks.receipt</tt>:</dt>
          <dd>
            <t>String. An identifier for the clock that stamps Receipts — the Gateway side.</t>
          </dd>
          <dt><tt>clocks.skew</tt>:</dt>
          <dd>
            <t>Duration. The bound on how far those two clocks may differ. A duration is a
decimal integer with a unit suffix of <tt>ms</tt>, <tt>s</tt>, <tt>m</tt>, or <tt>h</tt>, or a bare
decimal integer read as milliseconds: <tt>500ms</tt>, <tt>5s</tt>, <tt>2m</tt>, <tt>1h</tt>, <tt>5000</tt>. A
duration that does not parse is an error, not a default.</t>
          </dd>
        </dl>
        <t>An implementation <bcp14>MUST</bcp14> reject a <tt>clocks</tt> member carrying any key other than
these three, and <bcp14>SHOULD</bcp14> name the key it rejected. A profile whose fourth field
is silently ignored declares less than its author believes it declares, and the
difference surfaces as an outcome the operator cannot account for.</t>
        <t>A declaration that both sides read one clock writes all three fields: the two
identifiers may be the same string, and <tt>skew</tt> may be <tt>0ms</tt>. A declared zero is
a statement someone is accountable for; an assumed zero is the condition the
rule below forbids.</t>
        <t>Where the skew bound is declared twice — in the profile and through an
interface of the reconciler's own — an implementation <bcp14>MUST NOT</bcp14> select between
them. Two declarations that parse to the same number of milliseconds are one
declaration and proceed. Two that do not are an operator error and <bcp14>MUST</bcp14> fail,
because which declaration prevailed would not be visible on the result, and a
bound whose origin cannot be read from the result is not usefully declared at
all.</t>
        <t>A reconciliation result computed against a Mapping Profile <bcp14>MUST</bcp14> bind that
profile's digest, and <bcp14>MUST</bcp14> state, for each bound it relies on, whether the
bound is protocol-defined, measured, operator-declared, or undeclared. A
result <bcp14>MUST NOT</bcp14> present an operator-declared bound as a measured one.</t>
        <t>The consequence is a ceiling: <strong>a coverage outcome computed against a
declared correspondence cannot be stronger than the declaration.</strong> Where the
declaration is an operator statement, the outcome inherits that standing and
the result statement is required to show it. This is the same discipline
this document applies to absent evidence in <xref target="cr-semantics"/>, one layer up:
a declaration presented as a measurement is an overclaim regardless of
whether the declaration happens to be true.</t>
        <t>Where a required multiplicity bound is undeclared, the affected items are
<tt>indeterminate</tt> (<xref target="cr-procedure"/>). An implementation <bcp14>MUST NOT</bcp14> substitute a
default bound of one; a one-to-one rule reports false
<tt>observed-without-receipt</tt> items on any deployment with a pooler in front of
the Data Source, and a silent default would make that error look like a
finding.</t>
        <t>An undeclared skew bound is treated the same way, and for the same reason. An
implementation <bcp14>MUST NOT</bcp14> substitute a default of zero: zero asserts that the two
clocks agree, which is the assumption that produces the false accusation this
document now guards against. It <bcp14>MUST NOT</bcp14> substitute a bound of its own choosing
either, which would decide the operator's question with a number the operator
never saw. Absent the declaration, items whose only naming Receipt sits outside the
Window are <tt>indeterminate</tt> and the result reports the offset, leaving the
reader to compare it against clocks the reader knows and the reconciler does
not.</t>
        <t>An implementation <bcp14>MAY</bcp14>, absent a declared bound, decline to offer the boundary
as the explanation for an offset larger than the Window itself, on the ground
that a boundary artefact cannot exceed the interval it bounds. This is a
reporting choice about what an implementation is willing to suggest, not a
change of outcome: the item is <tt>indeterminate</tt> either way.</t>
      </section>
      <section anchor="cr-exclusions">
        <name>Exclusions</name>
        <t>Exclusion differs from the other outcomes in kind. <tt>matched</tt>,
<tt>observed-without-receipt</tt>, <tt>receipted-without-observation</tt>, and
<tt>indeterminate</tt> are produced by the comparison. <tt>excluded</tt> is a decision
taken before it, about what will be compared at all. It is therefore the
outcome through which a reconciliation can be made to come out clean, and it
requires the tightest reporting rules of the five.</t>
        <t>Exclusion rules <bcp14>MUST</bcp14> be stated in the Mapping Profile and are therefore
covered by its digest. A result statement <bcp14>MUST</bcp14> report the count of excluded
items and the rule that excluded each of them. An implementation <bcp14>MUST NOT</bcp14>
exclude items by a rule that is not in the profile.</t>
        <t>Without these constraints, a clean result and a result cleaned by exclusion
are indistinguishable to a reader, and the digest that is supposed to pin
what was compared does not cover the step that decided what was compared.
Session or catalog housekeeping is a legitimate exclusion; the requirement
is not that exclusions be rare, but that they be visible and pinned.</t>
        <t>The boundary of what pinning achieves is worth stating, because it is easy to
read as more. Carrying the rule identifier makes the exclusion <em>reproducible</em>:
a reader can see which rule removed each item and confirm that the rule was in
the profile the digest covers. It does not establish that the exclusion was
<em>correct</em>. A rule that removes session housekeeping and a rule that removes the
very statements an auditor came to examine are pinned identically and verify
identically; the mechanism reproduces the decision, it does not judge it.
Consumers <bcp14>MUST NOT</bcp14> read a pinned exclusion as a justified one, and a result
statement <bcp14>MUST NOT</bcp14> present the digest as evidence that the exclusions were
appropriate. This is the same distinction this document draws between a
declared bound and a measured one (<xref target="cr-mapping"/>), applied to the step that
decides what is compared at all.</t>
      </section>
      <section anchor="cr-result">
        <name>Result statement</name>
        <t>The reconciliation result is a JSON object:</t>
        <dl>
          <dt><tt>v</tt>:</dt>
          <dd>
            <t><tt>coverage-reconciliation/2</tt>. The outcome vocabulary of
<tt>coverage-reconciliation/1</tt> is not a subset of this one: a <tt>/1</tt> result
reporting <tt>covered</tt> asserts more than the procedure establishes, and is
not re-expressible here. A consumer <bcp14>MUST NOT</bcp14> read a <tt>/1</tt> result as a <tt>/2</tt>
result.</t>
          </dd>
          <dt><tt>window</tt>:</dt>
          <dd>
            <t>Object with <tt>start</tt> and <tt>end</tt> (the two snapshot <tt>ts</tt> values).</t>
          </dd>
          <dt><tt>source</tt>:</dt>
          <dd>
            <t>The common <tt>source</tt> identifier of the two snapshots.</t>
          </dd>
          <dt><tt>snapshots</tt>:</dt>
          <dd>
            <t>Object with <tt>start</tt> and <tt>end</tt> digests of the two snapshot structures.</t>
          </dd>
          <dt><tt>receipts</tt>:</dt>
          <dd>
            <t>A digest identifying the receipt set that was compared (for chained
receipt formats, the chain head digest and the sequence range are
<bcp14>RECOMMENDED</bcp14> as the identifying material).</t>
          </dd>
          <dt/>
          <dd>
            <t>A result <bcp14>SHOULD</bcp14> state whether that identifying material was obtained
independently of the Issuer or read from the receipt set itself. The two
are not equivalent evidence, and a Consumer cannot tell them apart from
the digest (<xref target="sec-completeness"/>).</t>
          </dd>
          <dt><tt>profile</tt>:</dt>
          <dd>
            <t>The digest and version identifier of the Mapping Profile the comparison
was computed against (<xref target="cr-mapping"/>), or <tt>null</tt> when none was declared.
When <tt>null</tt>, every item whose outcome depends on a multiplicity bound is
<tt>indeterminate</tt>, and so is every item whose only naming Receipt falls
outside the Window: with no profile there is no declared skew bound either.</t>
          </dd>
          <dt><tt>bounds</tt>:</dt>
          <dd>
            <t>For each bound the comparison relied on, its source: <tt>protocol-defined</tt>,
<tt>measured</tt>, <tt>operator-declared</tt>, or <tt>undeclared</tt>. A result whose bounds
are <tt>operator-declared</tt> states an outcome of that standing, no stronger.</t>
          </dd>
          <dt><tt>outcome</tt>:</dt>
          <dd>
            <t><tt>invalid-window</tt> when the Window is unreliable (<xref target="cr-procedure"/>);
otherwise <tt>no-exceptions</tt> when every item is <tt>matched</tt> or <tt>excluded</tt>, and
<tt>exceptions</tt> when any item is <tt>observed-without-receipt</tt>,
<tt>receipted-without-observation</tt>, or <tt>indeterminate</tt>.</t>
          </dd>
          <dt/>
          <dd>
            <t>The name states what the comparison left open, not what it proved. A
result <bcp14>MUST NOT</bcp14> carry an outcome name that asserts coverage of the source
activity, and <tt>no-exceptions</tt> is not such an assertion: it says the
comparison produced no open item under the declared correspondence, which
is bounded by that correspondence (<xref target="cr-mapping"/>) and by the fact that
neither population is assumed complete.</t>
          </dd>
          <dt><tt>items</tt>:</dt>
          <dd>
            <t>The list of items whose outcome is not <tt>matched</tt>, each with its outcome
and, for <tt>excluded</tt>, the profile rule that excluded it. Pattern digests,
not pattern text, for the reasons in <xref target="cr-snapshots"/>.</t>
          </dd>
          <dt><tt>counts</tt>:</dt>
          <dd>
            <t>The number of items in each outcome, including <tt>matched</tt> and <tt>excluded</tt>.
An implementation <bcp14>MUST NOT</bcp14> aggregate <tt>indeterminate</tt> items into a
proportion of coverage: an outcome that does not decide cannot be
averaged into one that does, and reporting it as a percentage restores
precisely the overclaim this vocabulary exists to prevent.</t>
          </dd>
        </dl>
        <t>The result statement is serialized and digested as in <xref target="digests"/> and is
intended to be signed by the reconciling party and registered
(<xref target="scitt"/>). The reconciler <bcp14>SHOULD</bcp14> be operationally independent of the
Gateway; where it is not, registration on a Transparency Service at
least makes the result's existence and timing third-party-visible.</t>
      </section>
      <section anchor="cr-semantics">
        <name>Semantics of the outcomes</name>
        <t>An <tt>observed-without-receipt</tt> outcome is a statement that evidence is
absent, not a statement about why. Gateway bypass, receipt sink failure,
and accounting scope mismatch all produce it. So does a Receipt that exists
and names the object but carries a timestamp the Window's own two clocks put
outside it — which is why <xref target="cr-procedure"/> removes that case from this outcome
rather than listing it as one more cause. It is named here because the earlier
revision of this document listed the mirror condition under
<tt>receipted-without-observation</tt> and not this one, and a reader comparing the
two lists should see that the omission was corrected rather than assume the
boundary distorts only one direction. A result statement <bcp14>MUST NOT</bcp14>
label such activity as an intrusion, a breach, or an intentional act, and
consumers <bcp14>MUST NOT</bcp14> present it as such. The value of the mechanism is
precisely that it surfaces the condition; attributing cause is
investigation, not reconciliation.</t>
        <t>A <tt>receipted-without-observation</tt> outcome is likewise a statement about
evidence, and it is not by itself a fault. A counter reset at the Window
boundary, an intermediary that collapses statements, and an increment that
lands outside the snapshot pair all produce the same shape as a receipt
describing activity that did not occur. An implementation <bcp14>MAY</bcp14> treat it as a
failure condition under a policy of its own; this document does not define
it as one, because the shape does not distinguish the cases.</t>
        <t>An <tt>indeterminate</tt> outcome is a result, not a degraded pass. It <bcp14>MUST NOT</bcp14> be
resolved by assumption in either direction: neither counted as matched
because nothing contradicts it, nor reported as missing activity because
nothing confirms it. An implementation under pressure to produce a single
number will be tempted to fold <tt>indeterminate</tt> into a coverage proportion;
that operation destroys the only property that distinguishes this
vocabulary from a bare pass, and <bcp14>MUST NOT</bcp14> be performed.</t>
        <t>Verification of receipt signatures and chain integrity is out of scope
for reconciliation and is assumed to have happened first, under the rules
of the receipt format in use. Reconciliation compares an
already-verified receipt set against source accounting; it does not
re-verify.</t>
      </section>
    </section>
    <section anchor="scitt">
      <name>Registration on a Transparency Service</name>
      <t>Both structures defined here are payloads for Signed Statements in the
sense of the SCITT architecture <xref target="RFC9943"/>. An Issuer (the Gateway
operator for Transformation Evidence; the reconciling party for a
Coverage Reconciliation result) signs the serialized structure and
registers the Signed Statement on a Transparency Service, obtaining a
Receipt in the SCITT sense: proof of the statement's inclusion, at a
position, in an append-only log operated by a party other than the
Issuer.</t>
      <t>This layering is deliberate. The structures in this document gain their
audit value from being registered somewhere the Issuer cannot quietly
rewrite; SCITT already defines that somewhere, together with its trust
model and verification procedures. This document therefore defines no
countersignature, no anchoring, and no log format of its own. Where this
document's mechanisms speak of digests binding evidence to receipts, the
binding survives registration unchanged: digests are over the payload,
not the envelope.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <dl>
        <dt>Same-operator collusion.</dt>
        <dd>
          <t>In many deployments the Gateway and the Data Source are operated by the
same party. Coverage Reconciliation's value against that party is
reduced: an operator with administrative access to the source's
accounting can suppress the counters themselves. The mandatory
invalid-window rule (<xref target="cr-procedure"/>) turns counter resets into
visible failures, and registration (<xref target="scitt"/>) makes suppression of
already-issued results detectable, but an operator who controls both
accounts and never registers anything is outside this mechanism's
reach. Deployments needing assurance against the operator itself
require an accounting path the operator cannot write to; that is a
deployment property, not a payload property.</t>
        </dd>
        <dt>Counter manipulation.</dt>
        <dd>
          <t>An attacker who can reset or rewind source counters could otherwise
hide activity between snapshots. The <bcp14>MUST</bcp14>-fail rule exists for this
case: a Window containing a regression is reported unreliable in its
entirety. Snapshot frequency bounds the exposure — shorter Windows
mean a reset costs the attacker a visible failure sooner.</t>
        </dd>
        <dt>Declared correspondence as an attack surface.</dt>
        <dd>
          <t>The Mapping Profile (<xref target="cr-mapping"/>) is written by the operator, and it
decides both what counts as a match and what is excluded before matching.
An operator who can widen a multiplicity bound can absorb unreceipted
activity into an expected range; one who can add an exclusion rule can
remove it from comparison entirely. This mechanism does not defend
against that operator — nothing computed against a declaration can. What
it does is make the declaration part of the evidence: the profile is
versioned, its digest is bound into the result, exclusions are reported
with their count and rule, and the result states that its bounds are
operator-declared. A reader who trusts the result inherits a visible
dependency on the profile rather than an invisible one. Registration
(<xref target="scitt"/>) makes the sequence of profiles an operator has declared
third-party-visible, which is the property a silently edited profile
would otherwise remove.</t>
        </dd>
        <dt>Digest agility.</dt>
        <dd>
          <t>Digests are prefixed (<xref target="digests"/>); an implementation <bcp14>MUST</bcp14> reject
unknown prefixes. Accepting an unknown prefix as an opaque match would
let an attacker route around comparison.</t>
        </dd>
        <dt>Signature and key compromise.</dt>
        <dd>
          <t>Signing and registration are inherited from the SCITT layer; key
management, revocation, and the consequences of Issuer key compromise
are governed there, not here. A compromised Issuer key voids the
evidentiary value of statements under that key, as it does for any
signed artifact.</t>
        </dd>
      </dl>
      <section anchor="sec-completeness">
        <name>Receipt set completeness and where the expected count comes from</name>
        <t>A receipt set whose most recent entries have been removed is internally
consistent. Every remaining link verifies, every signature checks, and nothing
in the file states how many entries it should have contained. Reconciliation
does not close this: it compares the receipt set against source accounting, and
an operator who can truncate the one can generally suppress the other. Detecting
the removal requires a count, a head digest, or an equivalent quantity that does
not come from the truncated file.</t>
        <t>What matters to a Consumer is not that such material exists but where it
arrives from, and the two available constructions differ in a way a digest does
not reveal.</t>
        <t>An implementation may accept the expected quantity as an input to its verifier.
The check then works exactly as well as the input is trustworthy, and an auditor
holding only the receipt file has no source for it except the Issuer — the party
whose behaviour is being examined. The verification is real; its independence is
supplied by whoever ran it, and is not a property of the artifacts.</t>
        <t>An implementation may instead carry the quantity inside the signed material, so
that the set testifies to its own extent. This closes the gap the first
construction leaves open, at a cost that should be stated: the Issuer is now
signing an assertion about a population it has not finished producing, and a
counter carried per entry constrains only the entries that were kept unless the
format also seals a total. A running count that is derived from the sequence
number it accompanies adds no information at all — it restates the position of
a record that is present, and says nothing about one that is absent. The
property worth having is a sealed quantity over a set held by someone, not a
per-record decoration.</t>
        <t>This document requires neither construction. It requires that a result
identifying a receipt set be readable as to which one it relied on, because a
Consumer who cannot tell the difference will read an externally supplied pin as
though the receipt set had proved its own completeness, which is the strongest
claim in this area and the one least often actually made.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Every structure in this document was shaped by one rule: evidence about
protected data must not itself become a disclosure channel. Transformation
Evidence carries class names, action names, and counts — never values.
Request and pattern references are digests because query and pattern text
can embed values and schema detail. Class names and counts do reveal that
data of a class was present in a result in a given quantity; deployments
for which even that is sensitive can keep the payloads private and
register only their digests, at the cost of making third-party audit a
permissioned rather than public act.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document, if progressed, will request registration of two media
types: <tt>application/transformation-evidence+json</tt> and
<tt>application/coverage-reconciliation+json</tt>, with the structures of
<xref target="te-structure"/> and <xref target="cr-result"/> as their content. No registrations are
requested at this stage.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t><em>This section is to be removed before publication as an RFC, per
<xref target="RFC7942"/>.</em></t>
      <t>One implementation of both mechanisms exists: the Conarium gateway
(TypeScript, MIT license, <tt>@conarium-ai/core</tt> on npm), in production at
one site since July 2026. Its receipts carry per-class masking counts as
in <xref target="transformation-evidence"/>; its <tt>conarium-reconcile</tt> tool implements
the procedure of <xref target="cr-procedure"/> against PostgreSQL statement
statistics, as a single file with no dependency on the package, so that a
third party can run the reconciliation without trusting the
implementation under audit. Conformance test vectors ship with the package.</t>
      <t>The state below was measured against the published 0.2.37 package rather than
read from its documentation. Every revision of this section up to -04 described
an implementation that had moved past it, in the direction of claiming less
than the code did; the correction is recorded at the end of this section
because the failure is more instructive than the current state.</t>
      <t>As of 0.2.37 the tool emits the result statement of <xref target="cr-result"/> as
<tt>coverage-reconciliation/2</tt>, on a flag of its own. The <tt>/1</tt> body is unchanged
and still carries <tt>conarium-reconcile/0.1</tt>. The <tt>/2</tt> result carries <tt>profile</tt>,
<tt>bounds</tt>, <tt>outcome</tt>, <tt>items</tt>, and <tt>counts</tt> under the names used here, and reads
Mapping Profiles (<xref target="cr-mapping"/>) including the three <tt>clocks</tt> fields.</t>
      <t>The behaviour below was observed on one fixture: a Receipt naming the object,
timestamped three seconds before a two-hour Window, together with one
infrastructure statement.</t>
      <ul spacing="normal">
        <li>
          <t>With no profile, <tt>profile</tt> is <tt>null</tt>, all three entries in <tt>bounds</tt> are
<tt>undeclared</tt>, and both items are <tt>indeterminate</tt> — the data statement for
want of a declared skew bound, the infrastructure statement for want of a
declared exclusion rule. In the <tt>/2</tt> result the tool applies no exclusion
rule that is not in a profile, which is the requirement of
<xref target="cr-exclusions"/>. Its <tt>/1</tt> output still reports such statements under a
category of its own, decided by rules built into the tool; that output is
not a result statement in the sense of <xref target="cr-result"/> and does not claim to
be.</t>
        </li>
        <li>
          <t>With a profile declaring exclusions but no <tt>clocks</tt> member, the excluded item
carries the profile rule that removed it, <tt>bounds.exclusion</tt> is
<tt>operator-declared</tt>, and <tt>bounds.skew</tt> remains <tt>undeclared</tt>.</t>
        </li>
        <li>
          <t>With <tt>clocks.skew</tt> declared larger than the offset, <tt>bounds.skew</tt> is
<tt>operator-declared</tt> and the item remains <tt>indeterminate</tt>. A declaration does
not manufacture a match.</t>
        </li>
        <li>
          <t>With <tt>clocks.skew</tt> declared smaller than the offset, the same item becomes
<tt>observed-without-receipt</tt>. The declared bound reaches the comparison and not
only the report.</t>
        </li>
        <li>
          <t>A skew bound declared both in a profile and through the command line fails
unless the two parse to the same number of milliseconds; a <tt>clocks</tt> member
carrying a fourth key fails and names the key it rejected.</t>
        </li>
      </ul>
      <t>Two gaps remain. The tool's exit codes predate this vocabulary and are still
not a mapping of it; they were left unchanged deliberately, because an exit
code is a compatibility contract with running deployments and renumbering them
to match a revision of this document would break installations in order to make
a specification look implemented. One code was added rather than renumbered,
for the temporal outcome, which existing callers do not notice.</t>
      <t>The second gap is the one that produced this section's own history. The
implementation's test suite contains no check that compares this section
against what the code does. Each of the four statements this revision removed
was accurate when written and false within days, and none was found by any
mechanism — they were found by a reader holding the document beside the tool's
output. A gaps section that goes stale understating an implementation fails in
the same way as one that overstates it: both describe a system that does not
exist, and a reader has no way to know which direction the error runs. Until
that check exists, this section should be read as a claim about the date it was
measured.</t>
      <t>Earlier revisions of this document, and releases of that implementation up
to 0.2.21, described a clean reconciliation as "covered". That word asserted
more than the procedure establishes; it was corrected in the implementation
in 0.2.22 and in this document in -03.</t>
      <t>The temporal rule added in -04 has the same history, compressed. The
implementation admitted Receipts on an exact comparison across the two clocks,
so a Receipt three seconds outside a two-hour Window produced
<tt>observed-without-receipt</tt> and a message about a possible bypass. That was
raised in review of -03 on the SCITT mailing list, reproduced, and corrected in
0.2.27. The correction was then attacked: a Receipt from the previous day,
naming the same object, moved a real in-Window absence into the new outcome and
the implementation offered the boundary as its explanation — an exculpation a
twenty-three hour offset cannot support. 0.2.28 bounds what the implementation
is willing to suggest, which is the reporting choice described in
<xref target="cr-mapping"/>. Both defects were in the implementation before they were visible
in this document, and neither was found by reading it. The first came from
review of -03 on the mailing list; the second from an adversarial review of the
implementation, commissioned because the fix had loosened a default and its
author was not the party who should clear it. What made the second sentence
sayable was the tool's own output, not this text, which did not yet exist. The
document's part was smaller and later: it is where the correction has to be
written down so the next implementation does not have to be attacked to learn
it.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="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="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="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="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>
      </references>
    </references>
    <?line 902?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The discipline of stating what each structure does not prove is owed to
every auditor who has been handed a green dashboard and asked to trust
it.</t>
      <t>Iman Schrock reviewed revision -02 on the SCITT mailing list and identified
two overclaims in it: that a clean reconciliation established coverage of
the source activity, and that Transformation Evidence proved the
transformation rather than the Issuer's assertion of it. Both were corrected
in -03. The outcome vocabulary of <xref target="cr-procedure"/> and the
requirement that a declared bound cannot yield an outcome stronger than the
declaration follow from that exchange. Reviewing -03, the same reviewer
established that an item whose classification rule does not resolve under the
pinned profile is <tt>indeterminate</tt> rather than excluded — the rule -04
applies one layer up, to bounds.</t>
      <t>Walter Hawkins read the reconciliation implementation and found the temporal
defect -04 exists to correct: that Window membership is decided
across two clocks, that admitting Receipts on an exact comparison between them
manufactures an accusation where no gap exists, and that the failure is
asymmetric in the direction that produces false findings rather than missed
ones. The observation that the sub-second case is the dangerous one — being the
one a reader will believe — is his, and it is why <xref target="cr-procedure"/> sets no floor
below which the problem is assumed to stop. The requirement that a source
population declare its own completeness on the same standing ladder as every
other bound is also his.</t>
      <t>Joel Hillier, reviewing -04 on the SCITT mailing list, asked that the temporal
correspondence be given as named fields with a stated encoding rather than
described in prose, so that another specification could adopt the same shape
instead of inventing a second one. The three <tt>clocks</tt> fields in <xref target="cr-mapping"/>
are written to be copied, and are the answer to that request. The observation
that a gaps section going stale in the understating direction is the same
failure as one that overstates is also his; it is why the Implementation Status
section of this revision was rewritten from measurement rather than edited.</t>
      <t>Henri Sirkkavaara established the distinction in <xref target="sec-completeness"/> between an
expected quantity supplied to a verifier from outside and one carried inside the
signed material, by building the second and naming what the first leaves an
auditor unable to do. The consequence is stated against this document's own
implementation, which does the first. The narrower observation that a running
count derived from the sequence number it accompanies adds no information is
this author's, arrived at while measuring his, and is recorded here because it
bears on the construction rather than on the distinction, which stands.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA51965Ic15He//MUZfAHSLpnBEKkLjPr1UIguIKWJLgYaGXF
xobndFdNdwndVa061TPoZSDCD+Hfth9Bz+CQX8RP4swvM8+lqhuEvaEFZ3qq
T51L3vPLPBcXF25sx21zVT16M/gu3PXDzo9t31Uv7tu66VZN5bu6et7fN4Nf
N9XrZtV3q3bbykP0ePXsULejX26b6ms/+urrNqy2fTgMzSPnl8uhuaex04dx
3Edu5cdm3Q/HqyqMtXN1v+r8jmZSD/5uvKj79XC4CKt2pJ/j1y8a/frFk69c
OCx3bQg0kfG4py++fPHmG9cddstmuHI1jX7laLah6cIhXFXjcGgcTebnzg+N
p0ndNKvD0I7HR+6hH96uh/6w50+fv3zz5pF72xzp0/rKVRfV0Kyadj/yjzsf
3rbdWj/NtoI/GXkH9zR6tzry72nazoWR9vG/+G3f0USPTXD79qr617FfLarQ
D+PQ3AX66bjjH/7NOX8YN/3Ab3cV/d/dYbuVzXmxa95Wz31Xfd3/7X8MB/zV
0y6135x6ZK1P9MPad+2/Y6ZX1b+8eP3sP1dvXvzT96++ffX7v/21+vZvf/3u
b3998+Lr6n//97/99fU/vXjzt7+mkV994Msvq29ffveSv3nzkr/3El9b9Ydu
5IN98xq/Nzvfbq+q5hKH+g+0b35oD7vLurl3rhOSu6fTqqrX3zx/+sUXv9Yf
f/XFL7+0H3/5q6/0x1//+sufXznXdneTb/7y118+tWeefEU/uouLi8ovAx3M
anQOlGqnGUC8tM89jdHUVc3E61erJoTKj2MTxmrsq4eNHytfremRB3/EmQ91
U1+6Nw999ZcDPUWbEuhzWmFX9YcxEHlW46ZpB/rQrzZXMsSDD9Vq47s1vYke
pAfwQrdsaBZN1coTSjBNvQDXPWwaenDA06EZq/4uTb6l8frdftuMTfXQjhs3
NGHfrDBpG50o6zCsmseh6h86XhsfC1EvD0Qb0t4T8V9WbzY0FjHfYdd0o6ub
u7ZrQjXS+ozXiD+Hw2okOqbPsSFdeMC8aK5pF67cGRFCq6n2zZCxMY1IO8ov
5Lk8bNrVplptfQj0hv7O3fstDVrROxphKh6Tdo43ZdM/LKqVH4YjrwRLCvgD
vl8xC4RqeRirriGZpUNdf0iKYXpDv2pqnhk/SAs9bMdskrxqx/vteQ9mGytb
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
+3Yo5EMMNwEOKCrMrlLWjnj53TGq/7QABD1vT4bPn/1JkrKmFmPnjglTVfGe
y5S3vJ6Gu8qbOV1k/0XB4rKA9HBWMQSiIfkSJJl3rla4DTHMl9Bv68GzypRC
mJdl3QQ922/vtYYqpXljgW9iv6toKloNVrozyyXk6qh32nGz4LqVEnOeylDl
N8dAOOSHogO4bACOHwdI//npyM4jNnWQ+1iMGuz2OL2gO2aiGAI7iuHAF9TM
TS+5rib6AMn2upYMZQLsE1GR/3ZUbdNJNXp2UWh5vxjS4Zl9pPVc8UKgDDRk
NxFZP0U6a2kZqUjZdFdjup5VYd2IBgFdOWi9hnYdgWJ1d9j/SRe6Orf0afXa
z0Cv87yTq0NLcHhwk1sVy4s2pu2N0lXGnfNb1iJkv1g7xzzkY+EQuys0GgbF
DVZErfJ16c/3+uOsrR8/EaNvfklX0Vw5v2YNrsP8Ol+tDeeb3qPU//DtaKBd
jXkhpml1fxG6xG8608TUUk1Tqxa59rPdBYX7PwOFaCw+WdkJTs2azkxjeWy6
3vNbutAwHzg4Nr8pbjHGHl2la7QkQq8jPw7iRKlS5oQ76kEl/yHX3aQb5CpO
zsl+Wa3nqQsvtXmp3WsJVJVm8tKFcqK2MxKY9aZGl6SRkesOeR/r6sVcK80J
s4v0GHaaqt/1nNX7+suhbcbtkTYZyNhroxRhg3TdJoJDNg45v/1a4qzRW0a1
vTZpjrklEwnRGDUkRFxIyrGnG/Ji70OTHohGyeWuEX9Ln/COK2cnpZb6wWT4
nsch2T2Be0b7t7grSOPldndDfm1Dum4Wlp8+IZ2tACvOuPrQ6W32V3FIwFYt
16sMu3BitXI7sPtmS8QCAXHTkHJnccjBYZqA4mSduyFz4SJhn8kwAS1y+Okl
l8oVGLGy461F2YvmhLHgpsnuQoFNAkq9PNdK9LFebVyWEgp1IzpLRMZxoqsC
7SjAppo0l27UvV3DG3NhqUNB5mMheXvYQ2tWEXWg7G9Xm4JBaAdqftUxNTTU
kKQEZOaBx4qoqQuleSiRDL5HQhPeakHFwEN20Jlrrl6xzVQUH69EFUjLbGa3
AJRdSJeHsdwpbofGpki/DYCupw0J2vrkHrM1OWiNgVWBqvXZZkT+WI7Fswvw
9eSaA8hDtkhw63R+22qckVjUek1HK4Dq7Ij2XptkT4H5kCF0vNdVKqiuciCj
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
QAKSXPu/bBq+xQC7AAA=

-->

</rfc>
