<?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-04" 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-04"/>
    <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="18"/>
    <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>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><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>
    <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 implementation is partial with respect to this revision, and the gaps
are stated here rather than left for a reader to discover:</t>
      <ul spacing="normal">
        <li>
          <t>It reports <tt>observed-without-receipt</tt> and, since 0.2.23,
<tt>receipted-without-observation</tt>. It does not yet emit the outcome
vocabulary of <xref target="cr-result"/> under those names, and its result carries no
<tt>profile</tt> or <tt>bounds</tt> field.</t>
        </li>
        <li>
          <t>Since 0.2.27 it reports <tt>indeterminate</tt> for the temporal case of
<xref target="cr-procedure"/>, under that name and with its own exit code, and reports the
offset that produced it. It accepts a skew bound on the command line; it does
not yet read one from a profile, because it does not implement profiles.</t>
        </li>
        <li>
          <t>It does not implement Mapping Profiles (<xref target="cr-mapping"/>). Every bound it
relies on is therefore undeclared, and by the rule in <xref target="cr-procedure"/>
the items depending on those bounds are <tt>indeterminate</tt>; the tool does
not currently report them as such.</t>
        </li>
        <li>
          <t>It excludes session and catalog statements from comparison and prints
each excluded statement individually, but those rules are compiled into
the tool rather than declared in a profile, so they are not covered by a
profile digest as <xref target="cr-exclusions"/> requires.</t>
        </li>
        <li>
          <t>Its exit codes predate this vocabulary and are still not a mapping of it.
They were left unchanged deliberately: an exit code is a compatibility
contract with existing deployments, and renumbering them to match a
revision of this document would break running installations to make a
specification look implemented. One code was added rather than renumbered,
for the outcome above, which is an addition existing callers do not notice
and not the mapping this bullet says is absent.</t>
        </li>
      </ul>
      <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 in this revision 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 796?>

<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 are corrected
in this revision. 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 this revision
applies one layer up, to bounds.</t>
      <t>Walter Hawkins read the reconciliation implementation and found the temporal
defect this revision 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>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA51965LkxpXe/3wKePhjSG5VixxRotS9Xu1oZrhqLcnhTo9W
VmxsuLMK6CpoqoAiEuhmLWMi/BD+bfsR9AwO+kX8JD7fuWQmgKrmhBUU2V2N
SuTlXL9zyeVy6fq631WXxZO3nW/CXdvtfV+3TfHqvi6rZl0VvimLF+191flN
Vbyp1m2zrne1PESPF8+Hsu79alcVL33vi5d1WO/aMHTVE+dXq666p7HTh3Hc
J27t+2rTdsfLIvSlc2W7bvyeZlJ2/q5flu2mG5ZhXff0c/z6stKvLz/7woVh
ta9DoIn0xwN98frV269cM+xXVXfpShr90tFsQ9WEIVwWfTdUjibzS+e7ytOk
bqr10NX98Yl7aLt3m64dDvj0xfXbt0/cu+pIn5aXrlgWXbWu6kOPH/c+vKub
jX6abQU+6bGDBxq9WR/xe5q2c6Gnffyvftc2NNFjFdyhviz+rW/XiyK0Xd9V
d4F+Ou7xw78754d+23Z4uyvof3fDbieb82pfvSte+KZ42f70P7uB/+ppl+qv
Tj2y0SfabuOb+j94ppfFv7568/y/FG9f/fO3r79+/cef/lZ8/dPfvvnpb29f
vSz+z//46W9v/vnV25/+lkZ+/ciXr4uvr7+5xjdvrvG9a/7auh2aHgf79g3/
Xu19vbssqgs+1H+kffNdPewvyureuUZI7p5OqyjefPXi2eef/1Z//M3nX35h
P375m1/pj7/97Re/vHSubu4m3/zyt188s2c++xX96JbLZeFXgQ5m3TvHlGqn
GZh4aZ9bGqMqixLE69frKoTC930V+qJvi4et7wtfbOiRB3/kM+/Kqrxwbx/a
4vuBnqJNCfQ5rbAp2qEPRJ5Fv63qjj706+2lDPHgQ7He+mZDb6IH6QF+oVtV
NIuqqOUJJZiqXDDXPWwrerDjp0PVF+1dmnxN47X7w67qq+Kh7reuq8KhWvOk
bXSirKFbV09D0T40WBuOhagXA9GG1PdE/BfF2y2NRcw37Kumd2V1VzdVKHpa
n/Ea8Wc3rHuiY/qcN6QJDzwvmmvahUt3RoTQaopD1WVsTCPSjuKFmMvDtl5v
i/XOh0BvaO/cvd/RoAW9oxKmwpi0c9iUbfuwKNa+645YCS8p8B/4+wVYIBSr
oS+aimSWDnX1mBTj6XXtuioxMzxICx12fTZJrNphvz32YLaxspUymaqjBzZE
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
Sq/APZCeAAA=

-->

</rfc>
