<?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.40 (Ruby 4.0.6) -->


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

]>


<rfc ipr="trust200902" docName="draft-nikolaichuk-scitt-continuity-receipts-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Continuity Receipts">Continuity Receipts: Registering the Recovery of a Stateful Asset as a Signed Statement in a Transparency Service</title>

    <author initials="S." surname="Nikolaichuk" fullname="Serhii Nikolaichuk">
      <organization>Independent</organization>
      <address>
        <postal>
          <city>Austin</city>
          <region>TX</region>
          <country>United States of America</country>
        </postal>
        <email>nikolaichuk.s.f@gmail.com</email>
      </address>
    </author>

    <date/>

    <area>Security</area>
    <workgroup>Supply Chain Integrity, Transparency, and Trust (SCITT)</workgroup>
    <keyword>transparency service</keyword> <keyword>COSE receipts</keyword> <keyword>append-only log</keyword> <keyword>remote attestation</keyword> <keyword>confidential computing</keyword> <keyword>disaster recovery</keyword> <keyword>provenance</keyword>

    <abstract>


<?line 101?>

<t>A Transparency Service as defined by RFC 9943 registers Signed Statements about
Artifacts and returns Receipts, encoded per RFC 9942, that prove registration in
an append-only log. The Statements registered today typically describe how an
Artifact was built, tested, or released. They do not describe what happens after
that: the Artifact is sealed, moved, lost, and later re-created somewhere else,
and that re-creation leaves no independently checkable trace.</t>

<t>This document defines a Continuity Receipt: the Receipt obtained when a recovery
event is registered as a Signed Statement in a Transparency Service. It specifies
the Subject and the required claims of a recovery Statement, how Attestation
Results from RFC 9334 remote attestation are carried or referenced by it, and how
a sequence of such Statements under one Subject forms a verifiable continuity
chain across the lifetime of a stateful asset.</t>

<t>The document is deliberately narrow. It defines a payload and a set of claims,
not a new Transparency Service, not a new verifiable data structure, and not a
new attestation format. It also records, rather than conceals, the divergence
between what it specifies and what the reference implementation currently does.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-nikolaichuk-scitt-continuity-receipts/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Supply Chain Integrity, Transparency, and Trust Working Group mailing list (<eref target="mailto:scitt@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scitt/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/scitt/"/>.
      </t>
    </note>


  </front>

  <middle>


<?line 122?>

<section anchor="introduction"><name>Introduction</name>

<t>Supply chain transparency work has concentrated on the forward path of an
Artifact: what source it was built from, what dependencies it absorbed, who
signed it, and what policy admitted it. <xref target="RFC9943"/> gives that path a durable
shape: an Issuer emits a Signed Statement about a Subject, a Transparency Service
applies a Registration Policy and appends it to an Append-only Log, and the
resulting Receipt <xref target="RFC9942"/> lets any Relying Party check that the Statement was
registered without trusting the Issuer's word about it.</t>

<t>Stateful assets have a second path that is not covered. A trained model, a
database, an index, or a key hierarchy is sealed, written to storage that its
owner does not control, and later re-created -- after a region failure, a
provider migration, a hardware refresh, an acquisition, or the wind-down of the
company that produced it. The re-creation is the moment at which the asset's
identity is most in question and least documented. In practice it produces a
support ticket and, if the operator is careful, a line in a private log.</t>

<t>The question an auditor eventually asks is not "was this built correctly" but:</t>

<t><list style="symbols">
  <t>Was this asset re-created, or is it a different asset wearing the same name?</t>
  <t>From which sealed material, and did that material come from the environment
that claims to have produced it?</t>
  <t>Under whose authority, and under which policy?</t>
  <t>Inside what, and can that be checked by someone who was not there?</t>
</list></t>

<t>Each of those is a statement about an Artifact made by an identifiable party. That
is precisely the object <xref target="RFC9943"/> defines. This document specifies what such a
Statement contains.</t>

<section anchor="what-this-document-defines"><name>What This Document Defines</name>

<t><list style="numbers" type="1">
  <t>A recovery event payload, in CDDL <xref target="RFC8610"/>, carried as the <spanx style="verb">payload</spanx> of a
Signed Statement.</t>
  <t>The choice of Subject, and the consequences of that choice for continuity
chaining and for privacy.</t>
  <t>Three carriage modes for RATS <xref target="RFC9334"/> Attestation Results in a recovery
Statement, and the rules governing each.</t>
  <t>The binding of the resulting Receipt as a COSE Receipt <xref target="RFC9942"/> with
<spanx style="verb">vds</spanx> = 1 (RFC9162_SHA256).</t>
  <t>Registration Policy considerations for a Transparency Service that accepts
recovery Statements.</t>
  <t>An honest account of where the reference implementation diverges from all of
the above (<xref target="sec-divergence"/>, <xref target="sec-impl"/>).</t>
</list></t>

</section>
<section anchor="what-this-document-does-not-define"><name>What This Document Does Not Define</name>

<t><list style="symbols">
  <t>A Transparency Service. Any service conforming to <xref target="RFC9943"/> and reachable via
<xref target="I-D.ietf-scitt-scrapi"/> is in scope as a registrar.</t>
  <t>A new verifiable data structure. <xref target="sec-vds"/> explains why one is not needed and
why requesting one would be a mistake.</t>
  <t>An Evidence format, an Attestation Results format, or an appraisal policy. Those
belong to the RATS architecture <xref target="RFC9334"/> and its working group.</t>
  <t>The key-release decision that precedes a recovery. That is the subject of
<xref target="TAP"/> and is deliberately not restated here; see <xref target="sec-tap"/>.</t>
  <t>Any claim about whether a recovered asset is semantically or behaviorally
equivalent to the original. See <xref target="sec-equivalence"/>, which treats the temptation
to make such a claim as the principal hazard of this document.</t>
</list></t>

</section>
<section anchor="sec-tap"><name>Relationship to draft-nikolaichuk-rats-tap</name>

<t><xref target="TAP"/> specifies the decision: what a Relying Party must consider before
releasing sealed key material to an attested environment, and what record that
decision leaves behind. This document specifies the aftermath: the recovery that
the release enabled, registered in a Transparency Service so that a third party
can check it.</t>

<t>The split is intentional and the two documents are usable separately.</t>

<texttable title="Division of labour between TAP and this document" anchor="tab-split">
      <ttcol align='left'>Concern</ttcol>
      <ttcol align='left'>draft-nikolaichuk-rats-tap</ttcol>
      <ttcol align='left'>This document</ttcol>
      <c>Before or after the fact</c>
      <c>Authorization, at the time</c>
      <c>Record, after the fact</c>
      <c>Governing architecture</c>
      <c>RATS <xref target="RFC9334"/></c>
      <c>SCITT <xref target="RFC9943"/></c>
      <c>Central object</c>
      <c>Release Record</c>
      <c>Signed Statement + Receipt</c>
      <c>Who signs</c>
      <c>The Sealer</c>
      <c>The Recovery Authority</c>
      <c>Who witnesses</c>
      <c>An append-only log, unspecified</c>
      <c>A Transparency Service</c>
      <c>Attestation</c>
      <c>Consumed to decide</c>
      <c>Referenced as evidence for the record</c>
</texttable>

<t>A deployment <bcp14>MAY</bcp14> use both. Where it does, the TAP Release Record is one of the
inputs referenced by the recovery Statement defined here (<xref target="sec-claims"/>), and the
two form a chain: attestation appraised, key material released, asset recovered,
recovery registered. A deployment <bcp14>MAY</bcp14> equally use this document with any other
key-release mechanism, including the attestation-gated key release facilities
that cloud providers already offer (<xref target="sec-prior-art"/>).</t>

<t>This document does not depend on <xref target="TAP"/> normatively. <xref target="TAP"/> is referenced
informatively throughout, and every field this document borrows from it is
restated here in full so that an implementer needs only one specification.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</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?>

</section>
<section anchor="intellectual-property-notice"><name>Intellectual Property Notice</name>

<t>The author holds United States provisional patent applications 64/036,136,
64/036,137 and 64/036,139, whose subject matter overlaps this document. An IPR
disclosure has been or will be filed with the IETF in accordance with BCP 78 and
BCP 79 at or before the time this document is submitted. This notice is
informational; the operative record is the disclosure on the IETF Datatracker,
and the boilerplate in "Status of This Memo" governs.</t>

</section>
</section>
<section anchor="terminology"><name>Terminology</name>

<section anchor="terms-imported-from-rfc-9943"><name>Terms Imported from RFC 9943</name>

<t>This document uses the following terms exactly as defined in <xref target="RFC9943"/> and does
not redefine, narrow, or extend any of them: Transparency Service, Signed
Statement, Transparent Statement, Receipt, Registration, Registration Policy,
Append-only Log, Statement, Statement Sequence, Issuer, Subject, Artifact,
Relying Party, Verifiable Data Structure.</t>

<t>Where this document writes "Artifact", the <xref target="RFC9943"/> meaning is intended: a
physical or non-physical item moving along a supply chain. The stateful asset
being recovered is an Artifact in that sense.</t>

</section>
<section anchor="terms-imported-from-rfc-9334"><name>Terms Imported from RFC 9334</name>

<t>This document uses Attester, Verifier, Relying Party, Evidence, Attestation
Results, Attesting Environment and Target Environment exactly as defined in
<xref target="RFC9334"/>.</t>

<t>Note that "Relying Party" is defined in both <xref target="RFC9943"/> and <xref target="RFC9334"/> with
compatible but not identical scope. Where the distinction matters this document
writes "SCITT Relying Party" or "RATS Relying Party".</t>

</section>
<section anchor="terms-defined-by-this-document"><name>Terms Defined by This Document</name>

<dl>
  <dt>Recovery Event:</dt>
  <dd>
    <t>The act of re-creating a stateful Artifact from sealed material inside an
environment other than, or later than, the one that sealed it. A Recovery Event
is bounded: it begins when key material is released and ends when the recovered
bytes exist and have been digested.</t>
  </dd>
  <dt>Recovery Authority:</dt>
  <dd>
    <t>The entity that observes a Recovery Event and issues a Signed Statement about
it. The Recovery Authority is the Issuer in the sense of <xref target="RFC9943"/> and is
identified by the <spanx style="verb">iss</spanx> claim of the <spanx style="verb">CWT_Claims</spanx> protected header parameter
<xref target="RFC9597"/>.</t>
  </dd>
  <dt>Recovery Statement:</dt>
  <dd>
    <t>A Signed Statement whose payload is a <spanx style="verb">continuity-claims</spanx> structure
(<xref target="sec-claims"/>) and whose Subject is the Artifact that was recovered.</t>
  </dd>
  <dt>Continuity Receipt:</dt>
  <dd>
    <t>The Receipt <xref target="RFC9942"/> returned by a Transparency Service upon Registration of
a Recovery Statement. A Continuity Receipt is an ordinary Receipt; the term
names its provenance, not a new format.</t>
  </dd>
  <dt>Continuity Chain:</dt>
  <dd>
    <t>The ordered sequence of Recovery Statements registered under a single Subject,
linked by the <spanx style="verb">prev-event</spanx> field of <xref target="sec-claims"/>. A Continuity Chain is an
application-level construct and is not the same thing as the Transparency
Service's Append-only Log; see <xref target="sec-chain"/>.</t>
  </dd>
  <dt>Sealed Material:</dt>
  <dd>
    <t>The ciphertext form of an Artifact together with whatever metadata is needed to
locate and order its parts. Sealed Material is assumed to reside on storage that
neither the Issuer nor the Transparency Service controls.</t>
  </dd>
  <dt>Recovery Environment:</dt>
  <dd>
    <t>The environment inside which the Recovery Event takes place. It is an Attester
in the sense of <xref target="RFC9334"/>.</t>
  </dd>
  <dt>Producing Environment:</dt>
  <dd>
    <t>The environment inside which the Artifact was originally sealed. It is an
Attester in the sense of <xref target="RFC9334"/>. It is frequently no longer reachable at
recovery time, which is why its identity must be carried rather than queried.</t>
  </dd>
</dl>

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

<section anchor="sec-placement"><name>Placement</name>

<t>The Recovery Authority is an Issuer. Nothing else about the SCITT architecture
changes. The following sequence shows where a Recovery Event sits; steps 1 to 3
are outside the scope of this document.</t>

<figure><artwork><![CDATA[
1. Attester (Recovery Environment) produces Evidence
2. Verifier appraises Evidence, emits Attestation Results
3. Key release mechanism releases sealed key material
   (TAP Sealer, AWS KMS condition key, Azure SKR, KBS, ...)
4. Recovery Environment decrypts Sealed Material, reassembles
   the Artifact, computes recovered-digest
5. Recovery Authority builds continuity-claims, signs it as a
   Signed Statement, sub = Artifact identifier
6. Transparency Service applies Registration Policy, appends to
   the Append-only Log, returns a Receipt
7. Recovery Authority attaches the Receipt to the Signed
   Statement (unprotected header label 394), producing a
   Transparent Statement
8. Any Relying Party verifies the Receipt offline against the
   Transparency Service public key
]]></artwork></figure>

<t>Steps 5 through 8 are what this document specifies.</t>

</section>
<section anchor="who-signs-and-what-that-means"><name>Who Signs, and What That Means</name>

<t>The Recovery Authority signs. It is not the Recovery Environment, and this
distinction is load-bearing.</t>

<t>The Recovery Environment can attest to its own measurement; it cannot credibly
attest that it is the environment a particular custodian authorized to hold a
particular asset. The Recovery Authority is the party with that context: it holds
the relationship to the asset owner, it knows which policy applied, and it can be
held to the statement afterward. It is typically the same entity that operates or
commissions the key release in step 3.</t>

<t>Collocating the Recovery Authority inside the Recovery Environment is permitted
and is often desirable, because it shortens the gap between the recovered bytes
and the signature over their digest. It does not merge the roles: an
implementation that collocates them <bcp14>MUST</bcp14> still be able to state, in the
<spanx style="verb">attestation</spanx> field, which appraisal it relied on, because a signature produced
inside an environment is not by itself evidence about that environment.</t>

</section>
<section anchor="sec-what-it-proves"><name>What a Continuity Receipt Proves</name>

<t>This is stated early and normatively because every subsequent section depends on
it, and because the most likely misuse of this document is to read a Receipt as
more than it is.</t>

<t>A Continuity Receipt proves exactly one thing: that a specific Recovery Statement,
signed by a specific Issuer, was registered in a specific Transparency Service at
a specific position in its Append-only Log, and that the Transparency Service
signed a proof of that fact.</t>

<t>A Continuity Receipt does NOT prove:</t>

<t><list style="symbols">
  <t>that the Recovery Event occurred;</t>
  <t>that the recovered bytes match the original Artifact;</t>
  <t>that the Attestation Results referenced by the Statement were themselves
verified, or that they were favourable;</t>
  <t>that the Recovery Environment was in the state the Statement describes;</t>
  <t>that the Registration Policy of the Transparency Service checked any of the
above.</t>
</list></t>

<t>The Transparency Service witnesses an assertion. It does not audit it. An
implementation <bcp14>MUST NOT</bcp14> present a Continuity Receipt in any interface in a manner
that implies otherwise, and a verifier <bcp14>MUST</bcp14> report the Issuer's assertions and the
independently established facts as two separate categories (<xref target="sec-verification"/>).</t>

<t>The value of the Receipt is not that it makes the assertion true. It is that the
assertion becomes permanent, attributable, ordered, and impossible to retract
quietly. That is a smaller property than it first appears, and it is still worth
having, because the current alternative is a private log the custodian can edit.</t>

</section>
</section>
<section anchor="the-recovery-statement"><name>The Recovery Statement</name>

<section anchor="envelope"><name>Envelope</name>

<t>A Recovery Statement is a Signed Statement per <xref target="RFC9943"/>: a tagged COSE_Sign1
<xref target="RFC9052"/>, signed with an algorithm from <xref target="RFC9053"/>.</t>

<figure><sourcecode type="cddl"><![CDATA[
Recovery_Statement = #6.18(COSE_Sign1)

Recovery_Protected_Header = {
  &(alg: 1)           => int,
  &(content_type: 3)  => tstr / uint,
  &(CWT_Claims: 15)   => Recovery_CWT_Claims,
  ? &(kid: 4)         => bstr,
  ? &(x5t: 34)        => COSE_CertHash,
  ? &(x5chain: 33)    => COSE_X509,
  * label             => any,
}

Recovery_CWT_Claims = {
  &(iss: 1) => tstr,
  &(sub: 2) => tstr,
  ? &(iat: 6) => int,
  * label   => any,
}
]]></sourcecode></figure>

<t>The <spanx style="verb">CWT_Claims</spanx> header parameter (label 15) is defined in <xref target="RFC9597"/>; the claims
inside it are CWT claims <xref target="RFC8392"/>.</t>

<t>An Issuer:</t>

<t><list style="symbols">
  <t><bcp14>MUST</bcp14> include <spanx style="verb">CWT_Claims</spanx> with both <spanx style="verb">iss</spanx> and <spanx style="verb">sub</spanx>, as required by
<xref target="RFC9943"/>;</t>
  <t><bcp14>MUST</bcp14> set <spanx style="verb">content_type</spanx> to <spanx style="verb">application/continuity-recovery+cbor</spanx>
(<xref target="sec-iana"/>) when the payload is attached;</t>
  <t><bcp14>SHOULD</bcp14> set <spanx style="verb">iat</spanx> to the time of signing, which is distinct from
<spanx style="verb">recovered-at</spanx> in the payload and <bcp14>MAY</bcp14> differ from it;</t>
  <t><bcp14>MUST NOT</bcp14> rely on the Transparency Service to supply, correct, or default any
of the above.</t>
</list></t>

</section>
<section anchor="sec-subject"><name>Subject</name>

<t>The Subject is the Artifact that was recovered, not the Recovery Event.</t>

<t>This is the single most consequential design choice in this document, so the
reasoning is given rather than asserted.</t>

<t>If the Subject were the event, each recovery would be an isolated statement about
a distinct thing, and the sequence of recoveries of one asset could only be
reconstructed by an entity that already knew all the event identifiers. Making the
Subject the asset means every recovery of that asset lands under one identifier,
in log order, and a Relying Party who knows only the asset identifier can enumerate
its entire recovery history from the Transparency Service. That enumeration is the
property this document exists to provide.</t>

<t>Accordingly:</t>

<t><list style="symbols">
  <t><spanx style="verb">sub</spanx> <bcp14>MUST</bcp14> be stable across every recovery of the same Artifact. An Issuer <bcp14>MUST
NOT</bcp14> derive <spanx style="verb">sub</spanx> from anything that changes per event -- not the timestamp, not
the Recovery Environment, not the storage location.</t>
  <t><spanx style="verb">sub</spanx> <bcp14>MUST NOT</bcp14> be reused for a different Artifact. An Issuer that cannot
guarantee this within its own namespace <bcp14>MUST</bcp14> qualify <spanx style="verb">sub</spanx> with a namespace it
controls.</t>
  <t><spanx style="verb">sub</spanx> <bcp14>MUST NOT</bcp14> be the digest of the Artifact contents. Contents change across
the asset's life; a content digest as Subject silently splits one continuity
chain into many.</t>
</list></t>

<t>The stability that makes the chain work also makes <spanx style="verb">sub</spanx> a permanent correlator in
a log that cannot forget. <xref target="sec-privacy-subject"/> treats this at length and
specifies a pseudonymous construction for deployments that need one.</t>

</section>
<section anchor="sec-claims"><name>Payload: continuity-claims</name>

<figure><sourcecode type="cddl"><![CDATA[
continuity-claims = {
  version:                 1,
  event-id:                bstr .size (8..64),
  recovered-digest:        digest,
  sealed-material:         sealed-material-ref,
  policy-id:               tstr,
  recovery-environment:    environment-identity,
  attestation:             attestation-ref,
  freshness:               freshness-proof,
  outcome:                 outcome,
  recovered-at:            timestamp,
  ? producing-environment: environment-identity,
  ? prev-event:            prev-event-link,
  ? equivalence:           equivalence-claim,
  ? release-record:        digest,
  ? custodian:             tstr,
  * tstr                => any,
}

; A digest as an algorithm identifier from the COSE Algorithms
; registry together with the digest value, at its native length.
digest = [ alg: int, value: bstr ]

timestamp = ~time

sealed-material-ref = {
  sealed-digest:     digest,
  ? chunk-count:     uint,
  ? provenance-ref:  digest,
  ? locator:         tstr,
}

environment-identity = {
  tee-family:    tstr,
  measurement:   digest,
  debug-mode:    bool,
  ? svn:         uint,
  ? platform-id: bstr,
  ? region:      tstr,
}

attestation-ref = {
  mode:            attestation-mode,
  ? ar-digest:     digest,
  ? ar-format:     tstr,
  ? ar-embedded:   bstr,
  ? ar-statement:  digest,
  ? verifier-id:   tstr,
  ? ar-issued-at:  timestamp,
}

attestation-mode = &(
  referenced: 1
  embedded:   2
  registered: 3
)

freshness-proof = {
  method:          freshness-method,
  ? nonce-digest:  digest,
  ? epoch-id:      bstr,
  ? evidence-time: timestamp,
}

freshness-method = &(
  nonce:     1
  epoch-id:  2
  timestamp: 3
  none:      4
)

outcome = &(
  recovered:          1
  recovered-degraded: 2
  failed:             3
)

prev-event-link = {
  prev-statement:    digest,
  ? prev-entry-id:   tstr,
  ? prev-leaf-index: uint,
}

equivalence-claim = {
  kind:           equivalence-kind,
  ? evidence-ref: digest,
}

equivalence-kind = &(
  byte-identical: 1
  operational:    2
  none:           3
)
]]></sourcecode></figure>

</section>
<section anchor="required-claims"><name>Required Claims</name>

<t>The CDDL above marks nine fields as required. Each is required for a reason, and
the reasons are not interchangeable.</t>

<dl>
  <dt><spanx style="verb">version</spanx>:</dt>
  <dd>
    <t>Fixed at 1 for this specification. Present so that a Relying Party can reject
rather than misparse.</t>
  </dd>
  <dt><spanx style="verb">event-id</spanx>:</dt>
  <dd>
    <t>An identifier unique within the Issuer's namespace. It exists so that a
Recovery Event can be discussed, correlated with operational records, and linked
by a subsequent <spanx style="verb">prev-event</spanx> without dereferencing a log position. It <bcp14>MUST NOT</bcp14>
be derived from <spanx style="verb">sub</spanx>.</t>
  </dd>
  <dt><spanx style="verb">recovered-digest</spanx>:</dt>
  <dd>
    <t>The digest of the recovered Artifact as it existed at the end of the Recovery
Event, computed over the plaintext. This is the anchor of the whole statement.
An Issuer <bcp14>MUST</bcp14> compute it over the bytes actually produced, and <bcp14>MUST NOT</bcp14> copy it
from the Sealed Material's metadata. Copying an expected digest forward and
presenting it as an observed one converts the Statement from a measurement into
a wish.</t>
  </dd>
  <dt><spanx style="verb">sealed-material</spanx>:</dt>
  <dd>
    <t>What the Artifact was recovered from. <spanx style="verb">sealed-digest</spanx> is computed over the
ciphertext as stored, so a Relying Party holding the Sealed Material can check it
without holding any key. <spanx style="verb">provenance-ref</spanx>, where present, is the digest of a
provenance record binding the Sealed Material to its Producing Environment; when
<xref target="TAP"/> is in use this is the digest of the TAP Provenance Record.</t>
  </dd>
  <dt><spanx style="verb">policy-id</spanx>:</dt>
  <dd>
    <t>The identifier of the policy under which the recovery was authorized. This
document does not define a policy language and takes no position on one; see
<xref target="sec-policy-id"/>.</t>
  </dd>
  <dt><spanx style="verb">recovery-environment</spanx>:</dt>
  <dd>
    <t>The attested identity of the environment in which the recovery occurred.</t>
  </dd>
  <dt><spanx style="verb">attestation</spanx>:</dt>
  <dd>
    <t>How the RATS Attestation Results underlying the recovery are carried or
referenced (<xref target="sec-attestation"/>).</t>
  </dd>
  <dt><spanx style="verb">freshness</spanx>:</dt>
  <dd>
    <t>How the timeliness of the Evidence underlying those Attestation Results was
established (<xref target="sec-freshness"/>). The enumeration includes <spanx style="verb">none</spanx> because an
Issuer that cannot establish freshness <bcp14>MUST</bcp14> say so rather than omit the field.
A missing field is indistinguishable from an oversight; an explicit <spanx style="verb">none</spanx> is a
disclosure.</t>
  </dd>
  <dt><spanx style="verb">outcome</spanx>:</dt>
  <dd>
    <t><spanx style="verb">recovered</spanx>, <spanx style="verb">recovered-degraded</spanx>, or <spanx style="verb">failed</spanx>. An Issuer <bcp14>SHOULD</bcp14> register
failed recovery attempts. A continuity chain containing only successes cannot
distinguish an asset that has never been at risk from one that was nearly lost
three times, and the second is the case a Relying Party most needs to see.</t>
  </dd>
  <dt><spanx style="verb">recovered-at</spanx>:</dt>
  <dd>
    <t>When the Recovery Event completed, per the Issuer's clock. This is an Issuer
assertion. The Receipt's position in the Append-only Log, not this field, is
what establishes ordering that a Relying Party can check.</t>
  </dd>
</dl>

</section>
<section anchor="sec-measurement"><name>Environment Identity and Measurement Length</name>

<t><spanx style="verb">measurement</spanx> carries the TEE's own measurement of the Target Environment: PCR0
for AWS Nitro Enclaves <xref target="AWS-NITRO"/>, MRENCLAVE for Intel SGX, the launch
MEASUREMENT for AMD SEV-SNP.</t>

<t>An Issuer <bcp14>MUST</bcp14> carry the measurement at its native length and under its native
algorithm identifier. An Issuer <bcp14>MUST NOT</bcp14> truncate, re-hash, pad, or otherwise
normalize it.</t>

<t>This requirement exists because the reference implementation gets it wrong, and
the failure is instructive. Both the AWS Nitro PCR0 and the AMD SEV-SNP launch
MEASUREMENT are 48 octets (SHA-384). The reference implementation's adapters
truncate both to a 32-octet field. The consequence is not merely lost entropy: it
breaks byte-equality against AWS's own policy engine, which compares the full
48-octet value in the <spanx style="verb">kms:RecipientAttestation:ImageSha384</spanx> condition key
<xref target="AWS-KMS-COND"/>. A measurement that cannot be compared against the vendor's own
reference is not an identity, and a <spanx style="verb">digest</spanx> structure that carries an algorithm
identifier alongside the value has no excuse for discarding half of it. This is a
known defect and is recorded in <xref target="sec-impl"/>.</t>

<t><spanx style="verb">debug-mode</spanx> <bcp14>MUST</bcp14> be populated truthfully. A debug-mode environment produces
measurements that do not identify code -- an all-zero PCR0 is the absence of a
measurement wearing the shape of one -- and a Statement that conceals this is
worse than no Statement, because it is durable. A Recovery Statement asserting a
debug-mode environment is legitimate and <bcp14>SHOULD</bcp14> be registered; it is a permanent,
attributable record that a recovery happened under reduced assurance, which is
exactly the kind of thing an append-only log is for.</t>

<t><spanx style="verb">platform-id</spanx> is <bcp14>OPTIONAL</bcp14> and <bcp14>SHOULD</bcp14> be omitted. See <xref target="sec-privacy-hardware"/>.</t>

<t><spanx style="verb">region</spanx> is <bcp14>OPTIONAL</bcp14> and carries a deployment-scoped region label. See
<xref target="sec-privacy-region"/> before populating it; in some regulatory settings a public
Receipt disclosing a cross-border recovery is itself the disclosure that a
deployment was trying to avoid making.</t>

</section>
<section anchor="sec-attestation"><name>Carrying Attestation Results</name>

<t>Attestation Results are the reason a Recovery Statement is worth more than a log
line. They are also large, sometimes confidential, and governed by a different
architecture. This document defines three carriage modes and requires the Issuer
to declare which one it used.</t>

<dl>
  <dt>Mode 1, <spanx style="verb">referenced</spanx> (<bcp14>RECOMMENDED</bcp14> default):</dt>
  <dd>
    <t><spanx style="verb">ar-digest</spanx> <bcp14>MUST</bcp14> be present and carries the digest of the Attestation Results
as they were appraised. <spanx style="verb">ar-format</spanx> <bcp14>SHOULD</bcp14> be present and carries the media
type; for Entity Attestation Tokens the media types of <xref target="RFC9782"/> apply, and a
Conceptual Message Wrapper <xref target="RFC9999"/> <bcp14>MAY</bcp14> be used to carry a family-agnostic
wrapper. The Attestation Results themselves are not in the log. A deployment
using this mode <bcp14>MUST</bcp14> arrange for them to be retrievable by digest for as long
as the Receipt is expected to be meaningful, and <bcp14>SHOULD</bcp14> state that retention
period somewhere a Relying Party can find it. A digest pointing at bytes nobody
kept is a reference to nothing.</t>
  </dd>
  <dt>Mode 2, <spanx style="verb">embedded</spanx>:</dt>
  <dd>
    <t><spanx style="verb">ar-embedded</spanx> <bcp14>MUST</bcp14> be present and carries the Attestation Results verbatim.
This makes the Recovery Statement self-contained and offline-verifiable, at the
cost of committing the Attestation Results permanently to the log with
everything they disclose. An Issuer <bcp14>MUST NOT</bcp14> use this mode without having
assessed the Attestation Results for hardware identifiers, tenancy information,
and anything else enumerated in <xref target="sec-privacy"/>. <spanx style="verb">ar-format</spanx> <bcp14>MUST</bcp14> be present in
this mode.</t>
  </dd>
  <dt>Mode 3, <spanx style="verb">registered</spanx>:</dt>
  <dd>
    <t>The Attestation Results were themselves registered as a separate Signed
Statement in a Transparency Service, and <spanx style="verb">ar-statement</spanx> carries the digest of
that Signed Statement. This mode is the most useful of the three when it is
available, because the attestation acquires its own Receipt and its own
position in the log, and the Recovery Statement then references a fact that is
already witnessed rather than one it asserts. It requires an ecosystem in which
Verifiers register their outputs, which does not yet broadly exist.</t>
  </dd>
</dl>

<t>In all three modes:</t>

<t><list style="symbols">
  <t><spanx style="verb">verifier-id</spanx> <bcp14>SHOULD</bcp14> be present and identify the Verifier that produced the
Attestation Results. An Issuer that appraised Evidence itself <bcp14>MUST</bcp14> still
produce Attestation Results as a distinct object and reference them; a
self-appraisal that leaves no referenceable artifact is not distinguishable
from no appraisal.</t>
  <t>An Issuer <bcp14>MUST NOT</bcp14> populate <spanx style="verb">attestation</spanx> with a reference to Evidence. Evidence
and Attestation Results are different conceptual messages in <xref target="RFC9334"/> and
conflating them in a permanent record misstates who did the appraising.</t>
  <t>This document takes no position on the content of the Attestation Results.
<xref target="I-D.ietf-rats-ar4si"/> and <xref target="I-D.ietf-rats-ear"/> define trustworthiness vocabularies
that a future revision might profile; see <xref target="sec-open-issues"/>.</t>
</list></t>

</section>
<section anchor="sec-freshness"><name>Freshness</name>

<t><xref target="RFC9334"/> Section 10 describes three ways to establish that Evidence is timely:
synchronized clocks, nonces, and epoch IDs. <spanx style="verb">freshness-proof</spanx> records which was
used.</t>

<t>Where <spanx style="verb">method</spanx> is <spanx style="verb">nonce</spanx>:</t>

<t><list style="symbols">
  <t>the challenge <bcp14>MUST</bcp14> be at least 16 octets from a cryptographically secure random
source <xref target="RFC4086"/>;</t>
  <t>the challenge <bcp14>MUST</bcp14> have been supplied by the Verifier or by the party
requesting the appraisal, and <bcp14>MUST NOT</bcp14> have been chosen by the Recovery
Environment;</t>
  <t><spanx style="verb">nonce-digest</spanx> <bcp14>MUST</bcp14> carry the digest of the challenge rather than the challenge
itself, so that a challenge derived from a secret does not enter the log.</t>
</list></t>

<t>Where <spanx style="verb">method</spanx> is <spanx style="verb">none</spanx>, the Issuer is asserting that the Evidence underlying the
recovery was not bound to any challenge and is therefore replayable. This is a
disclosure, not a failure of the format, and <xref target="sec-replay"/> explains why the field
exists at all: every attestation artifact in the corpus underlying this document
has this property.</t>

</section>
<section anchor="sec-equivalence"><name>Equivalence: What Was Recovered</name>

<t><spanx style="verb">equivalence</spanx> is <bcp14>OPTIONAL</bcp14>, and when absent <bcp14>MUST</bcp14> be interpreted as
<spanx style="verb">kind = none</spanx>.</t>

<dl>
  <dt><spanx style="verb">byte-identical</spanx>:</dt>
  <dd>
    <t>The recovered plaintext is byte-for-byte identical to the plaintext that was
sealed. An Issuer <bcp14>MUST NOT</bcp14> assert this unless <spanx style="verb">recovered-digest</spanx> equals the
plaintext digest recorded at sealing time and the Issuer has verified that
equality itself. This is a mechanical, checkable claim.</t>
  </dd>
  <dt><spanx style="verb">operational</spanx>:</dt>
  <dd>
    <t>The recovered Artifact passed a defined operational check -- it loads, it
starts, it answers a health probe. <spanx style="verb">evidence-ref</spanx> <bcp14>MUST</bcp14> be present and reference
the definition and result of that check. This is a weak claim and <bcp14>SHOULD</bcp14> be
labelled as such wherever it is displayed.</t>
  </dd>
  <dt><spanx style="verb">none</spanx>:</dt>
  <dd>
    <t>No equivalence claim is made.</t>
  </dd>
</dl>

<t>No value is defined for semantic or behavioral equivalence, and this is
deliberate. Those are the claims a reader most wants to make and the ones this
document is least entitled to enable. The reference implementation documents
semantic and behavioral validation dimensions and implements neither; only the
operational dimension is implemented. Defining a code point for an unimplemented,
undefined notion of "means the same thing" would invite implementations to emit it
on the strength of a passing smoke test.</t>

<t>An implementation <bcp14>MUST NOT</bcp14> present a Continuity Receipt as evidence of fidelity.
The reference implementation makes the hazard concrete: its reconstruction backend
is a deterministic byte-level Markov chain of order 3 behind a frozen interface. It
performs no inference and is not a neural network. It produces perfectly valid
Recovery Statements, and a Transparency Service will register them without
complaint, because the Transparency Service is not in the business of checking
whether the recovered thing is any good.</t>

</section>
</section>
<section anchor="sec-chain"><name>Continuity Chains</name>

<t>Successive Recovery Statements under one Subject form a Continuity Chain when each
carries <spanx style="verb">prev-event</spanx> referencing the digest of its predecessor Signed Statement.</t>

<t>The chain and the Append-only Log carry different information and neither replaces
the other.</t>

<t>The Append-only Log establishes global order: this Statement was registered before
that one, and the Transparency Service cannot later claim otherwise without
producing an inconsistent tree. It does not establish that the Issuer believed the
two were related.</t>

<t>The chain establishes the Issuer's asserted lineage: at the time of writing
statement N, the Issuer's view of the asset's most recent prior recovery was
statement N-1. A gap in the chain -- a <spanx style="verb">prev-event</spanx> that references a Statement
which is not the log-immediate predecessor under that Subject -- is meaningful. It
means the Issuer either did not know about an intervening recovery, or chose not
to acknowledge it. A verifier <bcp14>MUST</bcp14> report such a gap rather than repairing it.</t>

<t>Accordingly:</t>

<t><list style="symbols">
  <t>An Issuer <bcp14>SHOULD</bcp14> include <spanx style="verb">prev-event</spanx> on every Recovery Statement after the
first for a given Subject.</t>
  <t>An Issuer <bcp14>MUST NOT</bcp14> fabricate <spanx style="verb">prev-event</spanx> to close a gap it is aware of.</t>
  <t>A verifier <bcp14>MUST</bcp14> check the chain and the log order independently and <bcp14>MUST</bcp14> report
disagreement between them (<xref target="sec-verification"/>).</t>
  <t><spanx style="verb">prev-entry-id</spanx> and <spanx style="verb">prev-leaf-index</spanx>, where present, are conveniences for
locating the predecessor and <bcp14>MUST NOT</bcp14> be treated as proof of it. Only
<spanx style="verb">prev-statement</spanx> is cryptographically meaningful.</t>
</list></t>

<t>A Continuity Chain spanning more than one Transparency Service is possible and is
not prohibited. Nothing binds <spanx style="verb">prev-statement</spanx> to a particular service. A verifier
encountering a chain whose links resolve in different services <bcp14>MUST</bcp14> report that
fact, because the ordering guarantee is only as strong as the weakest service in
the set and the guarantee does not compose across them.</t>

</section>
<section anchor="sec-receipt"><name>The Continuity Receipt</name>

<section anchor="binding"><name>Binding</name>

<t>Upon Registration, the Transparency Service returns a Receipt per <xref target="RFC9942"/>. A
Receipt is a tagged COSE_Sign1 and <bcp14>MUST</bcp14> be tagged as such. The Issuer attaches it
to the Recovery Statement in the unprotected header under the <spanx style="verb">receipts</spanx> parameter
(label 394), producing a Transparent Statement per <xref target="RFC9943"/>.</t>

<figure><sourcecode type="cddl"><![CDATA[
Transparent_Recovery_Statement = #6.18(COSE_Sign1)

Recovery_Unprotected_Header = {
  &(receipts: 394) => [ + bstr .cbor Receipt ],
  ? &(x5chain: 33) => COSE_X509,
  * label          => any,
}
]]></sourcecode></figure>

<t>More than one Receipt <bcp14>MAY</bcp14> be present. A deployment that registers the same
Recovery Statement in more than one Transparency Service <bcp14>SHOULD</bcp14> attach all
resulting Receipts, and a verifier <bcp14>SHOULD</bcp14> report how many were checked and which
services issued them.</t>

</section>
<section anchor="sec-vds"><name>Verifiable Data Structure</name>

<t>A Transparency Service registering Recovery Statements <bcp14>SHOULD</bcp14> use the
<spanx style="verb">RFC9162_SHA256</spanx> verifiable data structure, registered in the COSE Verifiable
Data Structure Algorithms registry with value 1 by <xref target="RFC9942"/>.</t>

<t>The Receipt for an inclusion proof then has <spanx style="verb">vds</spanx> (label 395) with value 1 in its
protected header alongside <spanx style="verb">alg</spanx>, and <spanx style="verb">vdp</spanx> (label 396) in its unprotected header
carrying an inclusion proof under label -1. The inclusion proof content is, per
<xref target="RFC9942"/>:</t>

<figure><sourcecode type="cddl"><![CDATA[
inclusion-proof-content = [
    tree-size: uint
    leaf-index: uint
    inclusion-path: [ + bstr ]
]
]]></sourcecode></figure>

<t>The payload of an inclusion Receipt is the Merkle Tree Head at <spanx style="verb">tree-size</spanx>, and
<bcp14>SHOULD</bcp14> be detached.</t>

<t>A Transparency Service <bcp14>SHOULD</bcp14> also be able to produce consistency Receipts, which
carry a consistency proof under label -2 in <spanx style="verb">vdp</spanx> and whose payload is the newer
Merkle Tree Head. Continuity Chains span long periods -- that is their purpose --
and a Relying Party checking a chain years after the fact needs consistency proofs
to establish that the tree it is checking against is an extension of the tree the
earlier Receipts were issued from, not a replacement for it. An inclusion proof
against a root nobody can connect to any earlier root proves membership in a log
that might have been rebuilt yesterday.</t>

<t>This document does NOT request a new verifiable data structure. A recovery event
is an ordinary Statement; nothing about it requires a different tree. The bar for
a new VDS is a genuinely different structure with different proof semantics, which
is what <xref target="I-D.ietf-scitt-receipts-ccf-profile"/> clears and what this document does
not. Requesting one to accommodate an implementation detail would fragment the
registry for no verifier's benefit. <xref target="sec-divergence"/> works through the
implementation detail in question and concludes that it should be dropped, not
registered.</t>

</section>
<section anchor="registration-before-release"><name>Registration Before Release</name>

<t>A Recovery Authority <bcp14>SHOULD</bcp14> obtain the Receipt before the recovered Artifact is
released to any consumer.</t>

<t>The ordering matters for the same reason it matters in <xref target="TAP"/>: a system that
releases first and registers afterward can lose the record of precisely the events
an attacker cares about, because the attacker's leverage is the window between the
two.</t>

<t><xref target="I-D.ietf-scitt-scrapi"/> allows a Transparency Service to accept a Signed
Statement and return 202 with an entry identifier rather than a Receipt, resolving
it later via the entry resource. An Issuer using an asynchronous service <bcp14>MUST</bcp14>
choose explicitly between blocking on the Receipt and proceeding without it, <bcp14>MUST
NOT</bcp14> treat a 202 as equivalent to a Receipt, and where it proceeds <bcp14>MUST</bcp14> record the
recovery as unwitnessed until the Receipt is resolved. A stored entry identifier
with no Receipt beside it is a promise, not a proof.</t>

</section>
</section>
<section anchor="sec-policy"><name>Registration Policy Considerations</name>

<t><xref target="RFC9943"/> defines Registration Policy as the precondition a Transparency
Service enforces before Registration, based on information in the non-opaque
header and metadata in the COSE Envelope. The policy language is out of scope for
this document, as it is for <xref target="RFC9943"/>.</t>

<t>A Transparency Service accepting Recovery Statements <bcp14>SHOULD</bcp14> verify:</t>

<t><list style="symbols">
  <t>that the Issuer is authorized to make statements about this Subject, which is
the check that gives the Subject namespace meaning;</t>
  <t>that <spanx style="verb">content_type</spanx> is <spanx style="verb">application/continuity-recovery+cbor</spanx> where the payload
is attached;</t>
  <t>that <spanx style="verb">version</spanx> is a value the service understands.</t>
</list></t>

<t>A Transparency Service <bcp14>SHOULD NOT</bcp14> attempt to verify that the recovery occurred, or
that the referenced Attestation Results were favourable. That would require the
service to become a RATS Relying Party for every tenant's hardware, which does not
scale, is not what <xref target="RFC9943"/> asks of it, and would quietly convert a witness into
an auditor whose failures are invisible.</t>

<section anchor="sec-detach"><name>The Detachment Trade-off</name>

<t><xref target="RFC9943"/> allows a Statement to be made over the hash of a payload rather than
the payload bytes, and detached payloads are a natural mitigation for the privacy
exposures in <xref target="sec-privacy"/>.</t>

<t>There is a direct cost, and it is easy to miss. Registration Policy operates on the
header and envelope metadata. A Transparency Service cannot apply a policy over a
payload it does not have. A deployment that detaches the <spanx style="verb">continuity-claims</spanx>
payload for privacy reasons therefore gives up any Registration Policy that depends
on the claims -- which is most of the checks a policy author would want to write.</t>

<t>The two configurations are both legitimate and they answer different questions:</t>

<texttable title="Consequences of detaching the continuity-claims payload" anchor="tab-detach">
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>Attached payload</ttcol>
      <ttcol align='left'>Detached payload</ttcol>
      <c>Registration Policy over claims</c>
      <c>Possible</c>
      <c>Not possible</c>
      <c>Log discloses recovery detail</c>
      <c>Yes</c>
      <c>No</c>
      <c>Relying Party needs side channel</c>
      <c>No</c>
      <c>Yes, for the payload</c>
      <c>Suitable for public log</c>
      <c>Rarely</c>
      <c>Often</c>
</texttable>

<t>An Issuer <bcp14>MUST</bcp14> decide this per deployment and <bcp14>SHOULD</bcp14> document the choice, because a
Relying Party that receives a detached Recovery Statement and cannot obtain the
payload has a Receipt for a Statement whose contents it cannot read.</t>

</section>
<section anchor="sec-policy-id"><name>On policy-id</name>

<t><spanx style="verb">policy-id</spanx> is a <spanx style="verb">tstr</spanx> and this document assigns it no structure. It identifies
the policy under which the recovery was authorized -- the policy applied by the key
release mechanism in step 3 of <xref target="sec-placement"/>, not the Registration Policy of the
Transparency Service.</t>

<t>Naming a policy is not defining one. This document records which policy an Issuer
says it applied, so that a Relying Party who can obtain that policy can check the
Statement against it. Deployments <bcp14>SHOULD</bcp14> use identifiers that are resolvable within
their trust domain and <bcp14>SHOULD</bcp14> version them, because "the policy" changes and a
Receipt is permanent.</t>

</section>
</section>
<section anchor="sec-verification"><name>Verification</name>

<t>A verifier presented with a Transparent Recovery Statement <bcp14>MUST</bcp14> be able to operate
offline, given the Transparency Service public key and, where applicable, the
Sealed Material.</t>

<t>A verifier <bcp14>MUST</bcp14>:</t>

<t><list style="numbers" type="1">
  <t>Verify the Signed Statement signature and resolve the Issuer identified by
<spanx style="verb">iss</spanx>.</t>
  <t>Verify each attached Receipt: check the Transparency Service signature, check
<spanx style="verb">vds</spanx>, and recompute the inclusion path against the payload root.</t>
  <t>Where consistency Receipts are available, verify that the roots involved form
a consistent sequence.</t>
  <t>Parse <spanx style="verb">continuity-claims</spanx> and check <spanx style="verb">version</spanx>.</t>
  <t>Where the Sealed Material is available, verify <spanx style="verb">sealed-digest</spanx> against it.</t>
  <t>Where the recovered Artifact is available, verify <spanx style="verb">recovered-digest</spanx> against
it.</t>
  <t>Where a Continuity Chain is present, resolve <spanx style="verb">prev-event</spanx> and check chain order
against log order, reporting any disagreement (<xref target="sec-chain"/>).</t>
  <t>Report <spanx style="verb">debug-mode</spanx> prominently wherever it is true.</t>
</list></t>

<t>A verifier <bcp14>MUST</bcp14> report its findings in three separate categories and <bcp14>MUST NOT</bcp14>
merge them:</t>

<dl>
  <dt>Asserted:</dt>
  <dd>
    <t>What the Issuer claims. <spanx style="verb">recovered-at</spanx>, <spanx style="verb">policy-id</spanx>, <spanx style="verb">outcome</spanx>, the environment
identities, and every field the verifier could not independently check.</t>
  </dd>
  <dt>Established:</dt>
  <dd>
    <t>What the verifier checked cryptographically. Signature validity, Receipt
validity, log position, and any digest it recomputed against bytes it holds.</t>
  </dd>
  <dt>Unverifiable:</dt>
  <dd>
    <t>What could not be checked with the material at hand, itemized. A referenced
Attestation Results digest whose bytes are unavailable belongs here, as does a
<spanx style="verb">prev-event</spanx> whose predecessor could not be resolved.</t>
  </dd>
</dl>

<t>A verifier that returns a single boolean is not conformant with this document. The
distinction between "the Issuer said so" and "I checked" is the entire content of
<xref target="sec-what-it-proves"/>, and a verifier that collapses it has converted a
transparency mechanism into an assurance it was never entitled to give.</t>

</section>
<section anchor="sec-divergence"><name>Divergence from the Reference Implementation</name>

<t>The reference implementation described in <xref target="sec-impl"/> does not implement this
document. It implements something adjacent, and the differences are recorded here
in full because the working group is better served by knowing where a proposal is
running ahead of its code.</t>

<t>The implementation commits release records to an <xref target="RFC6962"/> Merkle tree with a
Signed Tree Head, plus two additions: a <spanx style="verb">PrevLeafHash</spanx> field embedded in every
leaf, forming a linear hash chain in insertion order alongside the tree, and a
<spanx style="verb">TreeChainHead</spanx>, a running hash over successive Signed Tree Heads so that each head
commits to its predecessor. It emits no COSE Receipts at all.</t>

<t>The divergence is therefore total at the encoding layer and close to zero at the
hashing layer. The following works through each part.</t>

<section anchor="what-maps-cleanly-the-hashing"><name>What Maps Cleanly: The Hashing</name>

<t><xref target="RFC9162"/> Section 2.1.1 defines the Merkle Tree Hash as
<spanx style="verb">MTH({d[0]}) = HASH(0x00 || d[0])</spanx> for a single-entry list and
<spanx style="verb">MTH(D_n) = HASH(0x01 || MTH(D[0:k]) || MTH(D[k:n]))</spanx> for the general case, with
the prefix bytes providing domain separation for second-preimage resistance.
<xref target="RFC6962"/> defines it identically; <xref target="RFC9162"/> revises and obsoletes <xref target="RFC6962"/>
without changing this construction.</t>

<t>The consequence is concrete and favourable: an existing <xref target="RFC6962"/> SHA-256 tree
already <em>is</em> an <spanx style="verb">RFC9162_SHA256</spanx> verifiable data structure. <spanx style="verb">vds</spanx> = 1 applies
unchanged. Existing audit paths are already valid <spanx style="verb">inclusion-path</spanx> values. Moving
to <xref target="RFC9942"/> Receipts requires re-encoding proofs and signing them as COSE_Sign1,
not recomputing any hash and not rebuilding any tree. No stored leaf changes.</t>

<t>The Signed Tree Head is largely subsumed: <xref target="RFC9942"/> places the Merkle Tree Head
in the Receipt payload and the Transparency Service's signature over the Receipt
plays the role the STH signature played. The one element of an <xref target="RFC6962"/> STH with
no destination is its timestamp, <spanx style="verb">inclusion-proof-content</spanx> being exactly
<spanx style="verb">[tree-size, leaf-index, inclusion-path]</spanx>. A deployment that needs it <bcp14>SHOULD</bcp14> carry
it as an <spanx style="verb">iat</spanx> claim in the Receipt's protected header rather than inventing a
place for it.</t>

</section>
<section anchor="what-does-not-map-prevleafhash"><name>What Does Not Map: PrevLeafHash</name>

<t><spanx style="verb">inclusion-proof-content</spanx> is a three-element array. It has no fourth slot and
adding one would break the CDDL and the registry entry. <spanx style="verb">PrevLeafHash</spanx> cannot be
carried in an <spanx style="verb">RFC9162_SHA256</spanx> Receipt.</t>

<t>It also should not be. Examined rather than preserved, <spanx style="verb">PrevLeafHash</spanx> turns out to
be largely redundant. The Merkle tree already provides tamper-evidence for every
leaf, <spanx style="verb">leaf-index</spanx> already provides insertion order, and consistency proofs (label
-2) already establish that the log has only ever been appended to. What a
per-leaf back-pointer adds over those three is a chain that must be walked
leaf-by-leaf to verify -- linear where the Merkle proof is logarithmic -- and whose
links join leaves that have nothing to do with each other, since consecutive
entries in a shared log belong to unrelated Subjects.</t>

<t>The useful part of the idea survives in a better place. A chain over <em>related</em>
events is exactly what <xref target="sec-chain"/> defines: <spanx style="verb">prev-event</spanx> links successive
recoveries of one Artifact, at the application layer, inside the signed payload
where the Issuer's assertion belongs. The recommendation is therefore to drop
<spanx style="verb">PrevLeafHash</spanx> from the log and adopt <spanx style="verb">prev-event</spanx> in the Statement.</t>

</section>
<section anchor="what-does-not-map-treechainhead"><name>What Does Not Map: TreeChainHead</name>

<t><xref target="RFC9942"/> requires the payload of an inclusion Receipt to be the Merkle Tree Head
at <spanx style="verb">tree-size</spanx>. A <spanx style="verb">TreeChainHead</spanx> is a running hash over successive heads; it is
not a Merkle Tree Head and cannot be substituted for one without violating the
semantics of <spanx style="verb">vds</spanx> = 1. There is no header parameter for it.</t>

<t>Its purpose is real: it detects an operator who rewinds the log and re-signs a
divergent history. But that is what consistency proofs are for, and <xref target="RFC9942"/>
defines them under label -2. A consistency proof between two tree sizes is a
logarithmic, third-party-checkable statement that the later tree extends the
earlier one; a chain over heads is a linear one that requires possessing every
intervening head. The recommendation is to drop <spanx style="verb">TreeChainHead</spanx> and implement
consistency Receipts, which the implementation currently does not emit.</t>

</section>
<section anchor="summary-of-the-migration"><name>Summary of the Migration</name>

<texttable title="Reference implementation elements mapped onto RFC 9942" anchor="tab-migration">
      <ttcol align='left'>Implementation element</ttcol>
      <ttcol align='left'>Disposition under this document</ttcol>
      <c>RFC 6962 SHA-256 tree</c>
      <c>Keep; it is already <spanx style="verb">vds</spanx> = 1</c>
      <c>Leaf and node hashing</c>
      <c>Keep unchanged</c>
      <c>Audit paths</c>
      <c>Keep; re-encode as <spanx style="verb">inclusion-path</spanx></c>
      <c>Signed Tree Head</c>
      <c>Replace with Receipt; carry timestamp as <spanx style="verb">iat</spanx></c>
      <c>PrevLeafHash</c>
      <c>Drop; superseded by <spanx style="verb">prev-event</spanx></c>
      <c>TreeChainHead</c>
      <c>Drop; superseded by consistency Receipts (-2)</c>
      <c>(absent) COSE Receipts</c>
      <c>Add</c>
      <c>(absent) consistency proofs</c>
      <c>Add</c>
</texttable>

<t>The author has not yet performed this migration and does not wish to present a
plan as a result. <xref target="sec-impl"/> states what exists today.</t>

</section>
</section>
<section anchor="sec-impl"><name>Implementation Status</name>

<t>This section records implementation status per <xref target="RFC7942"/> and is to be removed by
the RFC Editor before publication. It describes one implementation by the author of
this document. The absence of an independent implementation is itself information
the working group should weigh.</t>

<section anchor="overview"><name>Overview</name>

<dl>
  <dt>Implementation:</dt>
  <dd>
    <t>Vault Genome core, written in Go. A Python SDK, a command-line client, and
Terraform modules for AWS, Azure and GCP exist.</t>
  </dd>
  <dt>Level of maturity:</dt>
  <dd>
    <t>Prototype. There is no production deployment, no design partner, and no end
user. Zero.</t>
  </dd>
  <dt>Coverage of this document:</dt>
  <dd>
    <t>None. The implementation logs release records to an <xref target="RFC6962"/> tree as
described in <xref target="sec-divergence"/>. It does not produce Signed Statements, does not
interact with any Transparency Service, and does not produce or consume COSE
Receipts. The <spanx style="verb">continuity-claims</spanx> structure in <xref target="sec-claims"/> is specified here
first and implemented nowhere.</t>
  </dd>
  <dt>Licensing:</dt>
  <dd>
    <t>Apache-2.0 relicensing is in progress. The repository is not public at the time
of writing.</t>
  </dd>
  <dt>Contact:</dt>
  <dd>
    <t>The author.</t>
  </dd>
</dl>

</section>
<section anchor="hardware-corpus"><name>Hardware Corpus</name>

<t>An artifact corpus was captured while running one seal-and-restore workload across
three TEE families <xref target="VG-CORPUS"/>. The counts below are produced by a script from
the artifact bytes and are reproduced verbatim; they are also reported in <xref target="TAP"/>,
which the reader may already have.</t>

<texttable title="Attestation artifact corpus composition" anchor="tab-corpus">
      <ttcol align='left'>Family</ttcol>
      <ttcol align='right'>Files</ttcol>
      <ttcol align='right'>Distinct file hashes</ttcol>
      <ttcol align='right'>Distinct hardware identities</ttcol>
      <c>AWS Nitro Enclaves</c>
      <c>12</c>
      <c>8</c>
      <c>8</c>
      <c>AMD SEV-SNP</c>
      <c>10</c>
      <c>8</c>
      <c>4</c>
      <c>Azure SGX / MAA</c>
      <c>4</c>
      <c>4</c>
      <c>1</c>
      <c><strong>Total</strong></c>
      <c><strong>26</strong></c>
      <c><strong>20</strong></c>
      <c><strong>13</strong></c>
</texttable>

<t>Of the twelve AWS Nitro documents, eight are production-mode with a non-zero PCR0
and four are debug-mode with all-zero PCRs. The AMD SEV-SNP files resolve to seven
distinct CHIP_IDs; the file count is not the chip count. The four Azure artifacts
share a single MRENCLAVE.</t>

<t>Regions exercised: AWS us-east-2 and eu-west-1; GCP us-central1, europe-west1 and
europe-west4; Azure eastus2 and westeurope. A byte-identical restore of a Llama 3.2
3B artifact was demonstrated between Ohio and Ireland.</t>

<t>A cross-cloud run delivered three DEKs from AWS us-east-1 to GCP us-central1
following an attestation handshake, producing an audit chain of length three. The
coordination result contains no timing field; no cross-cloud latency figure exists
for that run and none is stated here.</t>

</section>
<section anchor="what-has-not-been-demonstrated"><name>What Has Not Been Demonstrated</name>

<t>Each item below is a real gap and is listed because omitting it would misrepresent
the implementation.</t>

<dl>
  <dt>Attestation verification is not wired.</dt>
  <dd>
    <t>The in-repository attestation verifiers are fail-closed stubs of approximately
2,189 lines that return "not yet wired". The hardware signed real attestation
documents and those documents are in the corpus; the daemon does not verify them
against vendor libraries. Closing this is scheduled work targeting 2026-10-31.
Until it is closed, an <spanx style="verb">attestation</spanx> field emitted by this implementation would
reference material the implementation itself has never verified.</t>
  </dd>
  <dt>No Azure artifact is offline-verifiable.</dt>
  <dd>
    <t>All four publish the decoded claims payload rather than the compact signed JWT
and cannot be re-verified against Microsoft's keys. All four also carry
<spanx style="verb">is-debuggable: true</spanx>. They evidence plumbing, not proof.</t>
  </dd>
  <dt>Measurements are truncated.</dt>
  <dd>
    <t>Both Nitro PCR0 and SEV-SNP MEASUREMENT are 48 octets; the adapters truncate to
a 32-octet field, breaking byte-equality with the AWS <spanx style="verb">ImageSha384</spanx> policy
engine <xref target="AWS-KMS-COND"/>. <xref target="sec-measurement"/> forbids this. The implementation
does it.</t>
  </dd>
  <dt>No corpus artifact carries a verifier-supplied nonce.</dt>
  <dd>
    <t>See <xref target="sec-replay"/>.</t>
  </dd>
  <dt>In-process TEE binding is simulated.</dt>
  <dd>
    <t>One binding uses real AES-256-GCM with a simulated hardware root. It is suitable
for testing only.</t>
  </dd>
  <dt>The reconstruction backend performs no inference.</dt>
  <dd>
    <t>It is a deterministic byte-level Markov chain of order 3 behind a frozen
interface. It is a placeholder and not a neural network. See
<xref target="sec-equivalence"/>.</t>
  </dd>
  <dt>Only one validation dimension is implemented.</dt>
  <dd>
    <t>Operational validation is implemented. Semantic and behavioral validation are
documented and unimplemented.</t>
  </dd>
  <dt>A prior novelty claim was retracted.</dt>
  <dd>
    <t>An earlier version of the project's documentation asserted that no comparable
work existed. That claim was withdrawn. It is noted here because a reader
evaluating this document is entitled to know that the author has previously
overstated and corrected, and because <xref target="sec-prior-art"/> exists as a consequence.</t>
  </dd>
</dl>

</section>
<section anchor="sec-prior-art"><name>Prior Art the Author Concedes</name>

<t>Attestation-gated release of key material is deployed technology and this document
neither claims it nor depends on being first to it. At least the following predate
this work and should be understood as the baseline against which any contribution
here is measured:</t>

<t><list style="symbols">
  <t>AWS Key Management Service condition keys for Nitro Enclaves, notably
<spanx style="verb">kms:RecipientAttestation:ImageSha384</spanx>, which gate decryption on an enclave
measurement <xref target="AWS-KMS-COND"/>.</t>
  <t>Azure Key Vault Secure Key Release, which gates key export on an Azure
Attestation token <xref target="AZURE-SKR"/>.</t>
  <t>The Confidential Containers Trustee Key Broker Service, which gates secret
delivery on attestation <xref target="COCO-KBS"/>.</t>
</list></t>

<t>What this document adds to that baseline is narrow: the recovery event as a
registered Signed Statement with a defined payload, the continuity chain over one
Subject, and the requirement that a verifier separate assertion from established
fact. None of the three requires a new key-release mechanism, and a deployment
using any of the above can adopt this document without changing it.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="what-the-receipt-is-and-is-not"><name>What the Receipt Is and Is Not</name>

<t><xref target="sec-what-it-proves"/> is normative and is the security model. A Continuity
Receipt is a witness to an assertion. The Transparency Service does not verify the
recovery, the attestation, or the bytes. Every security property below is
conditioned on that.</t>

</section>
<section anchor="compromise-of-the-recovery-authority"><name>Compromise of the Recovery Authority</name>

<t>A compromised Recovery Authority key can register well-formed Recovery Statements
for recoveries that never happened, or omit ones that did. The Transparency Service
will accept them if its Registration Policy admits the Issuer, and the Receipts will
be permanent.</t>

<t>Revoking the key afterward does not un-register anything. An append-only log has no
mechanism for retraction, and this is a property, not a defect: it means the
compromise is discoverable. Deployments <bcp14>SHOULD</bcp14> register key rotation and revocation
events as Signed Statements in the same Transparency Service so that a Relying Party
checking an old Receipt can determine whether the key was still valid at
registration time. This document does not define such statements.</t>

<t>The Recovery Authority's signing key <bcp14>SHOULD</bcp14> be confined to an environment at least
as protected as the environments whose recoveries it attests. A key that is less
protected than the asset makes the record weaker than the thing it records.</t>

</section>
<section anchor="sec-replay"><name>Replay and the Missing Nonce</name>

<t>Evidence not bound to a verifier-supplied challenge can be replayed. An attacker who
captures Evidence from a legitimately attested environment and later presents it from
an environment it controls obtains whatever the Evidence unlocks. Measurement equality
does not prevent this: the measurement is a property of the code, and the attacker is
replaying somebody else's proof that the code ran, not proving it is running now, for
them.</t>

<t>This is stated plainly because the corpus supporting this document has the flaw:</t>

<t><strong>No artifact in the corpus described in <xref target="sec-impl"/> carries a verifier-supplied
challenge nonce.</strong> All twelve AWS Nitro attestation documents have an empty nonce
field; they are bound to their workload but they are replayable. The AMD SEV-SNP
reports carry non-zero REPORT_DATA, but in those runs REPORT_DATA was chosen by the
producing side and is therefore a producer assertion rather than a challenge. The
Azure artifacts are decoded claim payloads with no recoverable challenge binding.</t>

<t>The consequence for this document is specific. A Recovery Statement whose
<spanx style="verb">freshness.method</spanx> is <spanx style="verb">none</spanx>, or whose <spanx style="verb">nonce-digest</spanx> is absent, records a recovery
whose underlying attestation could have been replayed. The Receipt makes that
recovery permanent and attributable; it does not make it fresh. A verifier <bcp14>MUST</bcp14>
surface <spanx style="verb">freshness.method = none</spanx> in the Asserted category and <bcp14>MUST NOT</bcp14> treat the
Receipt as compensating for it.</t>

<t>The <spanx style="verb">none</spanx> code point exists so that this disclosure is expressible. An
implementation <bcp14>MUST NOT</bcp14> omit <spanx style="verb">freshness</spanx> in order to avoid making it.</t>

</section>
<section anchor="truncated-measurements"><name>Truncated Measurements</name>

<t><xref target="sec-measurement"/> forbids truncation. The security consequence of violating it is
worse than lost entropy. A verifier comparing a truncated 32-octet value against a
vendor's 48-octet reference will fail every comparison and may be "fixed" by
truncating the reference too -- at which point the comparison passes while checking
half a measurement, and any second preimage over the retained prefix is accepted.
The failure mode is a verifier that appears to work.</t>

<t>An implementation <bcp14>MUST</bcp14> treat a measurement whose length does not match the length
its algorithm identifier implies as a distinct rejection condition with its own
error, not as a mismatch.</t>

</section>
<section anchor="debug-mode-environments"><name>Debug-Mode Environments</name>

<t>An all-zero PCR0 is not a measurement. A verifier that parses an attestation
document, finds a well-formed PCR0 field, and compares it against a value that was
also configured as all zeros during development will accept it.</t>

<t>An implementation <bcp14>MUST</bcp14> treat an all-zero measurement as a distinct rejection
condition, <bcp14>MUST</bcp14> report <spanx style="verb">debug-mode</spanx> as true wherever the record indicates it, and
<bcp14>MUST NOT</bcp14> report such a record as establishing environment identity. Four of the
twenty-six corpus artifacts are debug-mode; they are retained and labelled rather
than removed, because a corpus that quietly drops its own negative cases is less
useful than one that keeps them.</t>

</section>
<section anchor="split-view-and-unwitnessed-logs"><name>Split View and Unwitnessed Logs</name>

<t>A Transparency Service operated by a single party is append-only by that party's
word. Two Relying Parties can be shown different trees and neither will detect the
divergence from inclusion proofs alone.</t>

<t>Deployments <bcp14>SHOULD</bcp14> obtain consistency Receipts over time and <bcp14>SHOULD</bcp14> have them
checked by independent parties. A verifier <bcp14>SHOULD</bcp14> report whether the roots it
checked against were corroborated by any party other than the service that issued
them. Where a Continuity Chain spans multiple services, <xref target="sec-chain"/> applies:
ordering guarantees do not compose across them.</t>

</section>
<section anchor="availability"><name>Availability</name>

<t>A Recovery Authority that blocks on Registration before releasing a recovered
Artifact can be denied by denying it the Transparency Service. This is the correct
trade in most settings -- an unwitnessed recovery is the situation this document
exists to eliminate -- but it means the Transparency Service is on the critical path
of disaster recovery, which is the worst possible time for it to be unavailable.</t>

<t>Deployments <bcp14>SHOULD</bcp14> register in more than one Transparency Service, <bcp14>SHOULD</bcp14> decide in
advance whether an unwitnessed recovery is permitted under emergency conditions, and
<bcp14>MUST NOT</bcp14> implement that decision as a silent fallback. Where an emergency recovery
proceeds unwitnessed, the Recovery Statement <bcp14>MUST</bcp14> be registered retroactively with
<spanx style="verb">recovered-at</spanx> reflecting the actual event, and the gap between <spanx style="verb">recovered-at</spanx> and
the log position will be visible to every Relying Party. That visibility is the point.</t>

</section>
<section anchor="error-handling"><name>Error Handling</name>

<t>Errors returned to a party requesting a recovery <bcp14>MUST NOT</bcp14> distinguish failure
causes in a way that permits probing the release policy. Detailed causes belong in
the Recovery Statement and in operator-facing logs.</t>

<t>Implementations <bcp14>SHOULD</bcp14> distinguish internally between structural failures and
integrity failures, and <bcp14>SHOULD</bcp14> treat integrity failures as potential attacks rather
than routine errors.</t>

</section>
</section>
<section anchor="sec-privacy"><name>Privacy Considerations</name>

<t>Recovery is a disclosure. Everything in this section follows from that.</t>

<t>A Signed Statement about a build says something happened that the builder intended
to happen. A Signed Statement about a recovery says something happened that the
custodian did not want to happen: an asset was lost, moved under duress, or
migrated away from an environment that no longer worked. Registering it in an
append-only log makes that permanent and, in a public log, makes it public.</t>

<section anchor="sec-privacy-fact"><name>The Fact of Recovery</name>

<t>The most sensitive thing in a Continuity Receipt is often not any field. It is the
Receipt's existence.</t>

<t>A sequence of Continuity Receipts under one Subject is an incident timeline. Their
cadence is readable: a cluster of recoveries in one week is an outage, a migration,
or a breach response, and which of the three it is can frequently be inferred from
the <spanx style="verb">outcome</spanx> values and the environment identities. Read across an Issuer's whole
set of Subjects, the log becomes an operational reliability record that the Issuer
never agreed to publish. Competitors, counterparties, insurers and adversaries can
all read it, and unlike an outage the record does not fade.</t>

<t><spanx style="verb">outcome = failed</spanx> is the sharpest case. A public record of failed recovery attempts
against a named asset tells an adversary which asset to attack and that the custodian
is currently having trouble with it. <xref target="sec-claims"/> nonetheless says an Issuer <bcp14>SHOULD</bcp14>
register failures, because a chain of successes only is a chain that lies by omission.
The resolution is not to suppress failures but to choose the audience: deployments
whose failure record is sensitive <bcp14>SHOULD</bcp14> use a private or consortium Transparency
Service rather than a public one, and <bcp14>SHOULD NOT</bcp14> resolve the tension by filtering
what they register.</t>

</section>
<section anchor="sec-privacy-subject"><name>The Subject as a Permanent Correlator</name>

<t><xref target="sec-subject"/> requires <spanx style="verb">sub</spanx> to be stable across the asset's life. Stability is
what makes the chain enumerable, and it is also what makes <spanx style="verb">sub</spanx> a permanent
correlator in a structure with no delete operation.</t>

<t>Where the plain asset identifier is sensitive, an Issuer <bcp14>SHOULD</bcp14> derive a
pseudonymous Subject:</t>

<figure><artwork><![CDATA[
sub = base64url( HMAC-SHA-256( K_iss, asset-identifier ) )
]]></artwork></figure>

<t>where <spanx style="verb">K_iss</spanx> is a secret held by the Issuer and never registered. This preserves
chain enumerability for anyone holding <spanx style="verb">K_iss</spanx> and the identifier, and destroys it
for everyone else.</t>

<t>The costs are real and <bcp14>MUST</bcp14> be weighed rather than assumed away:</t>

<t><list style="symbols">
  <t>Cross-organization verification breaks. Two custodians of the same asset produce
different Subjects and their chains cannot be joined. If joining them was the
purpose, pseudonymity defeats it.</t>
  <t><spanx style="verb">K_iss</spanx> becomes a long-lived secret whose compromise retroactively deanonymizes
every Receipt ever issued under it, and whose loss makes the Issuer's own chains
unenumerable.</t>
  <t>Rotating <spanx style="verb">K_iss</spanx> splits the chain. An Issuer that rotates <bcp14>MUST</bcp14> publish or
privately convey the linkage, or accept the split.</t>
</list></t>

<t>An Issuer <bcp14>MUST NOT</bcp14> use a low-entropy or guessable input to the HMAC. Asset names are
frequently guessable, and an HMAC over a guessable input under a compromised or
brute-forceable key is not a pseudonym.</t>

</section>
<section anchor="the-issuer-is-identified-by-design"><name>The Issuer Is Identified by Design</name>

<t><spanx style="verb">iss</spanx> names the custodian and cannot be pseudonymized without destroying the point:
a Receipt whose Issuer is unknown witnesses an assertion by nobody.</t>

<t>Where the Recovery Authority is a service provider acting for a client, <spanx style="verb">iss</spanx>
discloses that the client relationship exists, and a chain under a given Subject
discloses its duration. Providers <bcp14>SHOULD</bcp14> consider whether a per-client Issuer
identity, or client-operated signing, is more appropriate than a single provider
identity across all clients.</t>

</section>
<section anchor="sec-privacy-hardware"><name>Hardware Linkability</name>

<t>TEE attestation exposes stable hardware identifiers. The corpus in <xref target="sec-impl"/>
shows the scale: 26 artifacts resolve to 13 distinct hardware identities, via AMD-SP
CHIP_ID for SEV-SNP and Nitro Security Module identifiers for AWS Nitro Enclaves.
These are stable across workloads and across tenants of the same physical part.</t>

<t>Committed to an append-only log, they reveal which physical machines an asset has
been recovered on and when, and correlating them across Issuers reveals co-tenancy
between organizations that have no relationship with each other.</t>

<t>Accordingly:</t>

<t><list style="symbols">
  <t><spanx style="verb">platform-id</spanx> is <bcp14>OPTIONAL</bcp14> and <bcp14>SHOULD</bcp14> be omitted.</t>
  <t>Where machine-level accountability is genuinely required, <spanx style="verb">platform-id</spanx> <bcp14>SHOULD</bcp14>
carry a salted per-deployment pseudonym rather than the raw identifier, with the
mapping retained by the Issuer.</t>
  <t>An Issuer using <spanx style="verb">attestation</spanx> mode <spanx style="verb">embedded</spanx> <bcp14>MUST</bcp14> inspect the embedded
Attestation Results for these identifiers before registering, because embedding
publishes whatever the Verifier chose to include and the Issuer does not control
that choice.</t>
</list></t>

</section>
<section anchor="sec-privacy-region"><name>Region and Jurisdiction</name>

<t><spanx style="verb">region</spanx>, and often <spanx style="verb">measurement</spanx> and <spanx style="verb">verifier-id</spanx> indirectly, disclose where a
recovery took place.</t>

<t>Under data-localization regimes, a public Receipt showing an asset recovered in a
different jurisdiction from where it was sealed is a public admission of
cross-border transfer. The implementation in <xref target="sec-impl"/> demonstrated exactly this
shape: a byte-identical restore from Ohio to Ireland. That transfer may be entirely
lawful and it may also be something the custodian is obliged to declare through a
different channel first.</t>

<t>Deployments <bcp14>SHOULD</bcp14> omit <spanx style="verb">region</spanx> where it is not needed, and <bcp14>SHOULD</bcp14> treat the
decision to register a cross-jurisdiction recovery in a public log as a disclosure
decision rather than a logging decision.</t>

</section>
<section anchor="structural-leakage"><name>Structural Leakage</name>

<t><spanx style="verb">chunk-count</spanx> is a proxy for asset size and <bcp14>SHOULD</bcp14> be omitted unless a Relying
Party needs it. <spanx style="verb">locator</spanx> frequently reveals a storage provider, a bucket naming
convention, and an internal organizational structure; it <bcp14>SHOULD</bcp14> be omitted from any
Statement destined for a log the Issuer does not control.</t>

<t><spanx style="verb">event-id</spanx> <bcp14>MUST NOT</bcp14> encode anything the Issuer would not publish. Sequential event
identifiers disclose recovery volume; identifiers derived from ticket numbers
disclose more.</t>

</section>
<section anchor="erasure-and-the-append-only-log"><name>Erasure and the Append-only Log</name>

<t>An append-only log cannot forget, and this conflicts directly with erasure
obligations where any registered field constitutes personal data.</t>

<t>Deployments <bcp14>SHOULD</bcp14> assume that anything registered is registered permanently. The
available mitigations are to detach the payload (<xref target="sec-detach"/>), to register only
digests of sensitive fields, or to use a Transparency Service whose access is
controlled. Where salted digests are used, destroying the salt is the only available
approximation of erasure, and it destroys the verifiability of every Receipt derived
under that salt. That is a real trade and <bcp14>MUST</bcp14> be made deliberately, before the first
Registration rather than after the first request.</t>

</section>
</section>
<section anchor="sec-iana"><name>IANA Considerations</name>

<section anchor="media-type-registration"><name>Media Type Registration</name>

<t>IANA is requested to register the following media type in the "Media Types"
registry, per the procedures of RFC 6838.</t>

<dl>
  <dt>Type name:</dt>
  <dd>
    <t>application</t>
  </dd>
  <dt>Subtype name:</dt>
  <dd>
    <t>continuity-recovery+cbor</t>
  </dd>
  <dt>Required parameters:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Optional parameters:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Encoding considerations:</dt>
  <dd>
    <t>binary (CBOR <xref target="RFC8949"/>)</t>
  </dd>
  <dt>Security considerations:</dt>
  <dd>
    <t>See the Security Considerations section of this document.</t>
  </dd>
  <dt>Interoperability considerations:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Published specification:</dt>
  <dd>
    <t>This document.</t>
  </dd>
  <dt>Applications that use this media type:</dt>
  <dd>
    <t>Transparency Services and Relying Parties processing Signed Statements about
recovery events.</t>
  </dd>
  <dt>Fragment identifier considerations:</dt>
  <dd>
    <t>N/A</t>
  </dd>
  <dt>Person and email address to contact for further information:</dt>
  <dd>
    <t>See the Author's Address section.</t>
  </dd>
  <dt>Intended usage:</dt>
  <dd>
    <t>COMMON</t>
  </dd>
  <dt>Restrictions on usage:</dt>
  <dd>
    <t>none</t>
  </dd>
  <dt>Author:</dt>
  <dd>
    <t>See the Author's Address section.</t>
  </dd>
  <dt>Change controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
</dl>

</section>
<section anchor="registrations-deliberately-not-requested"><name>Registrations Deliberately Not Requested</name>

<t>The following are recorded so that a reviewer does not have to infer intent from
silence.</t>

<dl>
  <dt>No COSE Verifiable Data Structure Algorithm is requested.</dt>
  <dd>
    <t>A recovery event is an ordinary Statement registered in an ordinary log.
<spanx style="verb">RFC9162_SHA256</spanx> (value 1, <xref target="RFC9942"/>) is sufficient and appropriate. See
<xref target="sec-vds"/> and <xref target="sec-divergence"/>.</t>
  </dd>
  <dt>No COSE Verifiable Data Structure Proof type is requested.</dt>
  <dd>
    <t>Inclusion (-1) and consistency (-2) cover what this document needs.</t>
  </dd>
  <dt>No COSE header parameter is requested.</dt>
  <dd>
    <t>Everything this document adds lives in the Statement payload, where an Issuer's
assertions belong.</t>
  </dd>
  <dt>No CBOR tag is requested at this revision.</dt>
  <dd>
    <t>The <spanx style="verb">continuity-claims</spanx> structure is not stable enough to warrant one. A future
revision may request one if the working group finds the structure worth
registering, and may equally conclude that it should be expressed as a profile of
an existing format such as <xref target="RFC9711"/> rather than as a new type. See
<xref target="sec-open-issues"/>.</t>
  </dd>
  <dt>No CoAP Content-Format is requested at this revision.</dt>
  <dd>
    <t>There is no constrained-node use case for this document yet. One may emerge; it
has not.</t>
  </dd>
</dl>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

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



<reference anchor="RFC4086">
  <front>
    <title>Randomness Requirements for Security</title>
    <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
    <author fullname="J. Schiller" initials="J." surname="Schiller"/>
    <author fullname="S. Crocker" initials="S." surname="Crocker"/>
    <date month="June" year="2005"/>
    <abstract>
      <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
      <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
  <seriesInfo name="RFC" value="4086"/>
  <seriesInfo name="DOI" value="10.17487/RFC4086"/>
</reference>
<reference anchor="RFC8392">
  <front>
    <title>CBOR Web Token (CWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8392"/>
  <seriesInfo name="DOI" value="10.17487/RFC8392"/>
</reference>
<reference anchor="RFC8610">
  <front>
    <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="C. Vigano" initials="C." surname="Vigano"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <date month="June" year="2019"/>
    <abstract>
      <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8610"/>
  <seriesInfo name="DOI" value="10.17487/RFC8610"/>
</reference>
<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>
<reference anchor="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
      <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9052"/>
  <seriesInfo name="DOI" value="10.17487/RFC9052"/>
</reference>
<reference anchor="RFC9053">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
      <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9053"/>
  <seriesInfo name="DOI" value="10.17487/RFC9053"/>
</reference>
<reference anchor="RFC9162">
  <front>
    <title>Certificate Transparency Version 2.0</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="E. Messeri" initials="E." surname="Messeri"/>
    <author fullname="R. Stradling" initials="R." surname="Stradling"/>
    <date month="December" year="2021"/>
    <abstract>
      <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
      <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
      <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9162"/>
  <seriesInfo name="DOI" value="10.17487/RFC9162"/>
</reference>
<reference anchor="RFC9334">
  <front>
    <title>Remote ATtestation procedureS (RATS) Architecture</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="W. Pan" initials="W." surname="Pan"/>
    <date month="January" year="2023"/>
    <abstract>
      <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9334"/>
  <seriesInfo name="DOI" value="10.17487/RFC9334"/>
</reference>
<reference anchor="RFC9597">
  <front>
    <title>CBOR Web Token (CWT) Claims in COSE Headers</title>
    <author fullname="T. Looker" initials="T." surname="Looker"/>
    <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
    <date month="June" year="2024"/>
    <abstract>
      <t>This document describes how to include CBOR Web Token (CWT) claims in the header parameters of any CBOR Object Signing and Encryption (COSE) structure. This functionality helps to facilitate applications that wish to make use of CWT claims in encrypted COSE structures and/or COSE structures featuring detached signatures, while having some of those claims be available before decryption and/or without inspecting the detached payload. Another use case is using CWT claims with payloads that are not CWT Claims Sets, including payloads that are not CBOR at all.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9597"/>
  <seriesInfo name="DOI" value="10.17487/RFC9597"/>
</reference>
<reference anchor="RFC9942">
  <front>
    <title>CBOR Object Signing and Encryption (COSE) Receipts</title>
    <author fullname="O. Steele" initials="O." surname="Steele"/>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
    <author fullname="C. Fournet" initials="C." surname="Fournet"/>
    <date month="June" year="2026"/>
    <abstract>
      <t>CBOR Object Signing and Encryption (COSE) Receipts prove properties of a Verifiable Data Structure (VDS) to a verifier. VDSs and associated Proof Types enable security properties, such as minimal disclosure, transparency, and non-equivocation. Transparency helps maintain trust over time and has been applied to certificates, end-to-end encrypted messaging systems, and supply chain security. This specification enables concise transparency-oriented systems by building on Concise Binary Object Representation (CBOR) and COSE. The extensibility of the approach is demonstrated by providing CBOR encodings for Merkle inclusion and consistency proofs.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9942"/>
  <seriesInfo name="DOI" value="10.17487/RFC9942"/>
</reference>
<reference anchor="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>
<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>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC6962">
  <front>
    <title>Certificate Transparency</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="A. Langley" initials="A." surname="Langley"/>
    <author fullname="E. Kasper" initials="E." surname="Kasper"/>
    <date month="June" year="2013"/>
    <abstract>
      <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
      <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6962"/>
  <seriesInfo name="DOI" value="10.17487/RFC6962"/>
</reference>
<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="RFC9711">
  <front>
    <title>The Entity Attestation Token (EAT)</title>
    <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
    <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
    <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
    <author fullname="C. Wallace" initials="C." surname="Wallace"/>
    <date month="April" year="2025"/>
    <abstract>
      <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
      <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9711"/>
  <seriesInfo name="DOI" value="10.17487/RFC9711"/>
</reference>
<reference anchor="RFC9782">
  <front>
    <title>Entity Attestation Token (EAT) Media Types</title>
    <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="T. Fossati" initials="T." surname="Fossati"/>
    <date month="May" year="2025"/>
    <abstract>
      <t>The payloads used in Remote ATtestation procedureS (RATS) may require an associated media type for their conveyance, for example, when the payloads are used in RESTful APIs.</t>
      <t>This memo defines media types to be used for Entity Attestation Tokens (EATs).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9782"/>
  <seriesInfo name="DOI" value="10.17487/RFC9782"/>
</reference>
<reference anchor="RFC9999">
  <front>
    <title>Remote ATtestation procedureS (RATS) Conceptual Message Wrapper (CMW)</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="T. Fossati" initials="T." surname="Fossati"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="July" year="2026"/>
    <abstract>
      <t>The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions. Conceptual messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details. The initial set of conceptual messages is defined in Section 8 of RFC 9334 and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t>This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages. It defines a dedicated Concise Binary Object Representation (CBOR) tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
      <t>Together, these mechanisms allow CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts such as X.509 certificates. Additionally, this document defines media types and CoAP Content-Formats that may be used to identify CMWs when transported over protocols such as HTTP, MIME, and CoAP.</t>
      <t>The goal is to improve the interoperability and flexibility of remote attestation protocols. Introducing a shared message format such as CMW enables consistent support for different attestation message types, enables the evolution of message serialization formats without breaking compatibility, and avoids the need to redefine how messages are handled within each protocol.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9999"/>
  <seriesInfo name="DOI" value="10.17487/RFC9999"/>
</reference>

<reference anchor="I-D.ietf-scitt-scrapi">
   <front>
      <title>Supply Chain Integrity, Transparency, and Trust (SCITT) Reference APIs</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Jon Geater" initials="J." surname="Geater">
         <organization>Bowball Technologies Ltd</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <date day="26" month="June" year="2026"/>
      <abstract>
	 <t>   This document specifies a REST API with the HTTP resources, request
   and response messages, and error handling needed for an interoperable
   implementation of a SCITT Transparency Service, as defined by the
   Supply Chain Integrity, Transparency, and Trust (SCITT) Architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-11"/>
   
</reference>

<reference anchor="I-D.ietf-scitt-receipts-ccf-profile">
   <front>
      <title>CCF Profile for COSE Receipts</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <author fullname="Cedric Fournet" initials="C." surname="Fournet">
         <organization>Microsoft Research</organization>
      </author>
      <author fullname="Amaury Chamayou" initials="A." surname="Chamayou">
         <organization>Microsoft Research</organization>
      </author>
      <date day="24" month="June" year="2026"/>
      <abstract>
	 <t>   This document defines a new verifiable data structure (VDS) type for
   COSE Receipts and inclusion proofs specifically designed for append-
   only logs produced by the Confidential Consortium Framework (CCF) to
   provide stronger tamper-evidence guarantees.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-receipts-ccf-profile-04"/>
   
</reference>

<reference anchor="I-D.ietf-rats-ar4si">
   <front>
      <title>Attestation Results for Secure Interactions</title>
      <author fullname="Eric Voit" initials="E." surname="Voit">
         <organization>Cisco Systems</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
         <organization>MIT</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
         <organization>Intel</organization>
      </author>
      <date day="18" month="May" year="2026"/>
      <abstract>
	 <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogeneous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-10"/>
   
</reference>

<reference anchor="I-D.ietf-rats-ear">
   <front>
      <title>EAT Attestation Results</title>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Eric Voit" initials="E." surname="Voit">
         <organization>Cisco</organization>
      </author>
      <author fullname="Sergei Trofimov" initials="S." surname="Trofimov">
         <organization>Arm Limited</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <date day="26" month="May" year="2026"/>
      <abstract>
	 <t>   This document defines the EAT Attestation Result (EAR) message
   format.

   EAR is used by a verifier to encode the result of the appraisal over
   an attester&#x27;s evidence.  It embeds an AR4SI&#x27;s &quot;trustworthiness
   vector&quot; to present a normalized view of the evaluation results, thus
   easing the task of defining and computing authorization policies by
   relying parties.  Alongside the trustworthiness vector, EAR provides
   contextual information bound to the appraisal process.  This allows a
   relying party (or an auditor) to reconstruct the frame of reference
   in which the trustworthiness vector was originally computed.  EAR
   supports simple devices with one attester as well as composite
   devices that are made of multiple attesters, allowing the state of
   each attester to be separately examined.  EAR can also accommodate
   registered and unregistered extensions.  It can be serialized and
   protected using either CWT or JWT.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ear-04"/>
   
</reference>

<reference anchor="I-D.ietf-rats-corim">
   <front>
      <title>Concise Reference Integrity Manifest</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
         <organization>arm</organization>
      </author>
      <author fullname="Ned Smith" initials="N." surname="Smith">
         <organization>Independent</organization>
      </author>
      <author fullname="Wei Pan" initials="W." surname="Pan">
         <organization>Huawei Technologies</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
	 <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-11"/>
   
</reference>

<reference anchor="TAP" target="https://datatracker.ietf.org/doc/draft-nikolaichuk-rats-tap/">
  <front>
    <title>Trusted Artifact Provenance (TAP): A Producer, Verifier, and Sealer Contract for Attestation-Gated Reconstruction of Stateful Assets</title>
    <author initials="S." surname="Nikolaichuk" fullname="Serhii Nikolaichuk">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-nikolaichuk-rats-tap-00"/>
</reference>
<reference anchor="AWS-NITRO" target="https://docs.aws.amazon.com/enclaves/latest/user/verify-root.html">
  <front>
    <title>AWS Nitro Enclaves attestation document specification</title>
    <author >
      <organization>Amazon Web Services</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="AWS-KMS-COND" target="https://docs.aws.amazon.com/enclaves/latest/user/kms.html">
  <front>
    <title>AWS Key Management Service condition keys for AWS Nitro Enclaves (kms:RecipientAttestation:ImageSha384)</title>
    <author >
      <organization>Amazon Web Services</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="AZURE-SKR" target="https://learn.microsoft.com/en-us/azure/confidential-computing/concept-skr-attestation">
  <front>
    <title>Azure Key Vault Secure Key Release</title>
    <author >
      <organization>Microsoft Corporation</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="COCO-KBS" target="https://github.com/confidential-containers/trustee">
  <front>
    <title>Confidential Containers Trustee: Key Broker Service</title>
    <author >
      <organization>Confidential Containers project</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="VG-CORPUS" >
  <front>
    <title>Cross-TEE Attestation Corpus (docs/CORPUS.md and evidence/MANIFEST.json)</title>
    <author initials="S." surname="Nikolaichuk" fullname="Serhii Nikolaichuk">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
<refcontent>Machine-generated manifest of hardware-signed attestation artifacts. Not yet publicly available; see Section 9.</refcontent></reference>


    </references>

</references>


<?line 1538?>

<section anchor="worked-example-informative"><name>Worked Example (Informative)</name>

<t>A model is sealed in AWS us-east-2 and, eleven months later, recovered in GCP
us-central1 after the original account is closed.</t>

<t>The Recovery Authority constructs a Signed Statement with:</t>

<t><list style="symbols">
  <t><spanx style="verb">iss</spanx> naming the Recovery Authority;</t>
  <t><spanx style="verb">sub</spanx> set to the stable asset identifier, or to its HMAC pseudonym per
<xref target="sec-privacy-subject"/>;</t>
  <t><spanx style="verb">content_type</spanx> = <spanx style="verb">application/continuity-recovery+cbor</spanx>.</t>
</list></t>

<t>The payload carries, in outline:</t>

<figure><artwork><![CDATA[
version              1
event-id             (16 random octets)
recovered-digest     [ -44, <48 octets, SHA-384 over the plaintext> ]
sealed-material      sealed-digest  [ -44, <48 octets> ]
                     chunk-count    omitted (see Privacy)
                     provenance-ref [ -44, <48 octets> ]
policy-id            "recovery/model-tier2/v3"
recovery-environment tee-family   "amd-sev-snp"
                     measurement  [ -44, <48 octets, native length> ]
                     debug-mode   false
                     platform-id  omitted (see Privacy)
producing-environment tee-family  "aws-nitro"
                     measurement  [ -44, <48 octets, PCR0> ]
                     debug-mode   false
attestation          mode         1 (referenced)
                     ar-digest    [ -44, <48 octets> ]
                     ar-format    "application/eat+cwt"
                     verifier-id  "verifier.example"
freshness            method       1 (nonce)
                     nonce-digest [ -44, <48 octets> ]
outcome              1 (recovered)
recovered-at         1793750400
prev-event           prev-statement [ -44, <48 octets> ]
equivalence          kind 1 (byte-identical)
]]></artwork></figure>

<t>The Transparency Service registers it and returns a Receipt with <spanx style="verb">vds</spanx> = 1 in the
protected header and an inclusion proof under <spanx style="verb">vdp</spanx> label -1. The Recovery Authority
attaches the Receipt under label 394, yielding a Transparent Statement.</t>

<t>A Relying Party eleven months later, holding only the Transparent Statement and the
Transparency Service public key, can establish: the Issuer's signature is valid; the
Statement occupies a specific position in the log; the claimed lineage links to a
prior Statement. It cannot establish that the recovery occurred or that the
Attestation Results were favourable, because <spanx style="verb">ar-digest</spanx> references bytes it does not
have. A conformant verifier reports all three categories separately
(<xref target="sec-verification"/>).</t>

<t>Note that <spanx style="verb">equivalence = byte-identical</spanx> is checkable only by a party holding both
digests. In the corpus of <xref target="sec-impl"/>, one such restore was demonstrated -- Ohio to
Ireland -- and that is a claim about one artifact, not a property of the mechanism.</t>

</section>
<section anchor="sec-open-issues"><name>Open Issues</name>

<t>These are stated for working group input and are expected to change.</t>

<t><list style="numbers" type="1">
  <t><strong>Subject choice.</strong> <xref target="sec-subject"/> makes the Subject the Artifact. The
alternative -- Subject as the event, with the asset carried in the payload --
trades chain enumerability for reduced correlation. The author prefers
enumerability and would like to be argued with.</t>
  <t><strong>Encoding of the payload.</strong> Whether <spanx style="verb">continuity-claims</spanx> should be a bespoke CBOR
map, an EAT profile <xref target="RFC9711"/>, or a CMW payload <xref target="RFC9999"/>. The author has no
strong view.</t>
  <t><strong>Relationship to AR4SI.</strong> The <spanx style="verb">debug-mode</spanx> and freshness rules here are bespoke
and ought to be expressible as constraints over <xref target="I-D.ietf-rats-ar4si"/> or
<xref target="I-D.ietf-rats-ear"/> claims. A future revision probably should do that rather
than restate hardware specifics.</t>
  <t><strong>Reference Values.</strong> <xref target="I-D.ietf-rats-corim"/> is the right vehicle for the expected
<spanx style="verb">measurement</spanx> values a Relying Party would compare against. This document does
not reference them and probably should.</t>
  <t><strong>Charter fit.</strong> The SCITT charter is about supply chain integrity and
transparency, and excludes payload content data formats. This document defines a
payload content data format. The author's reading is that the exclusion targets
Bill-of-Materials-class formats rather than the claim structure of a Statement,
but the working group may read it differently, and the author would rather be
told early than late. If the answer is that this belongs elsewhere or nowhere,
that is a useful answer.</t>
  <t><strong>Splitting with TAP.</strong> <xref target="TAP"/> and this document were written as a pair. A
reviewer may reasonably conclude they should be one document, or that the
key-release half does not belong in the IETF at all.</t>
  <t><strong>Intended status.</strong> This revision is Informational. A payload intended for
interoperation would normally be Standards Track. The author will follow the
working group.</t>
  <t><strong>Nothing here is implemented.</strong> <xref target="sec-impl"/> says so plainly. A working group may
reasonably decline to spend time on a specification with no implementation, and
the author's intention is to close that gap rather than argue about it.</t>
</list></t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This document is an individual submission from an author with no prior IETF
publications. Errors in SCITT vocabulary, process, or convention are the author's
own, and corrections are welcome on the SCITT mailing list.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7W97Xbb1pIt+h9PgauMcWK7SdqyHSeWO72PIjuJT+LY13KS
7rPHHhFEQhK2SYINgFKYxP0s51nuk92as6rWWgAh73T3vR6d3RQJrO9V3zVr
Op1mXdUty6P84KRed9V6W3W7/G05L6tN1x7Jp8uq7cqmWl/m3VWJX+rrstnl
9UVe5Kdd0ZUX22V+3LZllxctvqsu1+VCf1qV6y6v1vLtu6ZYt5uiKdfzXX5a
NtfVvDzIivPzprwe7/sgW9TzdbGSoS2a4qKbrqv39bKo5lfb99N2XnXddB7e
mjb21vTBg2wuPV/Wze5Iur6os3Z7vqratpKHdxtp7eWLd19n8mpbrtutTLFr
tmUmg3iUVZuGf7bdwwcPnj54mMl4CxndaTnfNtLLQXZTN+8vm3q7wbfbzWa5
y0+uCpnhy7X0iWcmvalO8mK9kG+kyfzO6cnLd+/uHmTvy520szjK8nwq3SUL
0+rC8IeT16cvcp8Wvyk2m3K9mNZr6XVZX/K7plzVXZkXXVe2suIySX4t07uo
FrL6VbGUP1abrSyUvrGo2gI7ira5lfx208jndbGWzuX/b0sM7r840QN5VVf6
4GdZLpycb9ASvl8V1VK+5/b9z6rsLmZ1c4kfimZ+JT9cdd2mPbp/H8/hq+q6
nPlj9/HF/fOmvmnL+2zh/kGWFdvuqm64lvJfLlsuW3o6y3+Ip4Xfyyld6mmS
03dVVXsPSA/FuvqNaygjOeCX0osco2OZVbXmF43cB/z+7l/193q77nDSflxX
nZ/6FpfjeCWXZl7wqVKnnRzgWTu7+J+X+Homu5Nl67pZSc/XXPe3X588fvDF
E/v4xaOnD/3jk8MH/vHp46f28emDzx7Gj4/84+GT8O2jR4/942dPP/ePTx8/
jB/ltQy3pT+MJ09DI58nj39+eBg+fhEbecoRvZw+55bZHW3nTbGpRn4IN3Y+
v5jK8buolmXvsaaQH4vmcVvtf10Wzf6X87qpVvj63fGbIy68kzaeS9me46ar
Lop5l78Jxz2/I0/flT3Gd4vtvGwm+U+ydRcVPuFQn5bFUq4LSFSDd2WR8uN4
36bfFGgahHHdCvGY40ucgD5xbPVAdUVzWXbJSV8U8pi0+75s4kkXynd/n+hx
kl2xua9NxZOPf9NbTz7+ffTkyxDkx4cPHj7hn0KEqrLFYfC2ceebddlNn2NM
Y/TYhwbym+fHP59Of3j57u3r/i7I19J319T5i/V8WVzLRUnoVi6T3pJhtJty
Lus/59e3LVs9b2fFjfy3Kn6r17hF90tr9f4Sl7C7v5WZ3L/GXgp/qOtudtWt
luNrN7j8x2w0/7k8d15l29dbKkzzu1en05PXPzzfn+l35S5/VayLS+WC1g4o
86LifIUNtHqY9tflzvtVeyRHqtpU8nJy2o5erqTF06vi0ReP7/5310Y6+f98
Tf73j29fTE+/eztYkN+2Tckl+anYLrEac//ibbksi7a8ZS7yW7Oerap5U7f1
RWdzmW7b+wWavJ8yumlgdPh6Xm6E+rxvpskZ+1MTfeWdyZVvNnWTvNmb6snr
k9fT77467c/0JOW8oBnCNMumVdZYyhOY81dNLfc9ykGjU7+suqvtOWc8mKU3
er/TRv/UtG4bmJDev5fzbmSCP30jR/vtmx+HM5TVaafvXrxIqSDXaisHF4fv
vr42Wy1IQMtr9Dsv7786/uHl1y9O383+3tbru///UrGmvMBCyXyxpYWIEuty
elnKlEmuV7I0FzJ4EOqrolnciBgzbVV0TYlSYRyjlRHVXb4TKXezPV9WcxGI
imtIKefL8pnQzBJnmq88nYlYMp2KvHbekmNk2fGo/At5eVFeVOjzfAcemoMT
U8aAhNbuydJCMM/rbZc5H2u5vk3ZbZt1GyTnSS691At5cSOHzJp9OBH5vehU
0LMu9GjLkmfFeihdzvJ3Iu4nPfuopNmuXhQ7yHhCo5fy+KIULl+dl/lVfSMj
CsPLb2SG59tq2UnnJTjwRE6ltMQbv2AX8nadr2VpQyM3GOYVhyPzu5AuM4z8
iPpHaLpqZdGFMUuTK5mR/L9l3XbKsUHj0M10LvI7drutV+XNlYw9L5dtOcnw
EFfDn8EyyKBAete1LMiixGLIvGV286ty/h7bDFl9Xs6y7N2V9B7YlW4hVJ99
LebIlSb8kdfnvHQLmWIJpShI4OU1FaXeIv8nlalZ/jJwzrLN0O3p9hw3O9fZ
YtP/fVuhaWEF1apVFc7HEPuYcBuTu529LVsh2sKsmnql50kkyhHVQ26LMLii
EflhoRt9UWKQer4r2x1pPStk8/59i58winY7v0qP2laWvsnrdZwCBFOsB7l5
xc2Iyl82p2ZSgGy3nOlS7nZXrUqdYuuCWAFBjPtXxu3DVpZLOXggDLLdaxl/
fcPljDu7KXbLulByhrGTbugyTjKc3iJflzejGzPJ4+/J8CH35SovCh/TleGD
GR5MF1WFcg6oWLY1d6xZyC2XAcuZxkFe52R48vOE81+ICC/cBNrcedndlHLa
eKuq5IiwR36rZ8O2Kq9WmyX3QXsXPt3oPVjUZTtTyraqFotlmWWfQDSk2Mxz
kpmmqPvR02yhOMulbnWgkKRxL6V9dC4zFPor5EomxC2LJORIh9jW2wZjS0gK
T+NEf/brOse85CGhvHVzDqJwc1VnRtb9/PGNTS00XEj4YiW6CH+c5b//brrQ
hw/5ZQVaoBQToyryxbbBxmWtkCZhNLLmL9t2K+tfShOjd5W0Gj/oIZ7ccnMz
IXVLbohZW4wsv7Eh4siRNnNqXY2ujxNi/X19OfE7njW8qtC5nej4rB7KrJYl
WQaFrh0eeiP8zSicTrZLiT4WO0tI0o1IJJgSxQ63COkqfNpiixc25wq37LR3
7VrZfWE8uDwQgXVV2WXV8uCTDIEpHOPkkEyuhIktZW4ZLsu5sAzMk9T5VzKS
AjJ0fiWaGkwDu5Qn3DTY1zWWq+1EhrssrbOuzeobkQJ4nK1jnOHlLawDfBw8
iKTykvdRuL5e2QzMtAKtWlWXumvYZJcncKlkP6446mIuxLet9Jm64dLdyFSm
CxkODj12DwIstsc5NfRRPZvveEcjs6qU0K1qPWmyVVciCvE7LvenbabCXsdl
WQlvBO8QmtsqpcZchQt3gRBi6V+upVe5dZXeNRuBHJmslZtdN7L1lWiqZCmT
vOKg83oD0ilTkn6E+GPLsQpL2UJlV5umupa1pFShxDcZhgiAog/J2+SBW8oT
Rfu+9WNxgAvfgeHqrRfaJwRQ6NGBfNEdZdm9/Gd/gjNPNo8LXSlFEJp4QRLX
2WM3oln4GW5FsKR0+Rdp7mtwOV1OPU0iLMICWtgRWVQmPPjXMLCVyhzRWLm+
rpp6jTWFJQxPGsOVw8hLkOwsOvyR7E4oVVuaOEzzGvra2k8YjJIsvPBy3crm
kpDpY/NirR2J+MTLrBwXYg+4qDRNuon1BMuQaWYvRCTWY4dusXjKJ1PKtY7i
1qqQDs93vH88V8bGNiAgOJ5Fl1VQJoS7tGCjPBnKvFO6aiwVb6QyVORKSu4h
EBRZJESm84D/fPJJ/jOeYQPPvYHn2m6WHYKABKFGBSvj3hMcx5Pnz7/XEcGa
9uHDJAgshV6pM3v6jJwIusSQsM+yh3oh51d1pRJMJPEma9G+rBJOq8uMY6DP
Q+dPpBeYEcEwcRjxOn7mlZnvZtkj9NSUJlaBjIEoqt3g7fG7U1tckcdkcVN9
zGW2qidoYjZRzguC4XYpTV7iEY6ilLMxyx7rJM+FSOFLJVH5PoOhoEpr9RjL
Ac9At2fXi/Ys/zI/zO+YdfKX02+PH3725O4s+2w2yvmwhqCu/FKnPM5BdXWL
OVR+mMpHhFo5OU/kZKxF+lxD7ZOHYbrFrFQx+KgQZPKUScBCo+Q99ENyew6F
6s7vvwtjm0bBCydLv0NbHz7cvf3oghFBudQzDIo2ri9i/MFHQBO/SIYkYXXv
jqlOKHvIG3pd4RD//vuoXVaernhG2rmQcd1K1w2bGUfyUbl1ZnOUzZWmyl83
S9xSWdIdxXej4euyhDYq45KR4DdoIqWKEKRP9Xa5AO0qhJHKAX5fsut1/sIs
ByYDk5GOHXL/GSeEmqwIEK0QZiWZOMdC5KTv83JZ63pRLcP9oZehKzmb3mXC
KkKwuzEfBr0hGBcuhcgdU1NjhaQJyavqtXNtuQSLsk1unZJHZ9mtqTQ8Qb//
/u74jXc2VERq8DISZVGa5GCqmUEXvCs2Hz7oKu2UvRjRltNMrSB0T8oGhkfp
aFUI3VGtXRbrvBR+VIl4JH/LaKAfXgvHW3e+RMKKLqt1sZzJGfSuw1N6yE3w
AMfVCcqF2wRXlLSzkv00iu4j1QeFyInEvpF9uip+g/xPEpOwBb0yIqsqBbiq
Nmjvdutz/vsnvjZZ5ksbWQs1I9ss0yuKgSS8gqPO6Y4sjxwsyNTYaDxk8gCk
zsD8VSBXhU1+S7h/om6ozsYTkoXzYgYH2QQhsbdzRBIZiKDS5dWRESqjb2xQ
v9HDWK5xS4XVJWL7rTYDERCMdGLdqYA1UKehT1IlqFxbbkVD6ZRUwKQmo5eZ
O/vobuow7pY2gG1LWtGW0iAPszTzB8wjc+Ew+R8f28I/BuvwR/aHaJzhP2nm
K+4K7zoFc2qQkFH+yI9VevrNRXHVZ2gJ+IMemkZWZviWNPlNYH09cvDHPov9
I6cXt0dv0cIJddqlizx/uFnbesV7Q/XwnwK/RAM/i4wGRbXlCpTuddI/gtf9
2MXD8I7wV2FobYn3jveseBORIP0kYRC3GCLRWEpXuVetbMCCF07eX+gKBnuO
XOEyIc7hVGKq2e9H+SeisE311NBu/OXB8+paj73c8iVoFe6X2ibkotphSnb+
4APspqLZL+sd1+vV8b/JwRKBpO6uZjJ3cO2qox6nVg80M1h2aQ8MxtSrar3Z
0pKZmqV69ynujhtm2Y1xdxXjhZdHfRtnH9wHtA1C3FHfHqacCPexRzPcAjoJ
KouR6kkWhhIvMCTawToIDSYNx3r0Vo3yFlX8GmwgSxnVqpQhrqt2BUF4vtwu
XP1Jhjy9JLvBaP01uSWV7KNaFanM1NtF7qqvXPil0P4FIkJkWX2phLbXzVTI
iUo+A4upq95qt4EZyKl1cIQLzQhfVumepW5q6hnCly9hlpiYswGLJ8d9OThP
cm5g2DMZjtQs67FX0ElECUSquI5yoMwMUgyO01Jlm56X0jkVDaxKB78v1pdb
EdiVgGJBYSBp84NXP56+O5jo/89/eM3Pb1/83z++fPviOT6LWPz99+FDZk+c
fvv6x++fx0/xzZPXr169+OG5vizf5r2vsgM5Lwe6Ngev37x7+fqH4+8PMNf+
6oBsy10/L0niGxFjOl7zzO3y5CNfnbz5f/7P4WPZmf9L6N/Dw8Onsj36xxeH
n4NAwrStvXGl9E85ZDuYuUTlJjeSRZ6L9NnRYCmkpL2CEQSbIAt5769Ymb8d
5f98Pt8cPv4X+wIT7n3pa9b7kmu2/83ey7qII1+NdBNWs/f9YKX74z3+t97f
vu7Jl//8FxpIpodf/OVfMp4eeNmXS7AeoRBvGphVhM6LYgAbIQ+RGgdEhVnK
OepHnPA6tsqXN0XHHYVZcW7K05PH9x88ejI5lP+y8Plz7lP48+nEjBAuoq5A
GJoc9GhZbNqBcAZ28/LN22xRtUISWjBMGHjPQdFllDeV7LIcJ8R1qOlQzYUv
3n3NMzAHgWYEBn+Tk5V//gV1BH58Cu5duwwW+Xj/1EKmRXhX15UuQa1rNV+1
kVBgVZ4ltqrqOjArE8qTOZhNmuN8HoMz3GkE/iMzajawFGIiB9iBLZV89v+q
XNUHpkzTXpG/K6Gm1cKOd9xo/N3mL1cwqMnSRK+KiBNDUrltTQK8qJfL+oYU
m6+XvxawgqU+xGq9pwaC0maqSOhTE/NvUFcqf+1AfsktyCFXR7e4MFR4yRLb
QXyuS00KJtJMegr9ZEy9n2R7RuyknciIT82MMjFL8yQaW9w6Ncl6UrwH8FAG
xRZKa66vZtnPpu73mKaIVLLOB97ggQoU6WquyoICosvAotAewQJ8tWuhT2E5
18I+w9/S4AqeSQqV1DpFbU7cI2pc6bumsvMSj0fFDWa5xAhXmY6JyMVy9vGz
JOLq6FlSMa8f5TRYPde6J2NOQP8Sz7+Iuo6G/zGEoff16DHNEolapvED3Iic
2EFvJAeqEofDDcFv74SnwjltTbShdxX2/lz0YRx+tVhiV2jmcOHRLr5MRR33
Su4GZC7zs6Fy/2CAsusH1BH636d78zx6+Ht2nywLUv0LWCmPsiMeiYK2gWjs
15MTYsn8LHCnB/ZpBE9AUi+geSeKqMqCdBTy3quTQ/8kVVyXfrDYHhwOx3l/
eNIibPD1Vk9+BVvzpdp6ynVfuqW4pgKuimRwXfGxRNYuYQs632Fpy1+rVg8Q
reNkIIvqkvr0LFmmoPz4Upl/g0Ovz2EYMy9aOnCzrQjpuN1Jh8mZk2VE1TIe
Ye6+SqfBO4iNGh7IChZIt5FHFeNMhnBm9g8zpZ6d/PzulxPqFGdg4FA7KYsW
MD5AdV6ViH7IrY/Pnn7O+/J2T1vBghzvz025ufuuaeM/S2Km59Z1sOZJT0NN
x0wYaMd98bYc4SRy+eFeCDsrYxwJhbBNGzMSawSLLtYtporthva+hI3QgJbs
drTPy1rs92/EVJh+JSwwfP3MbFbNKtMAo5ZWvxgPnfrvzRXfmx7Don1y0joJ
dxrdsD/AXpyHunjkistNX4ZVnshoREB8nxwgEcmvp3RonJl+w9OXbtdg5hqx
zXljqaI8OF1KO8s8RKy6/dEcROoPEzII2qO7ne6JtGW78mk79ESnNkryOZ7Y
U6Urr4xC+GrNq43QpU7EENWh6fpPDlZ9qbZMCoiwo0G5E07cFbRCY8BqWe5q
LFeNwH9VPbANuo9Cj9tZPhhArs5CN3CIGgiyKWcq9RXjPJSVUc5w/ddm7Bg9
pOZKbtNLmnDDSLciaa7cl+fu2wH1gjVcprEsLMTHRALj4iA1o/TIeasGNQ+Y
9Z8aRy+Iy+3Ay53xiDgWBH3aaD46FnvhgrZ/BpSs6xyCEf3t7q3gskfzpkj8
bmGu1K2ATQ2ebZprz2PMURoRI73gO0rgx4lVj6z5DdaT81aT8cb//qCa1jgX
CDEfDAbk9UA8mVneGTpBISE1IiI4SebYKneJUnygENB9W3NC7fGuVqYrV6or
Rfs6xFF9hJyUXLrjbnGx6bkZMZ0jChLeUN+cO2NH8m508rvYxxcfzoJ8GKxY
bSIZatDLiC+Gbz+aMcx1z/Dk37RjlnQP80RAvpk/J4yN/u7VaT9sWr5mPPHp
d28n+XdfnU7y2Wx2l+8/nuVj04QNs9ltZMgDSgBDOWTvlRy+1keQHv+Jpc+U
CX+bqnTCxz+bjR0WxCos2nyP2U7Mxlup29Q7HHLuCbTa/MtE8nd5ouErT2a3
BJRaJNGYuhWCiEgs4zyHSphHkxbOIfn056PTFIFZLq5pqM5nzXVkKqPPMAgl
d7brPVlnWZwLO3r09PHdiZ1Hsh5/eVTX5I9fqE+078RRb+VgVPXFBQ0uxSU8
lLyt+80nS6lRvjhtiGTC/fvMbY35F7SWWezcqNPGnb01l6FVg5j5fuV/Xoky
2d5KaXhEnF46Sx471ZNgNc9SPUbegsA3PdcIl9mgo/RazIPrCtuGKw1DnOi6
MIXgiWc4qvIUA6Xk6Itetcv8DQspNIEw5SYFGW813y6LJp8Lla4XFWN91D+j
bBd2LKjQ8UkN0PwHcjidVG5QKjQ2REQI6iQ0jblDrOc1DJFROcO/Jnj6/VpJ
b4yusRu0mJj7lwt0XmZXNCdrK0mYDDxJiFz0zYoh0UGK6ukotD4hIKSBmmpZ
iTqr1OIOf7wcOSGjkDSXFGz2EjCTdVkHZjC6yYjLgQkKRrLMJL36AtFxCxF8
GNU4kUnOC3gTECJ6BWOCjeuy2AQ/TU99U+UtWMVwaAt6zfAzvqoa0+I0ltZt
/isESGhTtdBcRFJmg3AL21aduN7jVU4bsBxytSpqPHatmzExwSM7SzwZJiS7
+BCDAipYw5YMUV7HeRfJDDw+Kwv6dF9U0okwpLktlxfRE+aCgAw/eSGJ/BiL
EddktNYkEVCVadVNqYC0H8yGAzuneirkTi93Fi0cvSA+C/V+CPNQ8QIavdIE
9bTAfZF5HKy/o3GEcp+X1Xu0Jcdy2+5LFDzfkJURBp0E/2Qrtc/CW4KHZnDb
jcxSJxQMQmpzkFN95C5od6iMKEwTj+GlfhgedIOgKp99f3d4aJxRdlnyyKbW
wEy8SbFmPLrW3MmjMbyeOoJpysp5xBeY920LwhsBLwJXhpGMoY+BGFjPGYa9
eJY+M7iJkKNMdHdpPcgPvffGAmj2XaKJFcFsZSs569cUkozBLiyQVdvd6YMX
xXWtkdLPxieUXCTsm6sM6G7QsXue2kFL+5FiZlAZ18ksHjJauaELI2jLGOPo
W9GtDrYlHxq6+XqUjJGraizbI2HusUI8UKscccwkseaw6HGTfbJ42ZWwW0t6
oQMSogwteDdVa5kCngkhlJY9NaVG56bx2GHUbfBW9xNbcApEyGmvYDjWbKKW
wRwet5FbJj0GYIYh7VatCO7aLfPrYrl1L3tqb1HhRaWEFRVZZ8ONEvpmG7Ra
3+As/iwUqoZBBtyrWKvA03VyJLadMi0ztxi3Xsk9bitjDCLGMvfq37dV2S2T
GCy59yth0bCwuY/NiddF1bT0mwmRbYMIQNoLtnMjS3yVIWJqfTnpkU9LksiL
JRJl1cHErpLQZ3vQRSEIFiJOdeohSm9IlHDBNuS+lEsZJ4jI/iPay57hD3lf
iV3yCAE+xeWlPIM4zV/w/KEZ4R989hBRXEa/LHpAJoJt765Wamf2Rx/RpvAf
//Ef+XyxWAYbxy+x5y/zT57MDr+4E/u5G20hv7xxwf+Xb1Xw/zL/XW7j/7gj
/R3lh3fz+O/Lf8G1mPBXS+T7RVEFHt3lr50Qgfx+vg1PRWuqNPXZXW0jdB1/
xdN/keffV4uj/PHdtEck7PnPv34mIuWj+Lv8zEmdyJH5tmiv4nMW+PHo0d30
uX/97MFTPHPPtJu8Pzm595PsQ7I2cYBhVUQ+5KrYbHWawtyP8oe9LzGMChly
T+4m6xY7jt3J1umN7dmehxbn/I6+iVWsRvyLNESr4VTVWheUKo0jkLY95F0j
rR89fciTc+wGFHI7Ui6NRBkMiMeQ7h41m+MmnsnEzxgtEPLYznfBNs5z/swb
hZh/lp6aM5CEs8QCer+PHcIt+Kf5ed2cRSO4XNMCJvDgukgt6ar5kiNb4AA7
lW04c0XBM9Bwt0gygiHLtTXeLunwLJoW8H7V7w6zR9CPZjB4/EqYLLhMU1Kk
up0LQlSm93HiGRRk3rK1zMeW4yHDMALuzFGoj9v8VTa1uACzkf15f8BkRIu9
VsHYpVtVIWgBpywa4ueZrgw95XLt8fPD2JWJRuwgULNoa/fSIoNr3bMIKmOh
SfClztSn4CKO5gtMGAAfrZAxPBm6db3UlNKBB6mIm0qxNkbXp74Aa7PSpADI
wKqTztkFBc7zkjFgZpk3mXfd0yM94uo9UwWFM4WhJ4aidpa/Kt6b2pj5TKMa
DId2awpDmKrLrfrIsoDKELMxY+MTufFkauTALpP0zTDIOlENm/OKPcdmlAuu
ZRchbmSQvfFTk0TkyUZ3NSK6PL1mPDL+nepc2lJMkMoSHp/qMnQ5Up+xODYQ
J0ak4AzuSJ5IcPSKnVNApX1ak0zHls0Ufr8HGh+jTgM0IvcLN1WWC9KBNq7p
BOud2pItR4TmYrJw3dLpNFwfUBQZyGrDG5XlH7EMBVeOeTTUiIBItd7MMKRz
LPcW3lpNsYiZUmNz0VHSIiQDuNwK0xA6axEVINymRMGQRH/aBoItO0PQYnWx
s/5V1kieqdBgdKGMjVNd9peWuN8jO0bu5dif2CdbS9szWy3LjmOK8DNEberD
3qqQLb8qbbVUOZlhrBpI2kvb0TRX4baIcV/vPFRaDgriJe2uRrFXH2ciLPN4
9RedYxFlXKXPS82oWwtdUdkxLDo26bLsPPPCMoUCbf4QQ/HJpnKZxCWFukWW
5P7mm7bcLur1blVv2+gItHzjJNzUBHM42rACyhbeKGc62jdwG6cwh2QiK+4/
qVKOnFyNxx/+O4QMwxswhaA2+AdJLZ+11W9lfueL2ezJ47uT6DgKFvrwmv6J
R9TxMHWnQ2x48INIBRd4Xu2CI0Nw4cuJwDSx+PDZ5O+pe6zwQmKj6reZhuFa
78wfhSI67D38MKXBAc8KF4K6tL+S9kN/gYqu92CkLJQngxG+P6vbpoQX3Dnd
azZ+PYU3W59NEkjSh5Ov9Yjo02YUnWrA3siO/iVqVf25+w7dU11h8C+RwZ8h
wDrc/576k/CqwIGY63bsj7TyuqVM7QYu64RaUUNmRgJIiamIejVnmT3zZf7X
nIoQBHh940gP+t+yLGyQPPYf+CPLRk6sXSr7Jb0EvfW62q7fT5kApz+6EvWX
JO4BzR313yMPqZujwQrLCo4dDBuL8IbpRbGqhKumm5L4GI56w1uU59vLKbIc
+fx5XS+19/Y62d9kxEIqET3AKxoVOAdq649zcMVsiKGzsZuIH7XJorl1ReUn
jQ056p08/lCuzssFg6byZHzyQxAhB8vsph0jOr3GGMhktze5s4OpYcwyt/9x
h1feTXuiS4KkJsN5mOWJ4RQQiKKtD0iLr5Gc6zolgvEx/UmHuEaOT1ymdFrl
pp5fRUIal8LN51NM6GgwrWE3Pi12pE1xVrFxTCq0gTnxYd/gx5iiUcS4REYV
k+kd9tlJedkUXDS0DgSAcsAQuHQDcmdLx2/Tze6vi74EGMG9DedPQv4upgQ9
OLJjjws3JJbWlwj8i9uIKn4brDjvuA9m0Cwe9xWChXkawij1IFksNYKr2ePD
/kKHVaHNIWZHLHLV8lVaYjq2ptCuiua9kEY4aem5aVNdf5YzYb1KtH8VVlXn
owZifj/8rWlojP2EbVUFQQjwIr+cmchxhjCYr6tfifiUH1oaE6x9vcyO/I1Z
cGOy3AA9QxhGU0L4wpFJ9M1VBT2FkbpnLsiw0+N1yle260oURBedeybcIBvT
SGpKSxiHdDfwE6i3ktHs25b5RS5Mum0v2bQIJEMwCAabcasZqRw8SL24M0cA
gdlVyYrGp0JGdS8Kx+pCO5NuTemx8GRKvFiTobR25nFJfQk/+jmCrF8wgoLr
obun/udFYoL2fPcXqtFbEMcieCdzpirDcWx5A2aEENaHHAtrSHTYZeLxnSHY
qafVecMYT2ha/THF3OAs3J2oCx3UmXm92anOEySLQXCKnAAPdoNWs9kpRADy
rDV8whbK8XM0wdo8DjSDuEBj0bELV2JkpJatG023qoymjJm6DYMsb6r2Cls2
EDm4Yz8Hx1IaMRZ3De3O8rOeTHJGsJDhnkCniiGByAsSaQPrJkd+eOvg6Xef
+DC6L01gRca5HVp/BS6X9+VuhqOdSjtnEwvDshWcxOwQP48F1zdgh1oSiUMk
jI3FwipG4/Ce0bSYpIFrLn5I6tvrnvaP4zcpfKkmOmJvgqYS7lFCZOxli3JI
YUWSK7bjzsUgDb0ZkMlGMvcuGE3jLS4t202tXtRs13V0rPL/NIGd06Xm6uOl
afhsTI8KMwnp1UG4tAn1QxjHpuS+U/SRhgeg6W/rG6UXCOEf84tyofTY9Rrt
A531pCy3Hid9qaPsLIgyvb4hqiAyqW19TgH1oNc7QrDHhgiMprzny7MBhO7Q
vcV7JvYxtbu3+Rl49lmMg8B53Df1xA6i4Ge29gJAMz3GV68qpQjk4ySaOYNd
ZCIaucyDrgbTy600StuaWcNIDtrq8kruhxI7OSfSoA200ri5mLGFpTWBjgsb
+Ypc6LN9Ge6Mlu8zFeLOUtOWGfJdIg6SXrLvHdENWgRaR4uGmXYMpEZRLWA3
2s7n6kMO5rJkyu5YNoM5UufWjG9m/gMwA6r2va5JyM8giI9GgADtkCYtgMNQ
3E0tzoTYMvIxL9pyH+gARnbNaIVroCz7DLnojLSb52MoZ9TwdhNhadMLjxaO
Jbsyfx95aoiZBR+JfvR30VEs76QBGKNBiWrNRPiwxvSQKjEALx78Vo3RwZI6
JqeRK8zcsRoox0unKmTQCQP8Xo1natRKOKOIymfJn2dGDCxW/sWLT/cC6QL5
3suROsrfnLx9kN2CBPz77wFNGX7aV29f/HDy/fFPLyiuMmU0P/3mXzWPZ1ls
RXrJXr04Pv3x7YtXL354p/jCr57npy9+mp7+8Cb1wZn8IgNX43w62DE7RQJI
FX/LxkwlQ9M3xZ2ukcExWKspp1dwoOabQkNIQnCD4qAvYdWrgneoiVnVLgKn
vvdbQXsuAToHxEBZ58uoIBh8m5Igs3pei4D9VW0Wm7gJ2JdwqZJVHFtocITH
Xwi36dDtndNvj6eAaHbktvExIkpjUWyQdZb5+qjfE6gi+aOHU7ZndFRzJiKw
lEdYCE0vjSLAfdKIoIhgyOxcdCHRqKi7ETCAJ9ziX2WWdkiNg8seMz9UWSiz
6BrPPd0ul9njL2wwGuxhN/XszwBVn/XDtzM90w6drWkr6elL+Q6i+3UsizR2
Nxc6tKgbnUKWrK+F5qyDpODOqTOXPEO6k/ejNzc1+2WJ5MTkzRBgqZMnsa7l
NM5xCmkwF3ZU0HskPy4ZAFYlmkWRwROGMLyLMqbbqPjonvWIFQVaHM1g0Qe1
qTdb1eVkCt0VtmWn4BD+bE8e8sj+LFlbM+cb5q5NE1Bb8i6gDpmcP/2t9NPv
WpHoD+bCLNLm+ih6QMZ0vyYbW3iNkGRbDajUJVyU1GgtflCWNAmBTyJS4brT
oLJeYmKSxaechUHjt6wGoqKFsQur9CwhY/fnZWIDe2bdJQ6ZSZYGHaVQPil8
rgIWh3wuaWqrOCmyVJpG5t7/zEMgGfZbudZqut0AwIUpM3VD+T4aOikFOajA
YC61Z8NHxCb3ETkwpQvclwyTHTYVLkTiBZoyy2ThEJgMD2EPWb8H/V00GUvb
txOruugzBjbD7iaPbenhQjpRh5+54gy5z0J8pEp4amCgC296roldYdGJ7cgQ
XNWTQhK/GUgS1BTCSDY7g0srrusKebPvNT5exIET8EH8OiZjK/9PJXrhoyPP
FQFIDkao0eRE5jEhkCyPcbO0n2RQAgwSG+3QR7iEtDDholHG6xV2UcqmSAMe
Gxt8t1mahDQEl3Jg424MWlDh48hz08TXTJGAlpr6gKPMkACmlUO5eoULd0iJ
21Whs/xOgpDhwSZ3KaQHY3pC3jxUMjmEIw7f0ZwjTVO0GNQAuzNjP2qZP0vu
yG09rcoF0fIQMvSMdP2FyoVpp+/q9x4cz+f5dBvT3T7/AimthQbbkAZKiyda
kADQHq9EJ8Bq/9zgrodAvaeAUkGYz3nJJcUxVeGsyNV/Mi0u18Lj5YqI7Ksv
q0wwdhRjwG5iClUpEeDuKaKQNLdtlYgTKnZh7nrpnP5zw3daGT4MIiur8prE
UM5ctEFhE8Asw3akoaDBZqWNGJyCYsVG+uVhwIRMM6QxmFxErK9TGPcx2f6i
Wnvquo1pU1dqBwMyKm1y6/q8XsAs+L60jOBENuvIFK+UJPA4P5Tj7P6SMz+2
4Yt/eHDH9kUu67l8s4JWzEsZAwRGiAVoWyj4oJFglsg0jZiMDnTG6Am9KMwu
6ULSyNhAAn8DJ6r9ZDheJwNcPCwFIP1KW8tR0T4YrHh2grmNgbKm9rU80bcM
BWcngCYnEUyoGgAr1y5PoFzoQlfUkiQFMwQRJcKUMSXIlykZGO4aKzuF4fvW
PyIlc7EgGKJGLTD9APk9EP8QTh1S4v4Enr9ei7PUTXg2ThUzAxneg6m184XZ
VA4X3ZJeA0nCyKmyAIY4KiZWHuta9IOce8Bmc+MPHukT8kEMNRNSeb6n1y8T
qPKx495hGOFCtqR8HlGoQ7PINw/P76f8GkNSYVAz6AIjgyVJbseuBS6LWwql
Rc9yjduGUVQNoiaAFudyW7B8ogTIeVMXC0TQQx1FOOHawvCwluSiGkGWeHJv
Yz9BBMeShJTbPgC43u2Ro7cXlxU4XzQimoAU06fUhI2WR08zj2yIZaxjCYmE
UMpZf0a2RvoUU6s4hlhHI7yhoXNJ6Q6akPvmP/eDyHuhQYOBHdIb14Pyfr6X
BZT1CLovwyxNb8ZsbhPfYvDbPLLslbLsNoZAB4xYDVm7WIYMvZWBnod4LlMY
YABVrC4ERiqIeBBVyHPuDaS0UTN6pzaALjEpjR2MrAf5G0upBdScvXpqAZxb
4f0po6pZ+rqeF+fIz6zK1omN3MwtdeimNFjHFSy2uRVyS2EgRHFYa9xCS8VD
hO2vgwlZJetoqs5SbKBQUufwQUwGcopV7Gi6jHZpjise+1Yt67ujrN2t51ei
BjLvlObJdqLxA2YzZfBA/vK53KezQfTDmXtJjQzA2m4Cr4IInWlYAtWoMzZ6
ZqlcjPhbwnZWBp6j10OI8OETNxWZ243p6fWliHVXlkLaao0s4Q0LBolbDQyu
D+oDarz7SD8RRYch3wkITaAvAFbTrxTyNU8hmZNz6UpGuHqx7Tk8EmtvJvW4
Jg4uEME0JORsaHTsy/ZxIilZ7/2S5UbRJolDPr7X8zSz2ITIkZF4l2vHftVi
BON7WJ5NEsXHwELMvhDy0Ma9NGXW86XRggXMJIUJ3iUjLYKFvlFduRGBvNip
kSPajaJS60A0bsC0NYvQ2Au7cNrQEI87+GMyM6IykHx5ZLHMY0WvnG3PtbZX
b6IpRNaVF2DwaGuzsKdxfvQSo1LD2+AY1rufwkkjUCL+2TNNOJgyfCPn5J5+
pwZ4lWcWt8J9hJ2jH7sSJLnooA6RAES4wtOyplN8SJDDTESOz7pDJoTbjYrG
enB0dbbrJUjeftyDwrm2xudjF3Y5gpnQELq4AcgtcUnKOsU2eGpmbgg2we6r
lyY5WY7KMccdjzWuGExEl1qMFBlZs+Dr3xQUw4qQJZRGmKgTfjqFVIaA4Xai
Hnk5aE3HP2QO7Q1RZJGFtBQGLmfoXG7AWRqjNK5qBUZvod0cQRXKm2ilgqT4
QtnzS8F0+d4ByVMLmrRG+9ZS5Xcil1PrvKbnw/J3cMXUqcyDhhX6oU7Draxp
anhUK+RnM53HlCpoPg7K3gdkT5uKOA+QgiNIvAHbB7OTBVYzKIpVaSDu3xRr
zXQgDrsfmVrNP2guye9W3kS7+VJVdcUT/7gXI4J/Z2EummAeJiMTqRZeS0Ee
bUNaamiqdbSlZyFfJEvPUniPVr+AyyvXjgh7ZiaEskO1Xw0Sa0RXxWcnGWiY
Lj1wQhWN+kBTYbqrFPjqwNJ+KuFm3XDGKnmsmP2b1Z7B3KibjDXHcC0I87Oq
35csfqeut/9SmnAKti2twwCIOz3LPror0bBg8PoQaEEmj6ihJUlGzLUFyqmI
s5UafjtilkJCnytJVMSwV0Xzvr42fzcs/bTHPjIMezCnpv6tXMeMZihhmeyi
FnBjbT0fboI5BnS1Lc7JuoTg+Z6qWwAmwuss+aPHaAT/rnUnzy253MtlT7tb
uY2CYJEkt31Vd7QZG6vxxHOYzCxog6QFtg4vvtD1aKWaKSqtvHVZ14pJNcRp
C6kTRE1DLTVGD8D/OoYgN14jr39+FP+NPBMZbZmbD3ohfWkgX18iUxy8clFi
HHKb9uvg8ABa9T13k/Zd9ybqRa0qseQoioVBrFFomVvlQjqErflhg6nD/3JZ
nxN7VdbiSAlkr3hZaoqxYg4KxLIuox1iHDVAvY+KlGmoje6lDqcngSpiQA3q
RrTUzIQWlH2wgIGekrDtc4CRXJcRT572JIva7K1xOvVezIVnNrLoliiqR73S
B6hx01QsAB+zFn+Y9Ju4rsqbkABqOVLkH3KO1ZlY1YnnBYJP0tiUZZeAFVMF
eV0+wQnYP21m2k0sPDHdPaTHeu6ayOjTakUje1f2jqKefjV72fGHlNEmdmVS
nkjZvVifnjao3+gFXtlY7YpUS8aZgPDuGKBAXYcpdxDj53hL+ONlaebmUSwG
q3iCNUmVGfm1qBp1iI0kHe4FI4X86HQV5e6o1D7mCvXyFjCoENBAA6U1H9ZW
6xbDykVxjqL13aA7eCKWFDR0i9VyTmttfaFVgvpL4AUFh8QhZIwOSqwGFVPX
TgOliku5RJxSgj+0uhWI4p6P2SLpLWt8EEK/H+PJUD5ExK4rPZIXDOjrgS6l
R6+nDiMl0QoFFm3EfsGxeL1mTZ2zfvS/Br7u6frJsR2gxSgNF/q05rGMTkOQ
/tv4VADCMEBaHHUZ3FV1XlFicvRCBK62+0Nk8EkCy9WG+lNhnzOUGN7ivpjg
ZawGpwSh5CC9bb28ZqBIpP7WUjtALRFVRbH2UiYcorlijmllucQMDW7qCE8K
WR5cy4tjVWvykbaM1W9jK0nlR0CGlEnl2FWA4xgRw5Q/N/rXB6q4X2nkb5b9
OISnndzOW/YQ9np4HQ8ZD5MlrrMR8I54CnEC9VfTVVRWt5sdAPoqkq5bzO5G
s0eA+ZzOltRaWV36LEEmvnMLcN84Yt8QliSFEkle+OU/DSvyYxz4EFjER33E
QSLp76/5P1n2KOAewhb8bRTP4x+CeQygNV71rqe3bV5dIzmDci7GEb3kt2sh
I1Iu9ulP3H9jHLr1MPHsF4Vt91CEQugrbyQKQCOlWUWRiKC0MLdJuMaajhZu
zie3I+/b7UGhuFvrofsq2Ej3ZF4bpBGI7KxfSPDsY+WV+/BgWGRmccbhZoPh
xvzOmN1JB4Pq8IcwfKZXNoAscsdN+STzps6qrIH+LZhptBpiuD6f3e23rSn0
2d51jLFoZ8Xy8sx8hNeLTdLWk7sOY7Z/n6kB7KLA2huc3nVtBvIc5jN8xj0P
VcvI3yxZgaPkNofX1Ig+9de+zP+aMT9SOPsUydua0cbvhmlu/DJpiMXPwuX9
W/a3CGbjQCmKHx3HnNBQ7Pirsnm/xKURHvAtYey6/CwMRVczi146UYIJ8TK7
9bz6TUOkToJJ6N61oA/Md8nF0xvkkR3pMyPb8BB7qRscgdgTGBpMa13KLc2G
k5uNKJiQIhihYQEVLYRmr8GsXs/NtiFLnE6zMUwP13QDx98BKmtYUk3jyvem
1mb7/hoqKRizCpWxfQv11AhyFirx4mHhFdAABMODfvn6KsUysqQVwtXAYPql
ZjoBWkFBLQYHPPN+5YUalSsZL6Kh4/V6TQQVNeR7x3zMsA1XCA1piDhaeVSX
gkDQNxZ9J02pxYx3RGZeFLvxElmK7EO/zD8qIL9f9TYb4N0HOvrMo1xCse7E
S57IaqrD4n6diwwIqVjH8NPzU5VKLks5XWuEHicCXiCgJGjxBz3cbh8M96Cy
ir979UmdcU/n84upeRU/fBA9RA9crF0/XDUIuzMmmyYVRqm2ISimXmj0554J
Uy57tTSb30VTXHo8Qhao/wVLvASW+SnC0NflRRWgONLir8T5oK+SiMFoaLzH
YVFuGOk0MceB89orxx9aNPVmY3BKSV12Lz6W4CJajUSrhtfDjou4sUa+6nNE
F7lsSIKZFF0aMfmzcJrV93C3lpYLdJtNEN29pIqXCKR91aIjqy78XIUCcICq
syANqgUBMNyw+daLRFYK+Lu8oNRQfchaTbRfjprXAoi1Khu9J/4QT/05y8cN
gl34BJBioGojYM/oLaq2i3yUKKWw2szgub6txm4B1Pf21urFtdUuDlB+SeVr
nTEUhvzhg4cBoI9abprg1wO68o2cmBYGFaVya9Y1QhaZDdYRw0j9yqn3SqMB
mZ9krnOAxLhuRTCj+VWN5fbkLOJW6Xqcw8Gu9653pjARucdz4Q341aPEgEbL
FjVHpKQ/FzOF0btXjzaZlbkCG69SPyfDMZ3SwrMTT2wBWSiGDInaWi17Y6uC
uspii5p2urfGGRdfSEC8Jo56Z2CP9YoIncpxSPGoT45Blp70i1tbGQL+FoIg
eiXTR1sJlXTLmGHRP2WZn7IShtc5680abUiV1XPeZkZqRfusUQXUtao3hZCp
zOVQWf9YhiORpx2tUvnGMDcU6vuWpmUtWgCeMkBy08xuDXof6Iq3CGF6df6B
ykCivetj7Cbe/R4sudYrjk04qHPVxspjIZY/NyuX2rukZZjZLLPaDJMR4Mqs
PAHOdgBRiOiDPwVRmJQsN1kwy4eghNqBQx3oAVX1Qg0jVlUHwqbMdb1o/6GY
S3e25j9imXRJ43LuJdzCcpolP4cE2VtjKCN2sAG6KTs26YR3uo00U9FhQRb2
CnDx9KiFlBGkMGZ7gOkwoC9r5wVCHc3ubNJIUtOpfd+qTc/oDsdksLKeS88U
edIXzZkn1r3cR9RBpMxuQRsaYwafIu1zVidMluc5lQ1S/HfIUp3WFxdGFFQP
GRCFwFGS4EkNrC4WEYIdumZwSKrSkPCJLDlAGh+tM3TFx3/TQQOpraOTbiV0
5rIIWGFKgBhqmwk/YKxKOxaFS9mgMWTcRQUQSgYsp0i7wuwZjoxoudk41nMA
0Vfem5Ck0qhPgppwy5E29w6D9GMSO5cNBQlMv0rcN5Ddxww3tlZ640eKa4XG
sFK2FAGjJMb+KNXYbihMjc3aOiOIu3uczd0vOlzwnKzqNJhKiFIbZ2fVQ/X8
IioA68zqdia1wffE/JLLrbMlbDzzEQepUx2zVBi6kcj4Lsgi+vWPnCWlewdJ
vnpeDr/aq+89uunX7oZDnes3bt7+A5bsaO3G23ARerB6G4mSSdt/5P/GStk/
1Ll2lRINVVvJ0hEZI5qNPYmXJvGsx5ELja80K4zbqyVD4OSQpgsmZf6Rv2al
hVgUW0+MV8U+iemcpDL6q/sd9kHzrHMWx+77b6xKt8ZhlSmEXxreEoNLeUJq
RpqH3P9+HU03TYqwc235YLZ5Y24n5j7wVkWFIpz+qyI1d6tDalinzgEck4oj
iGNRGvl6HZH4esIS8CN64BdW5w4gSmcxbibWOW5DBZ51nerPLxNgUvVC/+fA
MtSWUg4KiXh8JNJe98shhUIfsZRbrET1IYXNvQ3zPhuFQ82yH4qVmmlsOFUC
22FK8TAprB/o6tMI6fstAm6rLlZIuQ0PCeHNc2LO2DFAKLu2FoFZMPTk8Li1
p0M0T4SeTAy+SVqIdUsnOYR2XkCFT8rUisUIZpnZyp2PUQxstcBIuYrH/iBu
20HAX9XErURBCAHdFOl/StyPbtpOPZIQpoJx3Qz/AV+95x4ZuUshWtgMisby
Mkv9mZgv91YHU6xdhGm4x9NES+Z1cPn7SDWz3pAxBKHih1YGzGpCDHHmY8kU
C7ijxy8VrtM6mLDoEs97lj0M7RJq2QVXpxBHiQd5dIahYwtdZNOwqU9sJA7L
1PWN2AWWP8kiD1JRXcu+PvLKsGOWWxWCYmrMnvwrTUDsuaYayWgcjCox8XYB
CnqWPZ7htrSjMoPSUi5AEOBn2Wdp2dqxeoZ7QxtCLiW3LHuStjZq4xlrcD9y
1drETNHs597sSBwS44PN6e5HpRdmEKdt8WWwInENbeAJ4LQ6qhzNqRctcKdX
ffLuLPsCgiT9Wr2seqrrlgA3iO9kXYq9++DeMfhWLtTxa/VLYI0eK5qRxgpk
ofDRSi7WsUXs9AC07NLoMZgNUOEnecLk5A+HvJmYMScE3WdefrarQoIDCYxC
7+DpMC3FHdewtjQgw3FSXkRYod5IYwPmG9wLaZiRWihxYNgeoRjehpJy8bsU
O27iqX0ehlZ18TJHAAhN5vR6XzLOH9fRMh4GGid3Hp2YAZg1lCsm+A7IJEp2
K+zVcaKujmde+fhUdDHAtwYKdbg2COyCuy7H2aJlg9pEEYJCHFNPnTpJiElv
4MEw1TuPniJrgQQGnQ+w1JIo9RbfoMYciFg67YTf00TTqxvnFryD5Cy2RYW8
2wPuy8FLX8aDWPSNcO0xI8kAAQZlrD7sOZxDja9i09peFq2r09jqrEsJfyoz
0eYckRWI8RLQk9LgZbBJcuvnwTIfsfbehrjZl33DvGnd0ZiffTzO1jOT9mA8
ovYY3sh7IdcqdMYAaKb5q2dm8fdiXsYKfzEvbW4HLSQF4HQBjR9oID0TNjwQ
DJ9palEskdpQwtqeGxLg+Y7Rb7TFGslG+kbNEmlt1mw14KiAfu3RoHNNkKVn
uL8ImnAcCn8HYVL3ipaLJ0+fIDHeHJX04Kk4lJlcEXyXk3wjDJv6aLFQqybq
xOVnb+TafF8WF6i/4kWQPR0bq086l8GTTHXNRGAGRTZqC3HMdmD/WJUhDUjr
w7xgdJ68f4ZxkYVhbJAwcl8cNa/g2LUxWnc4m4jYSVkH65n5chk6YHL5FemT
P4p+QqNqlECYsWMbEA9oP42oqzslano9ZcswUmQrqJFEI/mkY4K8WOY4JhIe
G5aq7buyOAkEhyVl7V7JJc5PQHqA8oy3v9UG3Wh1yK33dL6Hs8PZYQJCMXDN
Y1GRyPPq3bd3fl/89cHfPtzNv8y/PT799s6DXx88yP/4I8e3d89MkVTip4F/
stnqJtLXn/+yTt89xLv8/q8Pjt7/7W788/3R+m93rUVGi5XrsiGUJAz6TIo3
Q/tF9avRey0dgRUyTcNEADeMKQybkMCyAhYSKHkFWyvkv/RG+EJUXcw3Wu6e
5enSMc3SJIr6XDhC2ZVteq8yd6hQgQk5WmmMv8cS9xGkPCuATUcL7JH63TVH
t3eBAW318LMnvCOZJ2Tfq9p7eOPPx+TMLAjmy/zQ69ZmQNWC+gW4X+9aq6xB
cjcR3HqkACH6RC9C5Ext3Kh9UtPrJec8LTQfrlLweDc4OHZJNEqBC2E1ezTk
VJhLDDybZGqZUKHEJVBSAq3K2Jl7P2CNqiP9h9r9SqBPrmfangxpBpNxgP2y
1GqOqFR+1JuJRsuPxrVkA29uWkfoNo3q03akgmcQ15Ds1JqWszQN5N23acVM
zYbi1Ye/vVwG0LsB+cd7vE5rwMlgi0O9FhLEWOHk7JYoImBVEvdBYZSys7+G
GJ5JEkU0GQQP/e1szH6rNj85YGYhYFxOFnBztZ6TZXL1VvVT3v9+eFbqg60Q
UWyIVNwrjzqJVPM5Yzxqks+jPOVtWXb75DUgFCrH1FcZQC07Mg4DJruQSyyc
tV3WSgvBRS0SwooZARpO3XYE4LaTEWIdSEtnQ4YbINkyxz6leWX/0tsaARmh
0/AoC2LQ13G7YZ8awDdQO4RsMhl2rGIu3XB1dl6GqwGUrfWiMGG2J1o4mbD6
PnKy5FCVzTQkUgUXkckLZ0mQ+P7bA3Fh4rEagwgnC8PLpg/vhjZGIp6g8mCr
GMycgH4y1YWy68zqxSJ3iuHrTNCaMrUNjHyBWq56TTXsoSnNsaISjoYdwQp2
jlz5JbC9OcHznTYXPXjTqUtI0a1oK6lBO6BF9WXBaMhq7shuVFsyjfX+e41y
UIr7YGim12UIMwJwVK2yHoUHJtKg5ODaguTK+ZZYkjh1lfqOCqDJkVjKUqki
hXa2a0czN++qE1ADNYFc4v4P2TcAmQt5u/Y2TQLmfSSEq9oZsI73rOF7mYaJ
KGaRArWZTzCxKjjPPuqrcroaURb0EISk3lesK29nIfH4qvg1SQs6W11Gd/PG
Hdov8+n65iyk6q6EOizSclhBRGQoUTaUp101wppT9l3UmwEAvBHBNAdsnJz1
hOYsDRTtg4v9o9hN9WqOsrl++Cb2cyCqG8DTx4R1UO7WQP8yjdvYDxONrg0U
AhN2LCom7RGgISSqJntdV3UEAgnJsNz7IOxwexpLJ9wvvRi4xEvoBRaNyfgU
lFmo6HEsWat1bXZh9THLAzfM5kg3sMHawNsBHAFVFzqvqDbLv/Ja1R6EN0LP
IHHJkBxeIGxilkjvq0HMqoEjD+JaQ7yUaHWk0Ng1AzlIyAvMWVUjUjN8CdOY
lx6TzSIVZTgT22KAqE4+hIQScLxI7zg3Ww+FUbyArBzOJJyJpebuKndIk8Ku
GFh7y/XSS7V3BntJztlHYoKVaA3Uai0sixDLkEi4ciHidLtaFbH63KvqUpUP
OF8HNg2XFP7In1dtgJPx7I7UC5T4Y+Eg/fokh+DWE/qlle/KchOgMo3PRXGe
flgwGRWIFxqHgAXUN/Mg5/PR40TC96ZdLEcy4r6QT9frUGSGO1clLbIaW91n
DjYS6iexQYh1aCWlgFgd2cFngE0pm7ZcqJWkR//wTm+Db3lp1INwB2IBWrij
EBZ3B/q9LMVi0X9g5Er6U+5QXvm+u0/57W2WqtINTStIGgj3kkOLLcadPjA7
l4UJXBUR7sryt0vzpcYOGS3iB/OGIk4dU9kh964VT0ozUGZ981iAQyqSgowa
DP3J8ACD4Ww9TI7vW8S0F7h3g9Ngyq2+FzKPPlcW5OArBmi4qtUiRh0fC/JC
Y3ccxZT+tCJWAA9YREQc6/doDl9bxvoi27e69uB016npfdhYBDhN4vKyfeue
idc3ZXV5ZQ7zayh25Y0wkl6TsI7/xJqv35RrxE/JssHC0QA1lpaxb2oQ8Dc7
Gb+s+/PvJvRhCalZL1DVCHEnlZsmAWJYivbB3PNVvdguNYES8NKT/Pg3dw1+
c/ImgKV9TyQBmfoKumPV7TAkVIauEQbXZ4+aSmFmVtfc4Bf3krBgE2uXxwHJ
zDGJNNjM8v9dNgjLPaktfldhduNeKGaHga4OV15Y0p+xZqquwRoZ+2bgNCC8
nw3uKSJDj6rwghCXlms+MguqaNTv7iNIgXtN04/AqGxSGS0WRDqj8x1zPMbo
/TAHq+TI2iReP9KMznkSlJ2AbMgoKKZiq2V4a/BSVj3awMcr4sEDrKv/YjVP
ZNSXQiSC8EoeVTchcMFc2klae5Ynie3cZtm6eRcqhvD+6V341rElTwhkxNCZ
ItYNJbgRPAjzYoPJM8sNSM8mOOKSw5U6xQ2QQcKKw/unVhWtLqoa2LsXLxSs
taJ17qdvpiev37758RT7r7a37Zr49UvknTMN2TD+tOySnKCNVYUmEfFBmoMJ
MrkiRflrDif6zEKyHDhYXZV+GBlaP8nSGBYFiCl2gX0zwg2iw9cEmxU283W1
ZLDU81CtGqsCVt7/egDdCbdjIkYcJf8DZr9f4uCP/PCh/M8X+h+eSaD2/wD4
m/74WH8kUTn95l/z+/mr42P9nv+p4HHv3jtYwO/dy/H54RP/8MA+HD7Ch8A9
bfuNdR6PoWDZI5otTMkJvPK1ZSLdAPQzmVYAw5nkJdN+4jbH2nxe+1b+Dljr
TLiC5UZxCCOKuT6cwLLbLUmX6YJ7FSIwUNJDBJbg3stPvn355peXz1ut2s6N
5FlM4RbmSFzit+4BkLEYDbe1aDOq5dHjGOpRzJCPe8mgwfLXskHaxeKIy7IF
vGDbTR+qK3o7vZElnh4+I1OQH+HnaorloazXFvhh/J0ZzlnyxeNnNhS0tW21
Mfygz4Bl9YG+cr+pDH/9flmsivzR7GH26Ku4s7j0C+H+awZXESRElZTXV1XN
Hl7CLLBW56tikM+X9XYB2pADhccRXnD5n7/4zuD80mkfYjcGU82ic0WzUcKh
gydalvh92cuntmjiiLtjFTnYrzpy57VmepkwROgrAw4mJxUaEcrvIAOsNxto
UuAoDP0sTRjL1BcC5WhrWC0Ud1oV3JQJJPq/iNBU/7/CAj5PVjXLtHYfknqU
8hnwsmwS8CRMGFtqNTd3YdYOYFx5HPiqakH5KF1m+8rSrI/JnoZjheBulhL0
6lgoARr4TLH3KjOMGg3dntJrhqrvov3zRG1ke35lQCxhHh5ODr94Sq2yTX3z
+YHL0Oz6QC9WIJhm3eFKJANIKm61ZpuFFSD5rgkFOJQ46bVeFFj1KAqEEKUS
oUgePKGVM2Ss5w0hPWf5icHse9GxFrFYWzjRWa26Y8kaPPDwwcMn08MH00eH
ABj9kXk0lrjJ9ZnQGtwDZXUnLYsSqHBc7Unp3N+0ilaMzhhRik0ijhWTHPRO
Qdb6FItJJ3uQ2TgDx8ulkjjKFq2V6y2hdC7yfrjtPhwlSpLMO9/A//XzO4OV
jXaixvtL4lZeVbh19QW8B+/LHfB7fRDk2up9YJTclAzgUl1xiEc6s9oAwYC9
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

-->

</rfc>

