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


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

]>


<rfc ipr="trust200902" docName="draft-dogru-scitt-disclosure-evidence-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Disclosure Evidence">Transformation Evidence and Coverage Reconciliation for Auditable Data Disclosure</title>

    <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="21"/>

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

<t><list style="symbols">
  <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>
  <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>
</list></t>

<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 anchor="relationship-to-coverage-attestation"><name>Relationship to coverage attestation</name>

<t>A record can be intact and silent about what is missing from it. A report can
be complete and silent about what it examined. These are two failures rather
than one, and they are closed in different places.</t>

<t>This document is about the first. It states what a mediator recorded, what its
record leaves open, and refuses to let the second question be answered by the
shape of the first: a chain that verifies says nothing about the entries that
were never written, and the vocabulary here exists so that a record can say so
in its own terms rather than by omission.</t>

<t>The second belongs to coverage attestation, where an examination declares the
population it drew from, the basis on which that population was determined, and
an individual accounting for every unit it did not examine. Work on that layer
is under way on this list.</t>

<t>The two compose in one direction and substitute in neither. A coverage
attestation states what was examined; the structures here state what the
examination's mediator recorded of it. An attestation over a mediated
examination inherits whatever the mediator's record leaves open, and inherits it
silently unless the record says so, which is the failure this document names. In
the other direction, a complete and honest access record over an examination
whose population was chosen after the results were known is an exact record of a
question that was already decided.</t>

<t>Neither layer rescues the other. A reader given one has half an answer to a
question they were not told had two halves.</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><spanx style="verb">v</spanx>:</dt>
  <dd>
    <t>Structure version string. For this document: <spanx style="verb">transformation-evidence/1</spanx>.</t>
  </dd>
  <dt><spanx style="verb">disclosure</spanx>:</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><spanx style="verb">request</spanx>:</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><spanx style="verb">policy</spanx>:</dt>
  <dd>
    <t>An object with <spanx style="verb">id</spanx> (an identifier of the policy version applied) and
<spanx style="verb">decision</spanx> (the policy outcome under which disclosure proceeded).</t>
  </dd>
  <dt><spanx style="verb">classes</spanx>:</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><spanx style="verb">class</spanx>:</dt>
      <dd>
        <t>The Protected Class name, as named by the policy.</t>
      </dd>
      <dt><spanx style="verb">action</spanx>:</dt>
      <dd>
        <t>One of <spanx style="verb">mask</spanx>, <spanx style="verb">redact</spanx>, <spanx style="verb">tokenize</spanx>, <spanx style="verb">truncate</spanx>, or <spanx style="verb">none</spanx>. The value
<spanx style="verb">none</spanx> states that the class occurred and was disclosed
untransformed — an honest statement some deployments need to make.</t>
      </dd>
      <dt><spanx style="verb">count</spanx>:</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 <spanx style="verb">sha256:</spanx> 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 <spanx style="verb">classes</spanx> 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><spanx style="verb">v</spanx>:</dt>
  <dd>
    <t>Snapshot version string. For this document: <spanx style="verb">activity-snapshot/1</spanx>.</t>
  </dd>
  <dt><spanx style="verb">ts</spanx>:</dt>
  <dd>
    <t>The time the snapshot was taken (ISO 8601).</t>
  </dd>
  <dt><spanx style="verb">source</spanx>:</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 <spanx style="verb">source</spanx>; a mismatch
invalidates the Window.</t>
  </dd>
  <dt><spanx style="verb">entries</spanx>:</dt>
  <dd>
    <t>An array of objects, one per activity pattern the source's accounting
distinguishes, each with:
</t>

    <dl>
      <dt><spanx style="verb">pattern</spanx>:</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><spanx style="verb">count</spanx>:</dt>
      <dd>
        <t>The cumulative counter value for this pattern at <spanx style="verb">ts</spanx>.</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
<spanx style="verb">v</spanx> and <spanx style="verb">source</spanx>, the end <spanx style="verb">ts</spanx> <bcp14>MUST</bcp14> be later than the start <spanx style="verb">ts</spanx>, 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 <spanx style="verb">indeterminate</spanx>
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 <spanx style="verb">indeterminate</spanx> 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><spanx style="verb">matched</spanx>:</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 <spanx style="verb">matched</spanx>, however small the
declared skew — the bound qualifies how far the boundary can be trusted, not
where the boundary is.</t>
  </dd>
  <dt><spanx style="verb">observed-without-receipt</spanx>:</dt>
  <dd>
    <t>The Data Source recorded activity against an object that no Receipt in
the Window names.</t>
  </dd>
  <dt><spanx style="verb">receipted-without-observation</spanx>:</dt>
  <dd>
    <t>A Receipt in the Window names an object for which the Data Source's
counters record no activity.</t>
  </dd>
  <dt><spanx style="verb">excluded</spanx>:</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><spanx style="verb">indeterminate</spanx>:</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 <spanx style="verb">matched</spanx> when the outcome is
<spanx style="verb">indeterminate</spanx>; 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 <spanx style="verb">indeterminate</spanx> 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 <spanx style="verb">indeterminate</spanx>, and an implementation <bcp14>MUST NOT</bcp14> report
it as <spanx style="verb">observed-without-receipt</spanx>. 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><spanx style="verb">indeterminate</spanx> 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 <spanx style="verb">observed-without-receipt</spanx> 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 <spanx style="verb">clocks</spanx>
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><spanx style="verb">clocks.observation</spanx>:</dt>
  <dd>
    <t>String. An identifier for the clock that stamps the activity snapshots — the
Data Source side.</t>
  </dd>
  <dt><spanx style="verb">clocks.receipt</spanx>:</dt>
  <dd>
    <t>String. An identifier for the clock that stamps Receipts — the Gateway side.</t>
  </dd>
  <dt><spanx style="verb">clocks.skew</spanx>:</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 <spanx style="verb">ms</spanx>, <spanx style="verb">s</spanx>, <spanx style="verb">m</spanx>, or <spanx style="verb">h</spanx>, or a bare
decimal integer read as milliseconds: <spanx style="verb">500ms</spanx>, <spanx style="verb">5s</spanx>, <spanx style="verb">2m</spanx>, <spanx style="verb">1h</spanx>, <spanx style="verb">5000</spanx>. A
duration that does not parse is an error, not a default.</t>
  </dd>
</dl>

<t>An implementation <bcp14>MUST</bcp14> reject a <spanx style="verb">clocks</spanx> 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 <spanx style="verb">skew</spanx> may be <spanx style="verb">0ms</spanx>. 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
<spanx style="verb">indeterminate</spanx> (<xref target="cr-procedure"/>). An implementation <bcp14>MUST NOT</bcp14> substitute a
default bound of one; a one-to-one rule reports false
<spanx style="verb">observed-without-receipt</spanx> 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 <spanx style="verb">indeterminate</spanx> 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 <spanx style="verb">indeterminate</spanx> either way.</t>

</section>
<section anchor="cr-exclusions"><name>Exclusions</name>

<t>Exclusion differs from the other outcomes in kind. <spanx style="verb">matched</spanx>,
<spanx style="verb">observed-without-receipt</spanx>, <spanx style="verb">receipted-without-observation</spanx>, and
<spanx style="verb">indeterminate</spanx> are produced by the comparison. <spanx style="verb">excluded</spanx> 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><spanx style="verb">v</spanx>:</dt>
  <dd>
    <t><spanx style="verb">coverage-reconciliation/2</spanx>. The outcome vocabulary of
<spanx style="verb">coverage-reconciliation/1</spanx> is not a subset of this one: a <spanx style="verb">/1</spanx> result
reporting <spanx style="verb">covered</spanx> asserts more than the procedure establishes, and is
not re-expressible here. A consumer <bcp14>MUST NOT</bcp14> read a <spanx style="verb">/1</spanx> result as a <spanx style="verb">/2</spanx>
result.</t>
  </dd>
  <dt><spanx style="verb">window</spanx>:</dt>
  <dd>
    <t>Object with <spanx style="verb">start</spanx> and <spanx style="verb">end</spanx> (the two snapshot <spanx style="verb">ts</spanx> values).</t>
  </dd>
  <dt><spanx style="verb">source</spanx>:</dt>
  <dd>
    <t>The common <spanx style="verb">source</spanx> identifier of the two snapshots.</t>
  </dd>
  <dt><spanx style="verb">snapshots</spanx>:</dt>
  <dd>
    <t>Object with <spanx style="verb">start</spanx> and <spanx style="verb">end</spanx> digests of the two snapshot structures.</t>
  </dd>
  <dt><spanx style="verb">receipts</spanx>:</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><spanx style="verb">profile</spanx>:</dt>
  <dd>
    <t>The digest and version identifier of the Mapping Profile the comparison
was computed against (<xref target="cr-mapping"/>), or <spanx style="verb">null</spanx> when none was declared.
When <spanx style="verb">null</spanx>, every item whose outcome depends on a multiplicity bound is
<spanx style="verb">indeterminate</spanx>, 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><spanx style="verb">bounds</spanx>:</dt>
  <dd>
    <t>For each bound the comparison relied on, its source: <spanx style="verb">protocol-defined</spanx>,
<spanx style="verb">measured</spanx>, <spanx style="verb">operator-declared</spanx>, or <spanx style="verb">undeclared</spanx>. A result whose bounds
are <spanx style="verb">operator-declared</spanx> states an outcome of that standing, no stronger.</t>
  </dd>
  <dt><spanx style="verb">outcome</spanx>:</dt>
  <dd>
    <t><spanx style="verb">invalid-window</spanx> when the Window is unreliable (<xref target="cr-procedure"/>);
otherwise <spanx style="verb">no-exceptions</spanx> when every item is <spanx style="verb">matched</spanx> or <spanx style="verb">excluded</spanx>, and
<spanx style="verb">exceptions</spanx> when any item is <spanx style="verb">observed-without-receipt</spanx>,
<spanx style="verb">receipted-without-observation</spanx>, or <spanx style="verb">indeterminate</spanx>.</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 <spanx style="verb">no-exceptions</spanx> 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><spanx style="verb">items</spanx>:</dt>
  <dd>
    <t>The list of items whose outcome is not <spanx style="verb">matched</spanx>, each with its outcome
and, for <spanx style="verb">excluded</spanx>, the profile rule that excluded it. Pattern digests,
not pattern text, for the reasons in <xref target="cr-snapshots"/>.</t>
  </dd>
  <dt><spanx style="verb">counts</spanx>:</dt>
  <dd>
    <t>The number of items in each outcome, including <spanx style="verb">matched</spanx> and <spanx style="verb">excluded</spanx>.
An implementation <bcp14>MUST NOT</bcp14> aggregate <spanx style="verb">indeterminate</spanx> 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>
  <dt/>
  <dd>
    <t>A result carries <spanx style="verb">matched</spanx> as a count while carrying every other outcome as
an accounting, and the asymmetry is deliberate. A count a reader cannot
reconstruct is an assertion about a population the producer alone can see.
This one is not that: the result digests both activity snapshots and the
receipt set it compared (<xref target="cr-snapshots"/>, <xref target="digests"/>), and a reader holding
those inputs recomputes the matched set exactly rather than being told its
size. The count is a convenience over material the reader already has.</t>
  </dd>
  <dt/>
  <dd>
    <t>That property fails in one identified case, and it is the case this document
already names. Where the identifying material for the receipt set was read
from the receipt set itself rather than obtained independently of the Issuer
(<xref target="sec-completeness"/>), a reader recomputing from material the Issuer chose
recomputes the Issuer's answer. The digest is then a check on transcription
and not on completeness, and the <spanx style="verb">matched</spanx> count inherits that standing.</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 <spanx style="verb">observed-without-receipt</spanx> 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
<spanx style="verb">receipted-without-observation</spanx> 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 <spanx style="verb">receipted-without-observation</spanx> 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 <spanx style="verb">indeterminate</spanx> 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 <spanx style="verb">indeterminate</spanx> 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: <spanx style="verb">application/transformation-evidence+json</spanx> and
<spanx style="verb">application/coverage-reconciliation+json</spanx>, 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, <spanx style="verb">@conarium-ai/core</spanx> on npm), in production at
one site since July 2026. Its receipts carry per-class masking counts as
in <xref target="transformation-evidence"/>; its <spanx style="verb">conarium-reconcile</spanx> 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.38 package rather than
read from its documentation, and it is now checked rather than measured once.
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.38 the tool emits the result statement of <xref target="cr-result"/> as
<spanx style="verb">coverage-reconciliation/2</spanx>, on a flag of its own. The <spanx style="verb">/1</spanx> body is unchanged
and still carries <spanx style="verb">conarium-reconcile/0.1</spanx>. The <spanx style="verb">/2</spanx> result carries <spanx style="verb">profile</spanx>,
<spanx style="verb">bounds</spanx>, <spanx style="verb">outcome</spanx>, <spanx style="verb">items</spanx>, and <spanx style="verb">counts</spanx> under the names used here, and reads
Mapping Profiles (<xref target="cr-mapping"/>) including the three <spanx style="verb">clocks</spanx> 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>

<t><list style="symbols">
  <t>With no profile, <spanx style="verb">profile</spanx> is <spanx style="verb">null</spanx>, all three entries in <spanx style="verb">bounds</spanx> are
<spanx style="verb">undeclared</spanx>, and both items are <spanx style="verb">indeterminate</spanx> — the data statement for
want of a declared skew bound, the infrastructure statement for want of a
declared exclusion rule. In the <spanx style="verb">/2</spanx> result the tool applies no exclusion
rule that is not in a profile, which is the requirement of
<xref target="cr-exclusions"/>. Its <spanx style="verb">/1</spanx> 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>
  <t>With a profile declaring exclusions but no <spanx style="verb">clocks</spanx> member, the excluded item
carries the profile rule that removed it, <spanx style="verb">bounds.exclusion</spanx> is
<spanx style="verb">operator-declared</spanx>, and <spanx style="verb">bounds.skew</spanx> remains <spanx style="verb">undeclared</spanx>.</t>
  <t>With <spanx style="verb">clocks.skew</spanx> declared larger than the offset, <spanx style="verb">bounds.skew</spanx> is
<spanx style="verb">operator-declared</spanx> and the item remains <spanx style="verb">indeterminate</spanx>. A declaration does
not manufacture a match.</t>
  <t>With <spanx style="verb">clocks.skew</spanx> declared smaller than the offset, the same item becomes
<spanx style="verb">observed-without-receipt</spanx>. The declared bound reaches the comparison and not
only the report.</t>
  <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 <spanx style="verb">clocks</spanx> member
carrying a fourth key fails and names the key it rejected.</t>
</list></t>

<t>One gap remains. 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 gap that produced this section's own history is closed. The -04 revision
carried four statements that were accurate when written and false within days,
every one of them claiming less than the code did, and none was found by any
mechanism — they were found by a reader holding the document beside the tool's
output. The -05 revision recorded that the implementation's test suite contained
no check comparing this section against what the code does, and said that until
such a check existed the section should be read as a claim about the date it was
measured.</t>

<t>A check now runs this section instead of reading it. Every behavioural statement
above is bound to a run of the shipped reconciliation tool over a fixture this
document names, and two directions are enforced: every value a run produced must
appear in the sentence that states it, and the number of statements must equal
the number of bound runs. A statement with no run is one nothing measures; a run
with no statement is a measurement this document dropped. The revision under
test is derived from what the repository holds rather than named in the check,
because a hard-coded revision is the same class of stale declaration the check
exists to catch.</t>

<t>The first thing it caught was the sentence in the paragraph above. From the
commit that added the check, -05's account of its own absence was false, and a
posted draft cannot be edited; this revision is where the correction has to
live. A check whose first finding is the sentence claiming it does not exist has
at least demonstrated the failure mode it was written for.</t>

<t>Two limits, stated rather than left to be found. The check pins the behaviour
statements and not the prose around them, so a paragraph can still go stale in a
way nothing runs. And a failure has two honest resolutions: change the code
back, or write the revision that says what the code now does. Editing a posted
draft is not one of them, which makes the cost of drift a document rather than a
diff.</t>

<t>A second check covers the conformance class rather than this document. Every
outcome the result statement can carry has a case that produces it, and each
independent ground for <spanx style="verb">indeterminate</spanx> has a case of its own. The list of
outcomes is read from the tool's own result rather than restated in the check,
so an outcome added to the vocabulary arrives there without anyone remembering
to add it, and arrives failing until some case produces it. A conformance class
can lose coverage in silence — nothing in a test set records what was removed
from it — and a class that has lost coverage still passes.</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
<spanx style="verb">observed-without-receipt</spanx> 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 title='References' anchor="sec-combined-references">

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



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="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 title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>
<reference anchor="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 975?>

<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 <spanx style="verb">indeterminate</spanx> 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 <spanx style="verb">clocks</spanx> 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:
H4sIAAAAAAAAA5V965IbV5Le//MUZeqHLovuoTTSXJrr3eVS1A5nJXGW5Ox4
YmPDfRqoBmoIVGHqFLrZq2CEH8K/bT/CPINj/CJ+Emd+mXlOngJAyY61ht0N
VJ1LXr+8XVxchKmbtu1V8+jNGPt0O4y7OHVD3zy/61Ztv2yb2K+aZ8NdO8Z1
27xql0O/7LadfIg+3jw9rLop3mzb5us4xebrLi23QzqM7aMQb27G9o6eXX6Z
n/soLOPUrofx4apJ0yqE1bDs445Wshrj7XSxGtbj4SItu4n+nb9+0erXLx7/
IqTDza5LiRYyPezpiy+ev/km9IfdTTtehRU9/SrQalPbp0O6aqbx0AZazM9D
HNtIi3rdLg9jNz08CvfD+HY9Doc9//bZizdvHoW37QP9dnUVmotmbJdtt5/4
n7uY3nb9Wn/rjoJ/M/EJ7unp/fKBfy7LDiFNdI7/NW6Hnhb60Kaw766af5uG
5aJJwziN7W2ifz3s+B//HkI8TJth5LeHhv7f7WG7lcN5vmvfNs9i33w9/PV/
jgf8NdIpdd+c+shaPzGM69h3/4GVXjX/+vzV0//SvHn+z9+//Pblb//6l+bb
v/7lu7/+5c3zr5v/8z/++pdX//z8zV//Up788gNfftF8++K7F/zN1y/4ey/w
teVw6Ce+2Dev8HO7i932qmkvcan/QOcWx+6wu1y1dyH0QnJ3dFtN8+qbZ198
/vmv9Z+/+vyXX9o/f/mrr/Sfv/71lz+/CqHrb2ff/OWvv/zCPvP4K/pnuLi4
aOJNootZTiGAUu02E4iXznmgZ7SrZsXEG5fLNqUmTlObpmYamvtNnJrYrOkj
9/EBdz6u2tVleHM/NH8+0KfoUBL9nnbYN8NhSkSezbRpu5F+GZebK3nEfUzN
chP7Nb2JPkgfwAvDTUuraJtOPqEE064W4Lr7TUsfHPHp1E7NcFsW39Hzht1+
205tc99NmzC2ad8usWh7OlHWYVy2H6dmuO95b3wtRL38IDqQ7o6I/7J5s6Fn
EfMddm0/hVV72/Vtaiban/Ea8ed4WE5Ex/R7HEif7rEuWms5hatwRoTQbpp9
Ozo2pifSifILeS33m265aZbbmBK9YbgNd3FLD23oHa0wFT+TTo4PZTPcL5pl
HMcH3gm2lPAHfL9hFkjNzWFq+pZklj7qyYekGJY3Dst2xSvjD9JGD9vJLZJ3
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
HH1iu6fJRkYzNzL41PgV7Kj3nDu/nlkAx9ygVZflFx+7yEeH7MXD7S2tALm3
g3oybM6dDv+yFLfuISqR6BYzpyF9u7YS0vzsxXOsYG5LgTFAvPwGlQbHQcr4
oZvCkeElx3InlFyPQmxWhb74ifaa1t5PjXiNhoJblgW7FGIPQkAKwrOjMyOz
X11Hk+L7/ZDoNaWCwsw9WKNBec9OWus7Dn3tGXUuf6bYhNhoRRZhZiqpQknz
7eUiuQ8TgIalzks3X/sHAwemgYPqioMZ1MHU9hbdNh35mIIu5+2ZI8z4iZWD
ad1kmJnQGnVLUpFKn1jmOictPUJODsBXmLqoO5Kz5s4kcBz1KvJBO+krMahM
u0Y+8DQYRDtwI7hJS/diWLf9AYJEOMCsZrI+1hsiD+m/gLcx5INzycQNDJ4M
Ji1FjBJcmJOnOAzGSvdtfAsjNKWj+nQ7ALAqxwhB0cWQnxXCz3Au4/Hsxd/e
plbbOuVcvQ7NT5TpZhTVISp3IxFDlj6I21tGA1d9Str6UQ0p4Fa6gvPEp9w7
jykHuBa5yr2yDo0dTFrDYkIYz25ahS7LfHC52fCSpAen4nT9KjJji4Nli9Il
wfM8bbNDSSrwlJX57H6ceR2ydtSSEBd11ptg2mCCnu2paHo0Tkmc/3PoLQpa
UtPUySwrTK7PQpwykjPHCxfmditCwUHscjkr+56dvWVuKcIRrM5X0GMT/mqP
avjIzNgQXp7PaN+VfipN0uZIp49ewbtKh2SmmrddUTlmJddHHwguvJ7TSDTQ
pI9ACQQqX9hw7Fng9dOJGBDHIYgZeq1u3A8DSddFuUBiga3WXTR8JFLINg/m
CdSER1WF1qeDdiez5Y/wnaMiBFfoK1Fe5r5w5ma6SRvtKFKeyxSUBrV9j7+s
jP46KEPqDbipQF1wYEIqW4ZaOaA4RDhqWHHSkuQNWbOUmG/QxezYNKgzBksC
opSRd/0sAdp5VqRI0lDDZdl0qC9qkZFzsTfoPnGGofpybWH27VV1PSihBPZh
h1NTSTAq6aqS7Q+DeEbdLGNmlBsU+y6BE5baDgXWr9gq9OPZUYfUN28dQvh0
cYiW9rDllrfq5RWX4qgSi9gVQM5QpHhB8xaupCVWtSFV3J53niR1QrAbBopt
W9meLwzDKWoKUvtnQvlxvlj1KuBBaiFJdsZ9t8wKHr+xoA+SSiQIedzskoii
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

-->

</rfc>

