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


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

]>


<rfc ipr="trust200902" docName="draft-sparysh-pala-audit-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="PALA-1 Audit Records">PALA-1: A Tamper-Evident Audit Record Format for Constrained and Disconnected Deployments</title>

    <author initials="A." surname="Sparysh" fullname="Andrii Sparysh">
      <organization>Assault Consulting</organization>
      <address>
        <postal>
          <city>Kyiv</city>
          <country>Ukraine</country>
        </postal>
        <email>as@assault.consulting</email>
      </address>
    </author>
    <author initials="O." surname="Verteletskyi" fullname="Oleksandr Verteletskyi">
      <organization>Assault Consulting</organization>
      <address>
        <postal>
          <city>Kyiv</city>
          <country>Ukraine</country>
        </postal>
        <email>ov@assault.consulting</email>
      </address>
    </author>

    <date year="2026" month="September" day="03"/>

    
    
    <keyword>audit trail</keyword> <keyword>tamper-evident logging</keyword> <keyword>AI inference</keyword> <keyword>hash chain</keyword> <keyword>crypto-shredding</keyword> <keyword>local-first</keyword>

    <abstract>


<t>This document describes PALA-1, a compact binary record format for
tamper-evident audit trails produced by AI inference runtimes and
robotic control systems. It is designed for a class of deployment
defined by three constraints that hold together: the hardware is
computationally modest and its cycles are reserved for the workload and
the power budget rather than for the audit trail; no external witness is
reachable, whether because policy forbids outbound contact or because
the platform operates beyond connectivity, so a witness is unavailable
by rule or by physics rather than by circumstance; and the right to
verify the trail is separated from the right to read what it records.</t>

<t>Records form an append-only hash chain. Integrity verification requires
no key material of any kind, inspects no record bodies, and costs one
hash per record rather than one signature. The format distinguishes
three separately answerable questions -- internal consistency,
completeness against an external anchor, and existence at a point in
time against an external witness -- and states which of the three a
given trail actually supports rather than implying all three.</t>

<t>The format is frozen at version 1.0 and is described here as it is.
This document presents an existing wire format; it does not revise one.
Where a deployment does permit an external witness, a chain head may be
published to a transparency service such as that of the Supply Chain
Integrity, Transparency, and Trust architecture (SCITT, RFC 9943);
that path is described but is not part of the hashing contract.</t>



    </abstract>



  </front>

  <middle>


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

<t>An AI inference runtime executing on a workstation, an edge device, or a
robot produces a sequence of events that someone may later need to
reconstruct: what was asked, what was answered, which tools were
dispatched, what came back, and what the operator did about it.</t>

<t>A growing body of work addresses this by making a record transparent:
the producer signs a statement, registers it with an external service
maintaining an append-only log, and receives a receipt proving
registration <xref target="RFC9943"/>. Where that construction is available it
answers questions this format cannot answer alone, and this document
describes how to reach it (<xref target="transparency"/>).</t>

<t>It presupposes two things: that cycles are available to sign each
record, and that a witness is reachable. This document addresses the
deployments where neither holds.</t>

<section anchor="constraints"><name>The constraints</name>

<t>Three constraints defined this format. They are stated first because
every subsequent decision follows from them, and a reader who rejects
them will reject the format.</t>

<t><strong>C1 -- the hardware is modest, and its cycles are reserved for the
workload and the power budget.</strong> The target is a control system or an
inference runtime on commodity or embedded hardware, frequently one
that carries its own power. A trail that writes thousands of records in
a session cannot spend an asymmetric signature on each one: that cost
is taken directly from the workload the device exists to run, and on a
self-powered platform it is taken from endurance as well. The usual
answer to a compute constraint -- provision a faster processor -- does
not resolve the second of those, since a faster processor draws more.
Integrity therefore has to come from hashing a chain, not from signing
a record.</t>

<t><strong>C2 -- no external witness is reachable.</strong> This is not a network that
happens to be down. It is either a regime under which reaching an
external service is not permitted, or a platform operating beyond
connectivity by the nature of its task; in both cases the witness is
unavailable <strong>by rule or by physics</strong>, and no engineering effort
changes it. The distinction from C1 matters: C1 is a constraint that
better hardware partly relaxes over time, while C2 does not relax at
all. Any design that requires a service to be reachable before a record
is trustworthy is inapplicable here, not merely inconvenient.</t>

<t><strong>C3 -- the right to verify is separated from the right to read.</strong> An
auditor may be entitled to establish that a trail is intact and
complete while holding no clearance for what the trail records. This
is an access regime, not a privacy preference, and it makes
"verification requires reading the records" an unsatisfiable
requirement rather than an acceptable cost.</t>

</section>
<section anchor="what-the-constraints-force"><name>What the constraints force</name>

<t>Each of the following is a consequence, not a preference.</t>

<t>From C1: the chain hash covers a fixed-length record header, one hash
per record, no asymmetric operation on the write path.</t>

<t>From C1 and C3 together: because there is no per-record signature,
there is no per-record signature to check, and integrity verification
consequently needs no key material at all. A verifier reads headers,
reports that a million records contain no break, and has read none of
the bodies. The header is fixed-length so that it can be scanned and
sought without parsing a variable structure.</t>

<t>From C3: bodies are bound into the chain by a digest carried inside the
header, so a body may be encrypted, or its key destroyed, while the
chain continues to verify. Key destruction is an ordinary lifecycle
operation in such a deployment rather than an exceptional one.</t>

<t>From C2: existence in time is never asserted by the format on its own
authority. Where a deployment does permit publication, the claim is
made after the fact by a record naming an explicit range and a witness,
and a verifier reports the witnessed range and the unwitnessed
remainder separately (<xref target="transparency"/>). A trail that has never been
witnessed says so.</t>

<t>And from all three: the format is binary and has no canonicalisation
step, because a canonicalisation step is a place where two conforming
implementations can disagree about the bytes being hashed. A JSON
canonicalisation such as <xref target="RFC8785"/> serialises numbers through double
semantics, and a nanosecond wall-clock value exceeds the largest
integer a double represents exactly, so its canonical form is lossy.
The available workarounds -- the value as a string, truncation to
milliseconds -- each trade the property JSON was chosen for against the
one property this format cannot trade: byte-exact agreement between
independent implementations. Inspectability is recovered by a
converter, which is a tool and not part of the hashing contract.</t>

</section>
<section anchor="on-cose"><name>On COSE</name>

<t>The question this section exists to answer is why the records are not
COSE_Sign1 <xref target="RFC9052"/> structures, given that CBOR encodes a
nanosecond integer exactly and is not subject to the objection above.</t>

<t>The objection above is to JSON canonicalisation, and it does not apply
to CBOR. A CBOR encoding could carry the same chain semantics this
document defines, and an implementer who values ecosystem alignment
over the constraints of <xref target="constraints"/> should consider that a
reasonable design.</t>

<t>What C1 and C3 exclude is not the encoding but the envelope. COSE_Sign1
places a signature on each record and a verification key in the hands
of anyone checking one. Both are intrinsic to what a single-signer
signature envelope is, not parameters of it, and both are the two
properties C1 and C3 rule out. A signature per record is the cost C1
forbids; a key required to verify is the dependency C3 forbids.</t>

<t>The trade-off applies in both directions and is stated here rather than
left for a reader to find. A COSE_Sign1 record is self-sufficient: it
carries its own evidence, and one such record proves something on its
own. A PALA-1 record proves nothing on its own -- the sequence is what
carries the evidence, and a single record removed from its chain is
inert. For deployments that write few records, are not
compute-constrained, and need per-record self-sufficiency, the envelope
is the better choice and this format is the wrong tool.</t>

<t>Where the two meet is <xref target="transparency"/>: a chain head expressed as a
Signed Statement is a COSE_Sign1 structure, so the envelope is used
exactly where its cost is paid once rather than per record.</t>

</section>
<section anchor="scope"><name>Scope</name>

<t>In scope: the byte layout of a record, the rules linking records into a
chain, the aggregation of record digests, the encoding of assurance
claims, and a normative verification procedure any party can implement
from this document alone.</t>

<t>Out of scope: agent-to-agent protocols, authorization decisions, policy
evaluation, transport, and the internal protocol of any witness. This
document records what a runtime did. It does not decide what a runtime
may do, and it makes no claim about the honesty of the runtime at the
moment of recording (<xref target="security"/>).</t>

</section>
<section anchor="a-note-on-regulation"><name>A note on regulation</name>

<t>The constraints of <xref target="constraints"/> arose in deployments that are also
subject to record-keeping, data-minimisation and erasure obligations,
and those obligations shaped what the format was required to support:
that a trail can be verified without disclosing its contents, and that
a record's content can be destroyed without falsifying the trail it
sits in.</t>

<t>No claim is made that this format satisfies any legal obligation.
Regulations of this kind do not prescribe formats, and a format cannot
discharge a duty that falls on an operator. The relationship is only
that a set of obligations produced a set of technical requirements,
and this document specifies a format meeting them.</t>

</section>
<section anchor="terminology"><name>Terminology</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>

</section>
</section>
<section anchor="layout"><name>Record layout</name>

<t>A record is <spanx style="verb">header || body</spanx>. The body may be empty.</t>

<section anchor="fixed-header"><name>Fixed header -- 156 bytes</name>

<texttable>
      <ttcol align='right'>Offset</ttcol>
      <ttcol align='right'>Size</ttcol>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Notes</ttcol>
      <c>0</c>
      <c>4</c>
      <c><spanx style="verb">magic</spanx></c>
      <c>bytes</c>
      <c><spanx style="verb">PALA</spanx> (0x50 0x41 0x4C 0x41)</c>
      <c>4</c>
      <c>2</c>
      <c><spanx style="verb">format_version</spanx></c>
      <c>u16</c>
      <c>1</c>
      <c>6</c>
      <c>2</c>
      <c><spanx style="verb">header_len</spanx></c>
      <c>u16</c>
      <c>156 + TLV bytes. Total header length.</c>
      <c>8</c>
      <c>2</c>
      <c><spanx style="verb">record_type</spanx></c>
      <c>u16</c>
      <c><xref target="types"/></c>
      <c>10</c>
      <c>1</c>
      <c><spanx style="verb">assurance_tier</spanx></c>
      <c>u8</c>
      <c><xref target="tiers"/></c>
      <c>11</c>
      <c>1</c>
      <c><spanx style="verb">time_trust</spanx></c>
      <c>u8</c>
      <c><xref target="time"/></c>
      <c>12</c>
      <c>8</c>
      <c><spanx style="verb">seq</spanx></c>
      <c>u64</c>
      <c>Monotonic within a chain. Never reused.</c>
      <c>20</c>
      <c>16</c>
      <c><spanx style="verb">boot_id</spanx></c>
      <c>bytes</c>
      <c>Opaque, unique per boot</c>
      <c>36</c>
      <c>32</c>
      <c><spanx style="verb">prev_hash</spanx></c>
      <c>bytes</c>
      <c><spanx style="verb">record_hash</spanx> of the previous record</c>
      <c>68</c>
      <c>16</c>
      <c><spanx style="verb">span_id</spanx></c>
      <c>bytes</c>
      <c>Zero if not span-scoped</c>
      <c>84</c>
      <c>16</c>
      <c><spanx style="verb">parent_span_id</spanx></c>
      <c>bytes</c>
      <c>Zero = root</c>
      <c>100</c>
      <c>8</c>
      <c><spanx style="verb">monotonic_ns</spanx></c>
      <c>u64</c>
      <c>Since boot. Never wall-clock.</c>
      <c>108</c>
      <c>8</c>
      <c><spanx style="verb">wall_clock_ns</spanx></c>
      <c>i64</c>
      <c>Nanoseconds since Unix epoch, or 0</c>
      <c>116</c>
      <c>4</c>
      <c><spanx style="verb">key_id</spanx></c>
      <c>u32</c>
      <c>0 = no body, or a cleartext body. <xref target="bodies"/></c>
      <c>120</c>
      <c>4</c>
      <c><spanx style="verb">body_len</spanx></c>
      <c>u32</c>
      <c><xref target="body-len"/></c>
      <c>124</c>
      <c>32</c>
      <c><spanx style="verb">body_digest</spanx></c>
      <c>bytes</c>
      <c>SHA-256 <xref target="FIPS180-4"/> of the body bytes, or 32 zero bytes if <spanx style="verb">body_len = 0</spanx></c>
</texttable>

<t>All multi-byte integers little-endian. No padding. <spanx style="verb">header_len</spanx> <bcp14>MUST</bcp14> be &gt;= 156
and <bcp14>MUST</bcp14> equal the actual number of header bytes.</t>

</section>
<section anchor="tlv"><name>TLV extensions</name>

<t>Immediately after the fixed header, until <spanx style="verb">header_len</spanx> is reached:</t>

<t><spanx style="verb">
type: u16 | length: u16 | value: &lt;length&gt; bytes
</spanx></t>

<t>A TLV item <bcp14>MUST NOT</bcp14> overrun <spanx style="verb">header_len</spanx>. The last item <bcp14>MUST</bcp14> end exactly at
<spanx style="verb">header_len</spanx>.</t>

<t><strong>Unknown TLV types <bcp14>MUST</bcp14> be hashed and <bcp14>MUST NOT</bcp14> cause rejection.</strong> They are
opaque bytes to a verifier that does not know them. This is what makes <xref target="verify-body"/>
possible.</t>

<texttable>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Value</ttcol>
      <c>0x0001</c>
      <c><spanx style="verb">ORIGIN_ROLE</spanx></c>
      <c>UTF-8 role of the emitting component, e.g. <spanx style="verb">planner.main</spanx>; vocabularies are profile-defined (<xref target="profiles"/>)</c>
      <c>0x0002</c>
      <c><spanx style="verb">ORIGIN_MODEL_DIGEST</spanx></c>
      <c>32 bytes</c>
      <c>0x0003</c>
      <c><spanx style="verb">ORIGIN_CONFIG_DIGEST</spanx></c>
      <c>32 bytes</c>
      <c>0x0011</c>
      <c><spanx style="verb">MERKLE_TREE_HASH</spanx></c>
      <c>32 bytes</c>
      <c>0x0012</c>
      <c><spanx style="verb">MERKLE_LEAF_COUNT</spanx></c>
      <c>u32</c>
      <c>0x0020</c>
      <c><spanx style="verb">SHED_CLASS</spanx></c>
      <c>u16</c>
      <c>0x0021</c>
      <c><spanx style="verb">SHED_COUNT</spanx></c>
      <c>u32</c>
      <c>0x0022</c>
      <c><spanx style="verb">SHED_WINDOW_NS</spanx></c>
      <c>u64</c>
      <c>0x0030</c>
      <c><spanx style="verb">WITNESS_KIND</spanx></c>
      <c>u16 -- 1 = transparency log, 2 = <xref target="RFC3161"/> TSA</c>
      <c>0x0031</c>
      <c><spanx style="verb">WITNESS_RANGE_LO</spanx></c>
      <c>u64</c>
      <c>0x0032</c>
      <c><spanx style="verb">WITNESS_RANGE_HI</spanx></c>
      <c>u64</c>
      <c>0x0033</c>
      <c><spanx style="verb">WITNESS_RECEIPT</spanx></c>
      <c>opaque</c>
      <c>0x0040</c>
      <c><spanx style="verb">SHRED_KEY_ID</spanx></c>
      <c>u32</c>
      <c>0x0050</c>
      <c><spanx style="verb">ANCHOR_HEAD</spanx></c>
      <c>32 bytes -- the head written to the anchor store. <xref target="verify-anchor"/></c>
</texttable>

<t><strong>TLV type numbers and record type numbers are separate namespaces.</strong> TLV
<spanx style="verb">0x0011 MERKLE_TREE_HASH</spanx> and record type <spanx style="verb">0x0020 MERKLE</spanx> both concern Merkle
aggregation and are different numbers in different spaces. The names are kept
distinct for that reason; do not read one table with the other's numbers.</t>

<t><strong><spanx style="verb">origin</spanx> is three TLVs, not a name.</strong> <spanx style="verb">(ORIGIN_ROLE, ORIGIN_MODEL_DIGEST,
ORIGIN_CONFIG_DIGEST)</spanx> -- because the first question after an incident is
which weights produced an output, and a component name alone does not
answer it. A model update is a different origin and the chain shows it.</t>

</section>
<section anchor="body-len"><name>body_len -- exactly what it counts</name>

<ul empty="true"><li>
  <t><strong><spanx style="verb">body_len</spanx> is the total number of bytes following the header, up to the
start of the next record.</strong> A reader that consumes <spanx style="verb">body_len</spanx> bytes after
<spanx style="verb">header_len</spanx> has consumed the whole body and nothing else.</t>
</li></ul>

<t>For an encrypted body (<xref target="bodies"/>) that total covers <spanx style="verb">nonce || ciphertext || tag</spanx> --
the nonce is <strong>inside</strong> the count, not additional to it. <spanx style="verb">body_digest</spanx> is taken
over exactly those <spanx style="verb">body_len</spanx> bytes.</t>

<t>This is stated explicitly because it is the most likely implementer error:
a reader that treats the 12-byte nonce as a prefix outside <spanx style="verb">body_len</spanx>
truncates the GCM tag, fails to decrypt, and attributes the failure to the
cipher.</t>

</section>
<section anchor="container"><name>File container</name>

<t>A log file is records <strong>concatenated back-to-back, with no file header, no
framing, and no trailing metadata</strong>. The first record starts at byte 0.</t>

<t>A reader finds record boundaries from the records themselves: read the fixed
header at the current offset, confirm <spanx style="verb">magic</spanx>, take <spanx style="verb">header_len</spanx> and
<spanx style="verb">body_len</spanx>, and the next record begins at
<spanx style="verb">offset + header_len + body_len</spanx>. A file whose final record ends exactly at
end-of-file is well-formed; anything else is a truncated tail and <bcp14>MUST</bcp14> be
reported as such (it is not a chain break at any earlier record).</t>

<t>There is deliberately nothing else at file level. A file header would be one
more thing to version, and the records are already self-delimiting;
rotation, segmentation and naming are storage concerns outside this format --
a segment boundary is invisible to the chain, which continues across files
exactly as it continues across boots.</t>

</section>
</section>
<section anchor="types"><name>Record types</name>

<texttable>
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Class</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c>0x0001</c>
      <c><spanx style="verb">GENESIS</spanx></c>
      <c>never-shed</c>
      <c>Chain origin. <xref target="genesis"/></c>
      <c>0x0002</c>
      <c><spanx style="verb">BOOT</spanx></c>
      <c>never-shed</c>
      <c>New boot. Its <spanx style="verb">prev_hash</spanx> <strong>is</strong> the cross-boot link.</c>
      <c>0x0010</c>
      <c><spanx style="verb">SPAN_START</spanx></c>
      <c>normal</c>
      <c>Opens a span</c>
      <c>0x0011</c>
      <c><spanx style="verb">SPAN_END</spanx></c>
      <c>normal</c>
      <c>Closes it. <xref target="spans"/></c>
      <c>0x0012</c>
      <c><spanx style="verb">EVENT</spanx></c>
      <c>normal</c>
      <c>Point event. Payload semantics are profile-defined (<xref target="profiles"/>).</c>
      <c>0x0020</c>
      <c><spanx style="verb">MERKLE</spanx></c>
      <c>sheddable</c>
      <c>Digest aggregation over a window. <xref target="merkle"/></c>
      <c>0x0021</c>
      <c><spanx style="verb">AGGREGATE</spanx></c>
      <c>sheddable</c>
      <c>Tier 0 statistics over a window. <xref target="aggregate"/></c>
      <c>0x0030</c>
      <c><spanx style="verb">SHED</spanx></c>
      <c><strong>never-shed</strong></c>
      <c>Records that records were dropped. <xref target="shed"/></c>
      <c>0x0040</c>
      <c><spanx style="verb">SAFETY</spanx></c>
      <c><strong>never-shed</strong></c>
      <c>Written by the safety path; the audit only observes</c>
      <c>0x0050</c>
      <c><spanx style="verb">ANCHOR</spanx></c>
      <c>never-shed</c>
      <c>Local anchor written. <xref target="verify-anchor"/></c>
      <c>0x0051</c>
      <c><spanx style="verb">WITNESS</spanx></c>
      <c>never-shed</c>
      <c>External witness receipt. <xref target="tiers"/></c>
      <c>0x0060</c>
      <c><spanx style="verb">KEY_SHRED</spanx></c>
      <c>never-shed</c>
      <c>A key was destroyed. <xref target="bodies"/></c>
</texttable>

<section anchor="spans"><name>Spans are two records</name>

<t><spanx style="verb">SPAN_START</spanx> and <spanx style="verb">SPAN_END</spanx> are separate chained records. Duration is derived at
read time.</t>

<t>The alternative -- one record written on close -- loses exactly the case that
crashed. <strong>A crash must leave a visibly unclosed span</strong>, because that is the
evidence.</t>

<t>This also fixes the limit of the whole design: the audit <strong>cannot</strong> guarantee a
record precedes the action it describes -- that would require blocking, which the
architecture forbids. It guarantees only that <strong>absence is visible</strong>: the
property provided is detectable absence, not write-ahead semantics.</t>

</section>
<section anchor="aggregate"><name>AGGREGATE body schema</name>

<t>Tier 0 statistics are not personal data, so an <spanx style="verb">AGGREGATE</spanx> body <bcp14>SHOULD</bcp14> be
cleartext (<spanx style="verb">key_id = 0</spanx>). Encrypting it would only make the post-market
monitoring export useless to the party entitled to read it.</t>

<t>The body is a TLV sequence, encoded exactly as <xref target="tlv"/>, in its <strong>own type
namespace</strong>. The core defines the window framing; the measured quantities are
profile-defined:</t>

<texttable>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Value</ttcol>
      <c>0x0001</c>
      <c><spanx style="verb">AGG_WINDOW_NS</spanx></c>
      <c>u64 -- length of the aggregation window. <strong>Core.</strong></c>
      <c>0x0002</c>
      <c><spanx style="verb">AGG_SAMPLE_COUNT</spanx></c>
      <c>u32 -- samples folded into this record. <strong>Core.</strong></c>
      <c>0x0003+</c>
      <c><em>profile-defined</em></c>
      <c>Allocated upward from 0x0003 by the chain's profile (<xref target="profiles"/>)</c>
</texttable>

<t>A reader treats body tags it does not know as opaque -- reported, never
rejected -- the same posture <xref target="forward-compat"/> takes for the header. Because one chain
follows exactly one profile (<xref target="profiles"/>), profile allocations cannot collide
within a chain.</t>

<t><strong>Milli-units, not floats -- a constraint on profiles.</strong> A float in a body
reintroduces exactly the cross-implementation disagreement <xref target="constraints"/> rejects JSON
for -- and it would do so in the one record type whose whole purpose is being
comparable across versions and vendors. A profile <bcp14>MUST</bcp14> express fractional
quantities as fixed-point integers (milli-, micro-). Fixed-point integers
carry no cross-implementation ambiguity.</t>

<t>The framing is defined here rather than left to implementations because
<spanx style="verb">AGGREGATE</spanx> is the PMM instrument: a wholly undefined body means two
conformant implementations produce incomparable exports, which defeats the
record type. The core fixes the window; each profile fixes the quantities --
so two implementations of the <em>same profile</em> are comparable. The robotics
profile published with the specification <xref target="PALA-SPEC"/> defines
optical-flow statistics at 0x0003-0x0005.</t>

</section>
<section anchor="shed"><name>SHED is in the never-shed class</name>

<t>The audit never blocks the execution path. Therefore records are dropped
under saturation, and <strong>which</strong> records is a design decision, not an accident.</t>

<t>A dropped record is survivable. A <strong>silently</strong> dropped record is a log that
misrepresents by omission, which is worse than no log. <spanx style="verb">SHED</spanx> carries class, count and window,
and it is never itself shed.</t>

</section>
<section anchor="profiles"><name>Profiles</name>

<t>The envelope must outlive any one domain, so the split is structural: this
document defines everything a verifier needs -- layout, chain, tiers, time,
cryptography, the three questions -- and <strong>profiles</strong> define what the records are
<em>about</em>. A profile is a companion document that fixes, for one domain:</t>

<t><list style="symbols">
  <t><strong><spanx style="verb">EVENT</spanx> payload semantics</strong> -- what lives in the bodies;</t>
  <t><strong><spanx style="verb">AGGREGATE</spanx> quantities</strong> -- body tags from 0x0003 upward (<xref target="aggregate"/>);</t>
  <t><strong><spanx style="verb">MERKLE</spanx> leaf source</strong> -- what the aggregated digests are digests <em>of</em>,
and at what rate (<xref target="merkle"/>);</t>
  <t><strong><spanx style="verb">ORIGIN_ROLE</spanx> vocabulary</strong> -- the component names that appear in headers.</t>
</list></t>

<t><strong>One chain follows exactly one profile.</strong> Which profile is a property of
the deployment, stated by the emitting system's documentation; the format
does not carry a profile identifier in version 1 (a chain's <spanx style="verb">ORIGIN_ROLE</spanx>
vocabulary makes it evident in practice, and adding a field is a v1.0
freeze decision, not a retrofit). Mixing profiles within one chain is out
of scope.</t>

<t><strong>Verification is profile-independent.</strong> Every check in <xref target="verification"/> reads the
envelope only; a verifier needs no profile knowledge to answer the three
questions, and profile content it does not understand is opaque bytes --
reported, never rejected (<xref target="aggregate"/>, <xref target="forward-compat"/>).</t>

<t>Two profiles are published with the specification <xref target="PALA-SPEC"/>: a
robotics profile -- the first, and the one the committed test vectors
follow -- and an inference profile, under which the reference
implementation audits its own serving loop.</t>

</section>
</section>
<section anchor="dispatch"><name>Recording at the dispatch boundary</name>

<t>This section is informative and describes an emitter obligation that the
record types of this document are shaped to support.</t>

<t>A hash chain constrains the relationship between records. On its own it
does not constrain <em>when</em> a record was written relative to the event it
describes. A producer could execute an entire session and afterwards
emit a chain that is internally consistent, verifies correctly, and
records only what the producer chose to say about itself. Such a trail
is conformant and evidentially weak, and the distinction matters
wherever the question is whether a control actually operated.</t>

<t>The record types here are designed so that a conforming emitter does not
have that freedom in the one place it matters most: the tool-dispatch
boundary, where an inference runtime causes an effect outside itself.</t>

<t>A tool call is recorded when the call is handed to its executor, before
any result is known. The result is recorded as a separate record bound
by digest to the call it answers, so an attempt cannot be presented as a
completion. On shutdown, a call with no recorded outcome is explicitly
cancelled in the chain, so a reader never encounters a dispatch whose
fate is unstated. Span-structured events are two records -- one at open,
one at close -- for the same reason.</t>

<t>The consequence a verifier can rely on: for every dispatch in a
conforming trail there is a record written before the outcome existed,
and every such record has a stated fate. What no format can supply is an
assurance that the emitter obeyed this. That is a property of the
implementation, which is why the verification procedure treats an
unpaired dispatch as an advisory finding to be surfaced rather than
silently tolerated, and why independent implementations of this document
are the evidence that matters (<xref target="impl"/>).</t>

<t>A second limit is stated for the same reason. An emitter can record only
the dispatches it mediates as structured data. A client that negotiates
tool use with the model in free text and executes the result locally
produces no dispatch at the emitter's boundary, and therefore no record;
the reference implementation measured this with a widely used agent
client and documents it as a visibility limit rather than concealing it
(<xref target="impl"/>). A trail's silence about tool use is evidence of what the
emitter observed, not of what the client did.</t>

</section>
<section anchor="chain"><name>Chain rules</name>

<section anchor="linking"><name>Linking</name>

<t><spanx style="verb">
record_hash(r)  = SHA-256(header_bytes(r))
r.prev_hash     = record_hash(previous record)
</spanx></t>

<t><spanx style="verb">seq</spanx> <bcp14>MUST</bcp14> increase by exactly 1 within a chain. <strong>A gap in <spanx style="verb">seq</spanx> is a break,
whether or not the hashes link</strong>, and a verifier <bcp14>MUST</bcp14> report it as one (<xref target="verify-chain"/>).</t>

<t>The rule is not redundant with the hash link. An actor holding the key can
rebuild a shorter, perfectly linked chain that omits a range of <spanx style="verb">seq</spanx>; the
hashes will chain and only the gap reveals it.</t>

</section>
<section anchor="genesis"><name>Genesis and boots</name>

<t><list style="symbols">
  <t><spanx style="verb">GENESIS</spanx> has <spanx style="verb">prev_hash</spanx> = 32 zero bytes <strong>and</strong> <spanx style="verb">record_type = GENESIS</spanx>.
A distinguished type is required so that <em>"no predecessor"</em> and <em>"predecessor
removed"</em> are distinguishable. <spanx style="verb">prev_hash = 0</spanx> alone is not sufficient.</t>
  <t>A verifier <bcp14>MUST</bcp14> report as a <strong>violation</strong> any chain whose first record is
not a <spanx style="verb">GENESIS</spanx> (the record is the wrong kind; the links around it may be
perfectly sound), and <bcp14>MUST</bcp14> report a <spanx style="verb">GENESIS</spanx> at any position other than
the first as a violation. Defining the type and then not checking it adds
nothing.</t>
  <t><strong>A <spanx style="verb">BOOT</spanx> record's <spanx style="verb">prev_hash</spanx> is the previous boot's head.</strong> The chain is
continuous across power cycles; a deleted segment leaves a head nothing
references.</t>
</list></t>

<t><strong>What this does not fix -- stated in the format, not hidden in prose:</strong> an owner
with the key can start a <em>new</em> <spanx style="verb">GENESIS</spanx> and present the device as new. Chain
continuity cannot prove device continuity. Only <xref target="tiers"/> addresses that, and only
partly.</t>

</section>
<section anchor="merkle"><name>Merkle aggregation</name>

<t>High-rate digests are aggregated per window into one <spanx style="verb">MERKLE</spanx> record -- the
digest <strong>source</strong> and rate are profile-defined (<xref target="profiles"/>): the robotics profile
folds a second of sensor-frame digests into one record; an inference
profile might fold a batch of token or KV-operation digests. The tree is
the same either way.</t>

<t><xref target="RFC6962"/> tree hash, domain-separated:</t>

<t><spanx style="verb">
leaf(d)        = SHA-256(0x00 || d)
node(l, r)     = SHA-256(0x01 || l || r)
empty          = SHA-256("")
</spanx></t>

<t><strong>An unpaired node is PROMOTED, never duplicated.</strong> Duplicating the last node is
the CVE-2012-2459 mistake: two distinct leaf sets collapse to the same root.</t>

<t>An <strong>inclusion proof</strong> for a leaf is the list of sibling hashes on the path
from that leaf to the root, each tagged with the side the sibling occupies:
an entry <spanx style="verb">["L", s]</spanx> means the sibling is the <strong>left</strong> operand of <spanx style="verb">node()</spanx> --
the step computes <spanx style="verb">node(s, h)</spanx> -- and <spanx style="verb">["R", s]</spanx> computes <spanx style="verb">node(h, s)</spanx>.
Folding the leaf's <spanx style="verb">leaf()</spanx> hash through the entries in order <bcp14>MUST</bcp14>
reproduce the tree hash. This is the encoding the published vectors use for the
inclusion proof <xref target="PALA-VECTORS"/>.</t>

<t>Two constructions are in circulation and they agree, which is worth stating so
an implementer does not go looking for a discrepancy: RFC 6962 defines the tree
recursively, splitting at the largest power of two below <spanx style="verb">n</spanx>; the iterative
bottom-up form that promotes an unpaired node yields the same root. Either may
be implemented.</t>

<t>This provides <strong>selective disclosure</strong>: one leaf can be proven with about
log2(n) hashes without revealing the other n-1 -- one moment, without the
rest of the window.</t>

<t><strong>The count is a commitment, verified against the leaves -- never in the
header.</strong> <spanx style="verb">MERKLE_LEAF_COUNT</spanx> states how many leaves the root covers. Because the
<spanx style="verb">MERKLE</spanx> record does not carry the leaves, only a party that has them -- checking
a disclosure, or holding the full set -- can confirm it, and such a verifier
<bcp14>SHOULD</bcp14> check that the number of leaves equals <spanx style="verb">MERKLE_LEAF_COUNT</spanx> and reject a
disclosure whose count disagrees. A mismatch is a defect of that disclosure, not
a chain violation: the header and its chain are intact; what was revealed is
inconsistent with what was committed. A header-only verifier (<xref target="verify-chain"/>) neither has
the leaves nor checks the count.</t>

</section>
<section anchor="bodies"><name>Bodies, encryption and crypto-shredding</name>

<t>A body is one of two shapes, and <spanx style="verb">key_id</spanx> says which:</t>

<texttable>
      <ttcol align='left'>key_id</ttcol>
      <ttcol align='left'>Body</ttcol>
      <c><spanx style="verb">0</spanx></c>
      <c>Absent (<spanx style="verb">body_len = 0</spanx>), or <strong>cleartext</strong>: <spanx style="verb">body</spanx> is the raw bytes</c>
      <c><spanx style="verb">!= 0</spanx></c>
      <c><strong>Encrypted</strong>: <spanx style="verb">body = nonce (12) \|\| ciphertext \|\| tag (16)</spanx></c>
</texttable>

<t>In both cases <spanx style="verb">body_digest = SHA-256(body_bytes)</spanx> over exactly <spanx style="verb">body_len</spanx> bytes.
The digest does not know which shape it covered -- which is why crypto-shredding
does not disturb it.</t>

<t>Body encryption is <strong>AES-256-GCM</strong> <xref target="SP800-38D"/>.</t>

<t><spanx style="verb">
nonce      = 4 zero bytes || seq (u64 LE)
aad        = seq (u64 LE) || boot_id (16) || record_type (u16 LE)
ciphertext = AES-256-GCM(K[key_id], nonce, plaintext, aad)
body       = nonce || ciphertext || tag
body_digest= SHA-256(body)
</spanx></t>

<t>The AAD binds the ciphertext to its position in the chain: bodies cannot be
swapped between records.</t>

<t><strong>The nonce is derived from <spanx style="verb">seq</spanx>, not random.</strong> A random 96-bit nonce is not
safe past ~2^32 records under one key -- a horizon a sustained high-rate writer
actually reaches within the ten-year lifetime this format must survive (a
30 Hz emitter crosses it in under five years; higher rates get there
sooner). A <spanx style="verb">seq</spanx>-derived nonce is unique per record by construction -- <spanx style="verb">seq</spanx> never
repeats within a chain (<xref target="linking"/>) -- and its only leak is the record's position,
which the cleartext header states anyway. A key <bcp14>MUST NOT</bcp14> be reused across chains
with independent <spanx style="verb">seq</spanx> spaces.</t>

<t><strong>Order of operations is normative</strong> (it is otherwise circular):
1. encrypt -&gt; 2. compute <spanx style="verb">body_digest</spanx> -&gt; 3. fill the header -&gt; 4. <spanx style="verb">record_hash</spanx>.</t>

<t><strong>Crypto-shredding.</strong> Keys live outside the log, addressed by <spanx style="verb">key_id</spanx>. Erasure =
destroying <spanx style="verb">K[key_id]</spanx>; a <spanx style="verb">KEY_SHRED</spanx> record notes it. The body becomes noise,
<spanx style="verb">body_digest</spanx> stays, the chain still verifies. A verifier reports <em>"record
exists, body unreadable"</em> -- a reported condition, not a gap in the chain.</t>

<t><strong>Shred granularity equals key granularity, and that is a deployment decision,
not a format one.</strong> Per subject, per session, per day -- the format only requires
that <spanx style="verb">key_id</spanx> exists and that destroying a key breaks nothing structural.</t>

<t><strong><spanx style="verb">key_id</spanx> scope is one device.</strong> 2^32 keys is ample per device and ambiguous
across a fleet: two devices may both use <spanx style="verb">key_id = 7</spanx> for unrelated keys. A fleet
key-management layer <bcp14>MUST</bcp14> qualify <spanx style="verb">key_id</spanx> with a device identity of its own;
the format does not carry one.</t>

</section>
</section>
<section anchor="time"><name>Time</name>

<t>A device without a battery-backed real-time clock boots with its wall clock
at the Unix epoch, and network time synchronisation is unavailable under C2.
Therefore:</t>

<t><list style="symbols">
  <t><strong><spanx style="verb">monotonic_ns</spanx> and <spanx style="verb">seq</spanx> are authoritative for ordering.</strong> Always present.</t>
  <t><strong><spanx style="verb">wall_clock_ns</spanx> is advisory</strong> and always accompanied by <spanx style="verb">time_trust</spanx>:</t>
</list></t>

<texttable>
      <ttcol align='left'>time_trust</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c>0</c>
      <c><spanx style="verb">UNKNOWN</spanx> -- <spanx style="verb">wall_clock_ns</spanx> <bcp14>MUST</bcp14> be 0</c>
      <c>1</c>
      <c><spanx style="verb">UNSYNCED</spanx> -- free-running, no external reference</c>
      <c>2</c>
      <c><spanx style="verb">HW_RTC</spanx> -- battery-backed clock, unverified</c>
      <c>3</c>
      <c><spanx style="verb">NTP_SYNCED</spanx> -- externally synchronised</c>
</texttable>

<t>Values above 3 are undefined in version 1. A verifier <bcp14>MUST</bcp14> report a record whose
<spanx style="verb">time_trust</spanx> is <spanx style="verb">UNKNOWN</spanx> with a non-zero <spanx style="verb">wall_clock_ns</spanx> as a violation (<xref target="verify-chain"/>):
an unenforced requirement is not a requirement, and this one separates an
explicit statement that the time is unknown from a timestamp that cannot be
justified. The first can be defended; the second cannot.</t>

</section>
<section anchor="tiers"><name>Assurance tiers</name>

<t>The format states how much it can be trusted. It does not overstate.</t>

<texttable>
      <ttcol align='left'>Tier</ttcol>
      <ttcol align='left'>Mechanism</ttcol>
      <ttcol align='left'>Proves</ttcol>
      <ttcol align='left'>Does not prove</ttcol>
      <c><strong>A</strong> = 0</c>
      <c>Chain + local anchor</c>
      <c>A record was modified; with the anchor, that nothing was truncated</c>
      <c>Everything else</c>
      <c><strong>B</strong> = 1</c>
      <c>+ hardware root of trust</c>
      <c>Device identity</c>
      <c><strong>Fresh genesis</strong> -- a TPM signs any chain</c>
      <c><strong>B+</strong> = 2</c>
      <c>+ monotonic NV counter bound to <spanx style="verb">seq</spanx></c>
      <c>Counter never returns to zero -&gt; fresh genesis visible</c>
      <c>Platform-bound</c>
</texttable>

<t><strong>Tier C is deliberately not a header value.</strong></t>

<t>Tier C -- periodic publication of the chain head to a transparency log or an <xref target="RFC3161"/> TSA -- proves <strong>existence at time T</strong>, which is the guarantee that actually
defeats a fresh genesis. But a header cannot honestly claim to have been
witnessed <em>before the witness exists</em>.</t>

<t>So tier C is asserted <strong>after the fact</strong>, by a <spanx style="verb">WITNESS</spanx> record covering a <spanx style="verb">seq</spanx>
range. A verifier reads:</t>

<ul empty="true"><li>
  <t><em>records 0-9: externally witnessed at 2026-07-16T10:00Z
records 10-...: tier A, no existence claim</em></t>
</li></ul>

<t><strong>C is strictly stronger than B here</strong>, because fresh genesis is a question of
existence, not identity. Its cost is one published hash, not data: the model
of Certificate Transparency applied to an audit trail.</t>

</section>
<section anchor="transparency"><name>Relationship to transparency services</name>

<t>This section is informative. It adds no requirement and changes no byte.</t>

<t>The strongest question this format cannot answer from its own bytes is
existence at a point in time. A chain proves that its records have not
been altered relative to one another. It does not prove that the chain
was not created wholesale after the fact, because a producer in
possession of its own keys can construct a consistent history at any
time. Defeating that requires a party other than the producer to have
observed a commitment, and the observation has to have happened.</t>

<t>PALA-1 handles this by deferring the claim rather than asserting it. A
witness record covers an explicit range of sequence numbers and states
that the head of that range was published externally. The record is
itself chained, so the claim cannot be inserted retroactively without
breaking the chain, and a verifier reports the witnessed range and the
unwitnessed remainder separately. The protocol by which the external
publication is verified is the witness's own and is out of scope here.</t>

<t>A SCITT transparency service <xref target="RFC9943"/> is one such witness, and a
natural one where a deployment permits it. A producer takes the chain
head, expresses it as a Signed Statement -- a COSE_Sign1 <xref target="RFC9052"/>
whose payload commits to the head by digest -- registers it with a
transparency service, and attaches the returned Receipt -- a COSE
Receipt <xref target="RFC9942"/> -- to the statement's unprotected header, producing
what <xref target="RFC9943"/> calls a Transparent Statement, which is then carried in
the evidence the producer exports.
What the producer publishes is one digest, not the trail:
no record body, no personal data, no model output leaves the device.
The envelope's cost is paid once per published head rather than once
per record (<xref target="on-cose"/>), which is what makes it affordable under C1.</t>

<t>The construction published with the specification <xref target="PALA-INTEROP"/> is
stated here so that it can be checked rather than assumed. The
statement's protected header carries the algorithm, the payload's
content type, a key identifier, and CWT claims for issuer and subject
under the header label registered by <xref target="RFC9597"/>.</t>

<t>Two of those values are digests, and they are treated differently on
purpose. The subject names the <strong>full</strong> chain head: a transparency
service indexes by the subject, distinct chains must not collide under
it, and a truncated digest collides at the birthday bound of whatever
length is kept. The key identifier is the COSE Key Thumbprint of the
verification key <xref target="RFC9679"/> <strong>truncated to its first 20 bytes</strong>, which
is not a thumbprint and is not claimed to be one. The asymmetry is
deliberate: <spanx style="verb">kid</spanx> is a hint for locating a key and <xref target="RFC9052"/> places no
collision-resistance duty on it, since presenting the wrong key simply
fails the signature check, whereas the subject is the identifier by
which a relying party decides that two statements concern the same
thing, and nothing downstream catches a collision there. Truncation is
acceptable exactly where a collision is self-correcting and
unacceptable where it is not. The payload is attached -- a CBOR map of the head, the sequence
range and the format identifier, encoded as CBOR <xref target="RFC8949"/> -- so
that the statement is readable
offline, without the service. Section 6 of <xref target="RFC9943"/> requires the
<spanx style="verb">kid</spanx> header parameter when neither <spanx style="verb">x5t</spanx> nor <spanx style="verb">x5chain</spanx> is present in
the protected header; its initial omission was found by a reproduction
of the statement performed under a stated contamination boundary and
was corrected before any registration took place (<xref target="impl"/>).</t>

<t>Two properties of the envelope bear on what such a statement can be
said to be. First, byte-for-byte reproduction of a statement by an
independent implementation is achievable only when the signature is
deterministic: EdDSA <xref target="RFC8032"/> provides that by construction, whereas
an ECDSA signature is deterministic only as a per-library choice, so two
conforming implementations may emit different signature bytes over
identical input. The published vector therefore uses EdDSA, and a vector
over ECDSA could claim that a statement verifies, not that it
reproduces. Second, a valid signature and the published bytes are two
different facts: content in the unprotected header, the presence or
absence of the outer CBOR tag, a detached payload, or a non-canonical
Ed25519 scalar each yield an artifact with different bytes over which
the signature still verifies. An auditor comparing an artifact to a
published one compares bytes; an auditor accepting a statement checks
the signature; the two checks are not substitutes for each other.
<xref target="PALA-INTEROP"/> enumerates these cases with executable expectations.</t>

<t>Under C2 this path is closed -- by policy or by the absence of any
reachable service -- and the format is designed so
that its closure costs nothing structural: a trail that is never
witnessed is still verifiable for internal consistency and, against a
local anchor, for completeness. It simply does not claim the third
question, and says so.</t>

<t>Two properties of this arrangement are worth stating plainly, because
the difference between them is the difference between a claim and a
proof.</t>

<t>A verifier that has checked a Receipt against a log key it trusts may
report the covered range as externally witnessed. A verifier that has
not checked one <bcp14>MUST NOT</bcp14>, whatever the trail says about itself. The
overclaim rule that governs every assurance field in this document
governs this one.</t>

<t>And the guarantee itself is bounded. A Receipt establishes that a
commitment was registered, and therefore bounds when the trail can have
been constructed and makes later substitution or omission detectable. It does
not establish that the recorded content is true. That boundary is not
peculiar to this format; it applies to every construction of this kind,
including the transparency service's own.</t>

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

<t>Verification answers three questions, and they <bcp14>MUST NOT</bcp14> be collapsed into one
boolean. Each needs different inputs and each fails differently.</t>

<texttable>
      <ttcol align='left'>Question</ttcol>
      <ttcol align='left'>Needs</ttcol>
      <ttcol align='left'>Answers</ttcol>
      <c><strong><xref target="verify-chain"/> Is what I hold internally consistent?</strong></c>
      <c>Nothing</c>
      <c>Modification, reordering, <spanx style="verb">seq</spanx> gaps</c>
      <c><strong><xref target="verify-anchor"/> Is what I hold all of it?</strong></c>
      <c>An anchor, from outside the log</c>
      <c>Truncation, replacement, rollback</c>
      <c><strong><xref target="verify-witness"/> Did this history exist at time T?</strong></c>
      <c>A witness receipt</c>
      <c>Fresh genesis</c>
</texttable>

<t>A verifier that reports only <xref target="verify-chain"/> as "ok" is misleading, because <xref target="verify-chain"/> cannot see
a truncated tail: dropping the last N records leaves a perfectly linked chain
with a different head and no other trace.</t>

<section anchor="verify-chain"><name>Header-only chain verification</name>

<t>Requires no key. Touches no bodies.</t>

<t><spanx style="verb">
prev     := unset                          # no link expectation yet
expected := unset
for index, header h in file order:
    MUST h.magic == "PALA"                         else break, stop
    MUST h.header_len == actual header bytes       else violation
    if index == 0:
        MUST h.record_type == GENESIS              else violation
        if h.record_type == GENESIS:
            MUST h.prev_hash == 32 zero bytes      else violation
    else:
        MUST h.record_type != GENESIS              else violation
    if prev is set and h.prev_hash != prev:  report break at h.seq
    if expected is set and h.seq != expected:  report gap at h.seq
    expected := h.seq + 1
    if h.format_version unknown or h.record_type unknown:
        report uninterpretable at h.seq    # not a break; see below
    else:
        run semantic checks                # violations, not breaks
    prev := SHA-256(h.header_bytes)
report: count, breaks, gaps, violations, uninterpretable, head = prev
</spanx></t>

<t><spanx style="verb">chain_ok</spanx> is true iff <spanx style="verb">breaks</spanx>, <spanx style="verb">gaps</spanx> and <spanx style="verb">violations</spanx> are all empty. It means
<strong>internally consistent</strong>, nothing more.</t>

<t>A chain whose first record is not a <spanx style="verb">GENESIS</spanx> yields exactly <strong>one</strong>
violation -- the wrong <em>kind</em> of first record. Per <xref target="genesis"/>, the links around it
may be perfectly sound: the zero-<spanx style="verb">prev_hash</spanx> requirement applies only when
the first record <em>is</em> a <spanx style="verb">GENESIS</spanx>, and the break check compares only records
that have a predecessor in the file. (Aligned at the final pre-freeze verification run:
read literally, the earlier pseudocode produced two violations and a
spurious break on this case, contradicting this section's own prose above
and <xref target="genesis"/>. The published missing-GENESIS demonstration had not discriminated the
two readings -- its input satisfied both -- until that run
constructed the discriminating case; the demo input was strengthened
accordingly, with its published outputs unchanged.)</t>

<t><spanx style="verb">breaks</spanx> and <spanx style="verb">gaps</spanx> are reported at the record's <spanx style="verb">seq</spanx>. Violations from
per-record checks are likewise keyed by <spanx style="verb">seq</spanx>; the
chain-does-not-start-with-<spanx style="verb">GENESIS</spanx> violation is reported at position <spanx style="verb">0</spanx>,
because it is a property of the chain, not of any record's <spanx style="verb">seq</spanx>.</t>

</section>
<section anchor="verify-anchor"><name>Completeness against an anchor</name>

<t>The anchor is the head this chain is supposed to have, obtained from <strong>outside
the log</strong>: the <em>current</em> head held in the local anchor store (an OS keychain
entry), or the head covered by the newest <spanx style="verb">WITNESS</spanx> receipt. An in-chain
<spanx style="verb">ANCHOR</spanx> record with its <spanx style="verb">ANCHOR_HEAD</spanx> TLV <strong>records a store write at the time
it occurred</strong> -- a historical note, not the anchor itself. Because a writer may
append records after a store write, the newest <spanx style="verb">ANCHOR</spanx> record's head can lag
the store's current head; a completeness check therefore uses the <strong>store's
current head</strong>, not any in-chain <spanx style="verb">ANCHOR</spanx> record's TLV.</t>

<t>Given an anchor <spanx style="verb">A</spanx> and a computed head <spanx style="verb">H</spanx>:</t>

<texttable>
      <ttcol align='left'>Condition</ttcol>
      <ttcol align='left'>Report</ttcol>
      <c><spanx style="verb">A == H</spanx></c>
      <c>Complete to the anchor</c>
      <c><spanx style="verb">A</spanx> is the <spanx style="verb">record_hash</spanx> of some record in the chain</c>
      <c><strong>Unanchored tail</strong>: <spanx style="verb">anchor_lag = N</spanx> records past the anchored head. A crash between write and anchoring, or an anchor-store outage -- or records appended by a writer without anchor access.</c>
      <c><spanx style="verb">A</spanx> names no record in the chain</c>
      <c><strong>Replaced, rolled back, or truncated.</strong> This is not the history that was anchored.</c>
</texttable>

<t>Both non-matching cases are failures; the diagnosis differs, and the diagnosis is
what an auditor acts on. Without an anchor a verifier <bcp14>MUST</bcp14> report completeness as
<em>not checked</em> -- never as passing.</t>

</section>
<section anchor="verify-witness"><name>Existence against a witness</name>

<t>A <spanx style="verb">WITNESS</spanx> record asserts that the head of records <spanx style="verb">[RANGE_LO, RANGE_HI]</spanx> was
published to an external log at some time. Verification is out of scope for this
document -- it follows the witness's own protocol (a COSE Receipt
<xref target="RFC9942"/>, a Rekor inclusion proof, an <xref target="RFC3161"/> token). What this format
guarantees is only that the claim is <em>in</em> the chain, is itself chained,
and names its range explicitly.</t>

<t>A verifier <bcp14>SHOULD</bcp14> report the witnessed range and the unwitnessed remainder
separately (<xref target="tiers"/>).</t>

</section>
<section anchor="verify-semantic"><name>Semantic checks</name>

<t>On records whose version and type are known -- <strong><spanx style="verb">GENESIS</spanx> and <spanx style="verb">BOOT</spanx> included</strong>.
The position checks <xref target="verify-chain"/> makes at index 0 (the record is a <spanx style="verb">GENESIS</spanx>, its
<spanx style="verb">prev_hash</spanx> is zero) are <em>in addition to</em> these, not in place of them: a
<spanx style="verb">GENESIS</spanx> with <spanx style="verb">time_trust = UNKNOWN</spanx> and a non-zero <spanx style="verb">wall_clock_ns</spanx> is as much
a violation as any other record.</t>

<t>The checks:</t>

<t><list style="symbols">
  <t><spanx style="verb">time_trust == UNKNOWN</spanx> =&gt; <spanx style="verb">wall_clock_ns == 0</spanx> (<xref target="time"/>)</t>
  <t><spanx style="verb">time_trust &lt;= 3</spanx> (<xref target="time"/>)</t>
  <t><spanx style="verb">body_len == 0</spanx> if and only if <spanx style="verb">body_digest == 32 zero bytes</spanx> (<xref target="fixed-header"/>)</t>
  <t><spanx style="verb">key_id != 0</spanx> and <spanx style="verb">body_len &gt; 0</spanx> =&gt; <spanx style="verb">body_len &gt;= 28</spanx> (nonce + tag, <xref target="bodies"/>)</t>
  <t>TLV items parse and end exactly at <spanx style="verb">header_len</spanx> (<xref target="tlv"/>)</t>
</list></t>

<t>These are violations, not breaks: the record is defective, the chain around it
may be sound. They <bcp14>MUST</bcp14> be reported distinctly.</t>

<t><spanx style="verb">MERKLE_LEAF_COUNT</spanx> is deliberately <strong>not</strong> among these checks. A <spanx style="verb">MERKLE</spanx>
record carries the root and the count but never the leaves (<spanx style="verb">body_len = 0</spanx>,
<xref target="merkle"/>), so a header-only verifier does not have the leaves to count and does not
treat the field as verifiable here -- it is a commitment, checked only when the
leaves are disclosed. <xref target="merkle"/> says how.</t>

</section>
<section anchor="verify-body"><name>Body verification (needs the key)</name>

<t><spanx style="verb">SHA-256(body) == header.body_digest</spanx>, then -- if <spanx style="verb">key_id != 0</spanx> -- AES-256-GCM
decrypt with the nonce and AAD of <xref target="bodies"/>. Failure to decrypt with a <strong>matching</strong>
digest means the key is wrong or destroyed -- not that the log is corrupt. These
<bcp14>MUST</bcp14> be reported distinctly.</t>

</section>
<section anchor="forward-compat"><name>Forward compatibility</name>

<t>A verifier meeting an unknown <spanx style="verb">format_version</spanx>, <spanx style="verb">record_type</spanx> or TLV type:</t>

<t><list style="symbols">
  <t><strong><bcp14>MUST</bcp14></strong> still chain-verify it -- the hash is over raw bytes</t>
  <t><strong><bcp14>MUST</bcp14></strong> report it as uninterpretable</t>
  <t><strong><bcp14>MUST NOT</bcp14></strong> reject the chain</t>
  <t><strong><bcp14>MUST NOT</bcp14></strong> apply <xref target="verify-semantic"/> to it -- those checks belong to a version it claims</t>
</list></t>

<t><strong>These fields are frozen for all future versions:</strong> <spanx style="verb">magic</spanx>, <spanx style="verb">format_version</spanx>,
<spanx style="verb">header_len</spanx>, <spanx style="verb">record_type</spanx>, <spanx style="verb">seq</spanx>, <spanx style="verb">boot_id</spanx>, <spanx style="verb">prev_hash</spanx>, <spanx style="verb">body_len</spanx>,
<spanx style="verb">body_digest</spanx>, at their stated offsets.</t>

<t><spanx style="verb">body_len</spanx> is in the frozen set for a mechanical reason: without it a verifier
cannot find the next record, and forward compatibility ends at the first
unknown record with a body.</t>

<t>That freeze is what allows a tool written today to report, on a trail written
ten years later:</t>

<ul empty="true"><li>
  <t><em>"Chain intact, 1.2M records, no gaps, 400 records I cannot interpret."</em></t>
</li></ul>

</section>
</section>
<section anchor="vectors"><name>Test vectors</name>

<t>The full set -- every record byte, the Merkle leaves and the inclusion
proof -- is published as <xref target="PALA-VECTORS"/>. The vectors are
deterministic: a fixed key, derived nonces and fixed identifiers -- real
cryptography over deterministic inputs. Such inputs <bcp14>MUST NOT</bcp14> be used
outside a test vector.</t>

<t>The vector chain's record bodies and narrative follow the robotics
profile (<xref target="profiles"/>). Every property demonstrated below is an
<strong>envelope</strong> property and holds under any profile.</t>

<t>The chain is a representative ten seconds: genesis, boot with no clock, a
<spanx style="verb">brain</spanx> span, a <spanx style="verb">c'</spanx> write with an encrypted body, a second of frames, a
second of Tier 0 statistics, a divergence event, a shed notice, span close,
a local anchor, an external witness, and an erasure.</t>

<t><spanx style="verb">
key    = 000...02a (32 bytes)          key_id = 7
nonce = 4 zero bytes || seq (u64 LE)
  seq 3 -&gt; 000000000300000000000000
body plaintext (seq 3) =
  "clear path ahead, one pedestrian at 12m, static"
</spanx></t>

<texttable>
      <ttcol align='right'>seq</ttcol>
      <ttcol align='left'>type</ttcol>
      <ttcol align='left'>note</ttcol>
      <c>0</c>
      <c><spanx style="verb">GENESIS</spanx></c>
      <c>tier A, time UNKNOWN</c>
      <c>1</c>
      <c><spanx style="verb">BOOT</spanx></c>
      <c><spanx style="verb">wall_clock_ns = 0</spanx>, <spanx style="verb">time_trust = UNSYNCED</spanx></c>
      <c>2</c>
      <c><spanx style="verb">SPAN_START</spanx></c>
      <c>brain</c>
      <c>3</c>
      <c><spanx style="verb">EVENT</spanx></c>
      <c>AES-GCM body, <spanx style="verb">key_id = 7</spanx>, origin = eyes.tier1 + digests</c>
      <c>4</c>
      <c><spanx style="verb">MERKLE</spanx></c>
      <c>30 frame digests</c>
      <c>5</c>
      <c><spanx style="verb">AGGREGATE</spanx></c>
      <c>cleartext TLV body, <spanx style="verb">key_id = 0</spanx></c>
      <c>6</c>
      <c><spanx style="verb">SAFETY</spanx></c>
      <c>divergence, origin = perception_health</c>
      <c>7</c>
      <c><spanx style="verb">SHED</spanx></c>
      <c>class 1, 400 records, 12 s window</c>
      <c>8</c>
      <c><spanx style="verb">SPAN_END</spanx></c>
      <c>&#160;</c>
      <c>9</c>
      <c><spanx style="verb">ANCHOR</spanx></c>
      <c>carries the head anchored at seq 8</c>
      <c>10</c>
      <c><spanx style="verb">WITNESS</spanx></c>
      <c>transparency log, covers seq 0-9</c>
      <c>11</c>
      <c><spanx style="verb">KEY_SHRED</spanx></c>
      <c>key 7 destroyed -&gt; seq 3 body unreadable</c>
</texttable>

<t><strong>Expected results -- an implementation that disagrees with any of these is
wrong, or this specification is:</strong></t>

<t>```
chain_head =
  3a1a3673f50498eb1d1c6f94b983d6c606cd85ed53627b4e4ffe55153c7af813
chain_ok           = true    record_count = 12
breaks = []   gaps = []   violations = []
complete_to_anchor = true
  (the anchor is the store's current head = the tip)
anchor_head =
  3a1a3673f50498eb1d1c6f94b983d6c606cd85ed53627b4e4ffe55153c7af813
  (== chain_head)</t>

<t>merkle_tree_hash =
  518f5be5173250f705e3bda029ec1c11ac5c4459115c07dde5bc1021d9f468db
merkle_leaf_count   = 30         proof(index 7) verifies   proof_len = 5
```</t>

<t>The <spanx style="verb">ANCHOR</spanx> record at seq 9 carries, in its <spanx style="verb">ANCHOR_HEAD</spanx> TLV, the head as of
seq 8 (<spanx style="verb">14434088e5f5866cf0276ba5a9055d8ee0d115a750b2cdf9cc4006d9481b29b4</spanx>) -- a
historical store write that lags the tip by 3. It is <strong>not</strong> the completeness
anchor (which is the store's current head, <spanx style="verb">anchor_head</spanx> above); the
<spanx style="verb">stale_anchor</spanx> demonstration below checks against it deliberately.</t>

<t>Seven properties the vectors demonstrate rather than assert:</t>

<texttable>
      <ttcol align='left'>Demo</ttcol>
      <ttcol align='left'>Result</ttcol>
      <c>Flip one bit in the seq-3 body</c>
      <c><spanx style="verb">body_digest</spanx> mismatch detected <strong>and the chain still verifies</strong> -- body damage and chain damage are distinct failures</c>
      <c>Append a record of unknown type <spanx style="verb">0x7fff</spanx></c>
      <c><spanx style="verb">chain_ok = true</spanx>, <spanx style="verb">count = 13</spanx>, <spanx style="verb">uninterpretable = [12]</spanx> -- <xref target="forward-compat"/> works</c>
      <c>Destroy key 7</c>
      <c>seq 3 body unreadable forever, chain unchanged -- <xref target="bodies"/> works</c>
      <c><strong>Drop the last record</strong></c>
      <c><spanx style="verb">chain_ok = true</spanx> <strong>without</strong> an anchor; <spanx style="verb">complete_to_anchor = false</spanx> <strong>with</strong> one -- <xref target="verify-chain"/> cannot see truncation, <xref target="verify-anchor"/> can. This is why the two questions are separate.</c>
      <c><strong>Stale anchor</strong> (anchor names seq 8, chain has 12)</c>
      <c><spanx style="verb">anchor_lag = 3</spanx>, reported as an unanchored tail, <strong>not</strong> a replacement</c>
      <c><strong><spanx style="verb">seq</spanx> gap</strong> 11 -&gt; 99 with valid hashes</c>
      <c><spanx style="verb">chain_ok = false</spanx>, <spanx style="verb">gaps = [99]</spanx> -- <xref target="linking"/></c>
      <c><strong>Chain with no <spanx style="verb">GENESIS</spanx></strong></c>
      <c><spanx style="verb">chain_ok = false</spanx>, violation <em>"chain does not start with a GENESIS record"</em> -- <xref target="genesis"/></c>
      <c><strong><spanx style="verb">time_trust = UNKNOWN</spanx> with a non-zero clock</strong></c>
      <c><spanx style="verb">chain_ok = false</spanx>, violation -- <xref target="time"/></c>
</texttable>

<t>A companion vector <xref target="PALA-INTEROP"/> publishes a Signed Statement over this
chain head in the construction of <xref target="transparency"/>: 331 bytes, EdDSA under
the published test key of <xref target="RFC8032"/> Section 7.1, with the expected
bytes, digest, key identifier and a set of tamper expectations that
includes the byte-stability cases stated there. The vector was reissued
once, after a reproduction performed under a stated contamination
boundary found the conformance defect described in <xref target="impl"/>; both
versions and their digests are on the record.</t>

</section>
<section anchor="related-work"><name>Related work</name>

<t>Evidence for the conduct of AI systems is an active area, and most of
the current work sits in a different place in the stack than this
document. The distinctions below are stated to locate this format, not
to rank the documents.</t>

<t><strong>Transparency substrate.</strong> <xref target="RFC9943"/> defines an architecture in which
an issuer registers a signed statement with a transparency service and
receives a receipt, generalising the approach of certificate
transparency to arbitrary content. It is the substrate a number of the
documents below profile, and, as described in <xref target="transparency"/>, the
natural witness for a PALA-1 chain head. This document does not compete
with it; the two operate at different points and compose.</t>

<t><strong>Statement profiles for agent conduct.</strong> A cluster of individual
submissions profiles that substrate for AI agents.
<xref target="I-D.mih-scitt-agent-action-capsule"/> records verdict-level disposition
for a single agent action, with a binding that distinguishes a
dispatched effect from an observed result and a flag that prevents a
policy approval from being presented as human oversight.
<xref target="I-D.munoz-scitt-permit-profile"/> records pre-execution authorization --
whether an action was permitted, rather than what occurred.
<xref target="I-D.emirdag-scitt-ai-agent-execution"/> defines operator-signed
interaction records with redaction receipts.
<xref target="I-D.kamimura-vap-framework"/> frames hash chaining, signatures and
anchoring as a conformance-tiered provenance architecture.
<xref target="I-D.dawkins-scitt-ai-article50"/> profiles receipts for a specific
regulatory transparency obligation. <xref target="I-D.sato-soos-gar"/> records
session-level governance audit records produced by an enforcing
component.</t>

<t>These are per-action or per-session statement profiles, expressed in
JSON or CBOR, made transparent by registration with a service. This
document specifies a wire format for a continuously appended local
trail, verifiable without a service and without a key, under the
constraints of <xref target="constraints"/>. The difference is not a disagreement
about design: none of the documents above targets a deployment in which
signing each record is unaffordable, an external service is forbidden
by policy, and the verifier may not read what it verifies. A single
agent action in one of those profiles may correspond to many PALA-1
records; conversely a PALA-1 chain head may be carried into that
ecosystem as a signed statement. The layers are complementary, and the
practical relation is the anchoring path of <xref target="transparency"/>.</t>

<t><strong>Statement construction and binding.</strong>
<xref target="I-D.mih-sokolov-scitt-payload-binding"/> extracts, as a reusable
profile, the construction that systems anchoring structured records to a
transparency service repeatedly re-derive: a canonical payload form, a
content-derived identifier, receipt binding in the unprotected header,
and typed digest references between records. Its envelope conventions
-- <spanx style="verb">alg</spanx>, <spanx style="verb">kid</spanx> or <spanx style="verb">x5chain</spanx>, and a content type in the protected
header -- are the ones the statement of <xref target="transparency"/> follows.
<xref target="I-D.nobuo-scitt-protected-object-binding"/> defines a common model for
relating Signed Statements to the objects they describe, including
device instances. <xref target="RFC9995"/> defines a COSE structure carrying a digest
of a payload that the verifier obtains elsewhere. The statement of
<xref target="transparency"/> is a narrow instance of these concerns: its payload is
a fixed-shape commitment to a chain head -- which is not a digest of a
file but the result of the chain rules -- together with the range and
format identifier a verifier needs to recompute it. It could be
expressed under either binding document, or as a hash envelope over the
head, without loss, and this document does not preclude that.</t>

<t><strong>Architectural requirements.</strong>
<xref target="I-D.daniel-ai-agent-internet-architecture"/> states requirements for
supporting AI agents on the Internet, among them that audit evidence be
tamper-evident and support selective disclosure, and that protocols not
require the collection of private reasoning traces as a condition of
accountability. This format was designed before those requirements were
written and satisfies the second by construction: chain verification
inspects headers only and never requires a body to be disclosed.</t>

<t><strong>Time and existence.</strong> <xref target="RFC3161"/> timestamp tokens and
<xref target="RFC6962"/>-style logs are alternative witnesses for the existence claim
of <xref target="transparency"/>. This document is deliberately indifferent to which
is used; the witness record names a range and a witness, not a
mechanism.</t>

<t><strong>What is not addressed here.</strong> Selective disclosure at field
granularity, agent identity, authorization, and cross-party attestation
are all outside this document. Where a deployment needs them, the
profiles above address them directly and this format is not a substitute.</t>

</section>
<section anchor="impl"><name>Implementation status</name>

<t>This section records implementation experience per <xref target="RFC7942"/> and is to
be removed before publication as an RFC, should that occur.</t>

<t>The wire format described here is frozen at version 1.0. Five
implementations of it exist: the reference implementation; one written
by a co-maintainer under a stated contamination boundary; and three by
implementers who were external to the project at the time of their
runs -- one has since become a maintainer -- and who worked from the
specification text and the published test vectors alone
<xref target="PALA-VECTORS"/>. Each of the
latter four reproduces the published expected values of the
specification's test-vector section without access to any prior
implementation.</t>

<texttable>
      <ttcol align='left'>#</ttcol>
      <ttcol align='left'>Implementer</ttcol>
      <ttcol align='left'>Language</ttcol>
      <ttcol align='left'>Date</ttcol>
      <ttcol align='left'>Spec tested</ttcol>
      <ttcol align='left'>Result</ttcol>
      <c>1</c>
      <c>reference (authors)</c>
      <c>Python</c>
      <c>--</c>
      <c>--</c>
      <c>the format's origin, not a verification run</c>
      <c>2</c>
      <c>O. Verteletskyi (co-maintainer, stated boundary)</c>
      <c>Python, stdlib</c>
      <c>2026-08</c>
      <c><spanx style="verb">776aa15a</spanx>, <spanx style="verb">ce877e4</spanx></c>
      <c>chain + completeness reproduced; Merkle first blocked (leaves unpublished); 2 spec defects filed, closed; Merkle then reproduced</c>
      <c>3</c>
      <c>R. Bakaiev (external, unaffiliated)</c>
      <c>Python, stdlib</c>
      <c>2026-08</c>
      <c><spanx style="verb">c8e8247</spanx></c>
      <c>8/9 blind; 1 divergence -- the verifier was right, the vectors were inconsistent; confirmed at <spanx style="verb">1294bd0</spanx>, verifier unchanged</c>
      <c>4</c>
      <c>V. Kurdybailo (external, unaffiliated)</c>
      <c>Python, stdlib</c>
      <c>2026-08</c>
      <c><spanx style="verb">ff2720a</spanx></c>
      <c>11/11 blind first run + 7/7 demos; own adversarial construction exposed a common-mode pseudocode/prose defect; fixed, vectors byte-identical</c>
      <c>5</c>
      <c>O. Turak (external and unaffiliated at the time of the run; a maintainer since)</c>
      <c>Perl 5, core only</c>
      <c>2026-08</c>
      <c>tag <spanx style="verb">pala1-v1.0</spanx></c>
      <c>11/11 + 7/7 first run; 13 own adversarial cases, 140 checks, 0 failures; 8 ambiguities logged; span-pairing gap reported; AES-GCM built from the primitive standards, NIST-tested first</c>
</texttable>

<t>Run kind, stated in the vocabulary in current use for interoperability
reporting: rows 2 through 5 are each an <em>independent implementation from
the text</em>, checked against author-supplied vectors. None is an
<em>independent implementation with independent vectors</em>, since the vectors
are this project's; rows 4 and 5 additionally constructed their own
adversarial inputs beyond the published set, and in row 4 that
construction is what exposed the defect. The distinction is recorded
here rather than left to be inferred.</t>

<t>The fifth run is described in more detail because it is the one that
changed the specification after the freeze. The gap concerned span
pairing: the specification states that a crash must leave a visibly
unclosed span, because that is the evidence, yet defines no pairing
check anywhere -- so two conformant verifiers would differ on whether a
user ever sees an unpaired span. The resolution deliberately did not
make span pairing a verification verdict, since a trail truncated by a
crash is incomplete without being falsified; it is surfaced as an
advisory finding instead. The finding, the reasoning and the resolution
are on the public record, as are the verifiers, run records and
ambiguity logs of every run above.</t>

<t>The reference implementation ships the published vectors inside its
distribution package, so an installed build can be checked against them
without network access.</t>

<t>The cost claim of C1 has been measured rather than argued. An in-repository
harness compares chain hashing with per-record COSE signing, and a
second run of the same comparison, performed by a co-maintainer under a
stated contamination boundary, agrees with it: with native primitives on
a workstation, which is the case least favourable to the format,
per-record signing costs between 45 and 61 times the header hash on the
write path and between 116 and 168 times on the verify path
<xref target="PALA-COST"/>. On the embedded
targets of <xref target="constraints"/> the ratio is larger. These are measurements
of two implementations, not properties of the format, and are reported
as such.</t>

<t><strong>The transparency path.</strong> The Signed Statement construction of
<xref target="transparency"/> has its own record, kept separately from the wire-format
runs above because neither is evidence for the other <xref target="PALA-INTEROP"/>.
Two runs by a maintainer, each performed under a stated contamination
boundary from the referenced standards and the published vector alone,
and each with its own implementation of the CBOR and Ed25519
primitives, reproduced the statement byte-for-byte. The
first run found that the protected header omitted the <spanx style="verb">kid</spanx> header
parameter that Section 6 of <xref target="RFC9943"/> requires when neither <spanx style="verb">x5t</spanx> nor
<spanx style="verb">x5chain</spanx> is present, and that the subject truncated the chain head; the construction was
corrected, the vector reissued, and the second run reproduced the
corrected statement and independently re-derived the key thumbprint. The
second run additionally established that the published tamper
expectations had not exercised Ed25519 signature non-uniqueness (a
scalar increased by the group order verifies unless the verifier
enforces the range check of <xref target="RFC8032"/> Section 5.1.7); the reference
implementation's verifier was measured to enforce it, and the case is
now an executable expectation.</t>

<t>Registration was then exercised end to end: a statement over the head of
a chain written during a co-maintainer's session with the serving
interface described below was registered with the SCITT API emulator
published by the scitt-community project (<spanx style="verb">scitt-api-emulator</spanx> -- an
emulator, not a production service), and the receipt was verified both
by that emulator's own verifier and offline from the published
artifacts alone. The run is reported with its scope: the emulator was
operated by the authors on a local host for the duration of the run,
under a single-use key, and its receipt structure is the emulator's own,
predating <xref target="RFC9942"/>. One finding resulted: the emulator expected the
CWT-claims header under a draft-era label, whereas <xref target="RFC9597"/>
registered a different one; the statement was not altered to match, the
emulator received a one-line correction whose diff is published with the
run, and the matter is reported upstream. A registration with a transparency
service operated by an unrelated party is the next class of evidence and
is not claimed here.</t>

<t>The reference implementation also serves an interface compatible with a
widely deployed inference API, recording the tool-dispatch boundary of
<xref target="dispatch"/> for any client of that interface. A measured limit of that
recording is stated in the same record: when a client negotiates tool
use with the model in free text and executes locally, no structured
dispatch crosses the interface and nothing is recorded; the reference
implementation reports this as a visibility limit and does not
reconstruct dispatches from prose.</t>

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

<t>Tamper-evidence applies to record bytes, not to the honesty of the
recorder. This format makes alteration of a written trail detectable. It
cannot establish that the runtime which wrote the trail reported
truthfully at the moment of writing, and no format can: a dishonest
producer with no external observer can construct an internally valid
record of a fiction. Publication of a chain head to an external witness
(<xref target="transparency"/>) bounds when such a trail can have been constructed
and makes its later substitution or omission detectable; it does not
make its content true. Every claim elsewhere in this document is bounded
by this paragraph.</t>

<t>The boundaries below are stated here rather than discovered later.</t>

<t><list style="numbers">
  <t><strong>It does not make the log true.</strong> The chain proves <em>this is what the system
recorded, unmodified</em>. Not <em>this is what happened</em>. A hallucinated model
output is preserved faithfully.</t>
  <t><strong>It does not defend against the owner at tier A.</strong> Key and anchor are both
theirs. Tier A is self-diagnostics. <xref target="tiers"/> is the only mitigation, and it is partial.</t>
  <t><strong>It does not bind to hardware.</strong> <em>"This is the same device"</em> needs tier B+.</t>
  <t><strong>A digest without its frame proves nothing about content.</strong> Commitment
defeats fabrication; it does not reconstruct.</t>
  <t><strong>Cleartext headers are metadata, and metadata discloses.</strong> The span graph,
origins and timing are readable without a key. That is the cost of <xref target="constraints"/>, and
it is not zero.</t>
  <t><strong>It does not guarantee an action was logged before it happened.</strong> <xref target="spans"/>.</t>
  <t><strong>The chain alone does not detect truncation.</strong> <xref target="verify-anchor"/> is not optional;
without an anchor the last N records can be removed silently.</t>
</list></t>

</section>
<section anchor="iana-considerations"><name>IANA considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor='RFC2119'><front><title>Key words for use in RFCs to Indicate Requirement Levels</title><author initials='S.' surname='Bradner'><organization/></author><date month='March' year='1997'/></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 initials='B.' surname='Leiba'><organization/></author><date month='May' year='2017'/></front><seriesInfo name='BCP' value='14'/><seriesInfo name='RFC' value='8174'/><seriesInfo name='DOI' value='10.17487/RFC8174'/></reference>

<reference anchor="FIPS180-4" >
  <front>
    <title>Secure Hash Standard (SHS)</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2015" month="August"/>
  </front>
  <seriesInfo name="FIPS" value="PUB 180-4"/>
</reference>
<reference anchor="SP800-38D" >
  <front>
    <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2007" month="November"/>
  </front>
  <seriesInfo name="NIST" value="SP 800-38D"/>
</reference>


    </references>

    <references title='Informative References'>



<reference anchor='RFC3161'><front><title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title><author initials='C.' surname='Adams'><organization/></author><author initials='P.' surname='Cain'><organization/></author><author initials='D.' surname='Pinkas'><organization/></author><author initials='R.' surname='Zuccherato'><organization/></author><date month='August' year='2001'/></front><seriesInfo name='RFC' value='3161'/><seriesInfo name='DOI' value='10.17487/RFC3161'/></reference>
<reference anchor='RFC6962'><front><title>Certificate Transparency</title><author initials='B.' surname='Laurie'><organization/></author><author initials='A.' surname='Langley'><organization/></author><author initials='E.' surname='Kasper'><organization/></author><date month='June' year='2013'/></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 initials='Y.' surname='Sheffer'><organization/></author><author initials='A.' surname='Farrel'><organization/></author><date month='July' year='2016'/></front><seriesInfo name='BCP' value='205'/><seriesInfo name='RFC' value='7942'/><seriesInfo name='DOI' value='10.17487/RFC7942'/></reference>
<reference anchor='RFC8032'><front><title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title><author initials='S.' surname='Josefsson'><organization/></author><author initials='I.' surname='Liusvaara'><organization/></author><date month='January' year='2017'/></front><seriesInfo name='RFC' value='8032'/><seriesInfo name='DOI' value='10.17487/RFC8032'/></reference>
<reference anchor='RFC8785'><front><title>JSON Canonicalization Scheme (JCS)</title><author initials='A.' surname='Rundgren'><organization/></author><author initials='B.' surname='Jordan'><organization/></author><author initials='S.' surname='Erdtman'><organization/></author><date month='June' year='2020'/></front><seriesInfo name='RFC' value='8785'/><seriesInfo name='DOI' value='10.17487/RFC8785'/></reference>
<reference anchor='RFC8949'><front><title>Concise Binary Object Representation (CBOR)</title><author initials='C.' surname='Bormann'><organization/></author><author initials='P.' surname='Hoffman'><organization/></author><date month='December' year='2020'/></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 initials='J.' surname='Schaad'><organization/></author><date month='August' year='2022'/></front><seriesInfo name='STD' value='96'/><seriesInfo name='RFC' value='9052'/><seriesInfo name='DOI' value='10.17487/RFC9052'/></reference>
<reference anchor='RFC9597'><front><title>CBOR Web Token (CWT) Claims in COSE Headers</title><author initials='T.' surname='Looker'><organization/></author><author initials='M.' surname='Jones'><organization/></author><date year='2024'/></front><seriesInfo name='RFC' value='9597'/><seriesInfo name='DOI' value='10.17487/RFC9597'/></reference>
<reference anchor='RFC9679'><front><title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title><author initials='O.' surname='Steele'><organization/></author><author initials='M.' surname='Jones'><organization/></author><author initials='H.' surname='Tschofenig'><organization/></author><date year='2024'/></front><seriesInfo name='RFC' value='9679'/><seriesInfo name='DOI' value='10.17487/RFC9679'/></reference>
<reference anchor='RFC9942'><front><title>CBOR Object Signing and Encryption (COSE) Receipts</title><author initials='O.' surname='Steele'><organization/></author><author initials='H.' surname='Birkholz'><organization/></author><author initials='A.' surname='Delignat-Lavaud'><organization/></author><author initials='C.' surname='Fournet'><organization/></author><date month='June' year='2026'/></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 initials='H.' surname='Birkholz'><organization/></author><author initials='A.' surname='Delignat-Lavaud'><organization/></author><author initials='C.' surname='Fournet'><organization/></author><author initials='Y.' surname='Deshpande'><organization/></author><author initials='S.' surname='Lasker'><organization/></author><date month='June' year='2026'/></front><seriesInfo name='RFC' value='9943'/><seriesInfo name='DOI' value='10.17487/RFC9943'/></reference>
<reference anchor='RFC9995'><front><title>CBOR Object Signing and Encryption (COSE) Hash Envelope</title><author initials='O.' surname='Steele'><organization/></author><author initials='S.' surname='Lasker'><organization/></author><author initials='H.' surname='Birkholz'><organization/></author><date month='July' year='2026'/></front><seriesInfo name='RFC' value='9995'/><seriesInfo name='DOI' value='10.17487/RFC9995'/></reference>
<reference anchor='I-D.daniel-ai-agent-internet-architecture'><front><title>An Architecture for AI Agents on the Internet</title><author surname='Daniel'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-daniel-ai-agent-internet-architecture-00'/></reference>
<reference anchor='I-D.mih-scitt-agent-action-capsule'><front><title>An Agent Action Capsule Profile for SCITT</title><author initials='S.' surname='Mih'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-mih-scitt-agent-action-capsule-02'/></reference>
<reference anchor='I-D.munoz-scitt-permit-profile'><front><title>A Permit Profile for SCITT</title><author surname='Munoz'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-munoz-scitt-permit-profile-00'/></reference>
<reference anchor='I-D.emirdag-scitt-ai-agent-execution'><front><title>AI Agent Execution Records for SCITT</title><author surname='Emirdag'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-emirdag-scitt-ai-agent-execution-00'/></reference>
<reference anchor='I-D.kamimura-vap-framework'><front><title>Verifiable AI Provenance Framework</title><author surname='Kamimura'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-kamimura-vap-framework-00'/></reference>
<reference anchor='I-D.dawkins-scitt-ai-article50'><front><title>A SCITT Profile for EU AI Act Article 50 Transparency Receipts</title><author surname='Dawkins'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-dawkins-scitt-ai-article50-00'/></reference>
<reference anchor='I-D.sato-soos-gar'><front><title>Governance Audit Record</title><author surname='Sato'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-sato-soos-gar-03'/></reference>
<reference anchor='I-D.mih-sokolov-scitt-payload-binding'><front><title>Canonical Payload Binding: A Signed Statement Construction Profile</title><author initials='S.' surname='Mih'><organization/></author><author surname='Sokolov'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-mih-sokolov-scitt-payload-binding-01'/></reference>
<reference anchor='I-D.nobuo-scitt-protected-object-binding'><front><title>SCITT Statement Relationship and Protected Object Binding</title><author surname='Nobuo'><organization/></author><date year='2026'/></front><seriesInfo name='Internet-Draft' value='draft-nobuo-scitt-protected-object-binding-00'/></reference>

<reference anchor="PALA-SPEC" target="https://github.com/Assault-Consulting/Palimpsests/blob/main/docs/specs/pala-1/PALA-1.md">
  <front>
    <title>PALA-1 wire format specification, v1.0 (frozen)</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026" month="August"/>
  </front>
</reference>
<reference anchor="PALA-VECTORS" target="https://github.com/Assault-Consulting/Palimpsests/tree/main/docs/specs/pala-1">
  <front>
    <title>PALA-1 test vectors and independent verification record</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026" month="August"/>
  </front>
</reference>
<reference anchor="PALA-INTEROP" target="https://github.com/Assault-Consulting/Palimpsests/tree/main/docs/interop">
  <front>
    <title>PALA-1 SCITT bridge: statement vector, bridge runs and registration run</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026" month="August"/>
  </front>
</reference>
<reference anchor="PALA-COST" target="https://github.com/Assault-Consulting/Palimpsests/blob/main/docs/specs/pala-1/independent-runs/oleksandr/serialization-cost/REPORT.md">
  <front>
    <title>Serialization cost, independently measured: chain hashing versus per-record signing</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026" month="August"/>
  </front>
</reference>


    </references>


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

<t>The specification was hardened by its independent verifiers, whose
findings were resolved on the public record before this document
existed, and the transparency path was hardened in the same way by the
runs recorded in <xref target="impl"/>. The authors thank every external contributor
to that effort, the maintainers of the scitt-community reference
implementation, and the SCITT and COSE working groups, whose published
work this document refers to and builds no claim upon.</t>

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="O." surname="Turak" fullname="Oleksii Turak">
      <organization></organization>
      <address>
        <email>olexii.turak@gmail.com</email>
      </address>
    </contact>
<t>Produced the fifth implementation of the frozen wire format, in Perl 5, working from the specification text and published vectors alone under the project's stated contamination boundary, and surfaced a specification-completeness gap in span pairing that was resolved on the public record before this document existed. Later, as a maintainer, reproduced the SCITT-bridge Signed Statement byte-for-byte from the referenced standards in two further runs, the first of which identified a conformance defect against RFC 9943 that was corrected on the record.</t>

    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7W963obR7Il+r+eorb0wxQagElK1IUa9xlaom2NrcuItP31
9PQRC0CRrBGA4qAKpGHJ8yznWc6TnVgrIjKzCpC795w9/X3dLQKFrLxExj1W
jEajrK3aeXmc33t38tPJ6OA4P8nPi8VNuRqd3lazctnmJ+tZ1ebvy2m9muXf
1atF0eaX9Sp/US+bdlVUy3KWF8tZ/rJqpvVyWU5b+eBleTOvNwv5fXMvKyaT
VXkb3tEZUb6e1dNlsZA5zFbFZTtqborVprke3RTzYlTg0dH+fjYt2vKqXm2O
82p5WWfNerKomqaql+3mpsSHs/KmXGLCWXWzOs7b1bppD/f3n+0fZh/LzZ28
6jjL81HOEXNMfM6/W11taaud11dX1fKKX528wsvKVbmclvzgumiu8+m1rJl/
Tlebm7YeNdercjbzH83raTEfXVarps2aVjbmQzGvlzLFTdlkN9Vx/ve2ng7z
pl61q/KykX9tFvjHP7KsWLfX9UqnWS0bOYtxfqa7IZ/lue7SyXK2qqrOF/Xq
qlhWvxet7Ic80DTFet7ygOT/dWJ5Pq1a2b0fN9Wt/lmvly328+ePPER+WC5k
W47zovnPhQ4ynqaD2LTejvNfylVbzsu2+bipkrm9nZcfG1nzavuB/+g51re7
5pjJv9tVNVm3nY2UGZ+vV8XH/lRlH+PnPvC8/K2qxi0+/89X+ExesLD52OBc
w1/5WZ6/W9Wz9VSIvr0u88vqsr3Oq8XNvAT1c7l5fanfrerfy2V+V61K3CC5
SMOcpMRRytU8PxrmQqkfZSV4eMFfNTfltLqspjpUW/7W8rrdrCfzqrmW197K
latXjY1DasvXchVW/PnNqv4f8sBXTS7UiKuJRRSLaqnjTWSLZ0JJQwxqQzTr
1WWBBRXdl49kH2Rdbbksmya/Km5k9vJEscxvimqFSbfXwhzuCp/Lqmzq+a0M
hIljLpjzVD4mL5mUsgmlfFE1ufCANfYrl71vZJbj/CeZ7Groi2pkLnIUMnMh
g9VQhrhJd/3sxavz89FkVc2u5I/qCjzpDMvFmDbGZNOWI3njCP+I2yt3T2/4
LOd1LYQnYV3tXZ1frlfyyCpfrZeNT0UPWW43TvXuuprKaYNzyC5xx2R7ebYy
Yj6TsadyXFcy68bn8f67F/mzZ48ehs2Sn6xWyjZtn3SDxlm2JJVUtyVoWX54
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
7/XJ3+7pLt97++781ds3Jz/dU62sw8JW7r4ld5FzailOshjxlt98++Ld//v/
HDySy/dvlvorN0//QPKv/CHyIsRNVHwo295k8OsXK4wCo3ta3FRtQWaIywN1
AJIGXt6/Y2f+cZz/p8n05uDRX+0DLLjzoe9Z50Pu2fYnWz/WTdzx0Y7XhN3s
fN7b6e58T/7W+dv3PfkQmQBWwGIC8dN9/ccfCINHbe3CHHGfP9O1daEE3/Fy
LW7ajdLdd3DVuetO1KuDo8fmOfh0X914+p2843P+9vIS1P85P6t+L+X/vqtK
MSo+5+ebG/z5psbvPmefR6PRcfif8F8ZYF+eeiT/vVgUV9X0Qv6l75JPoAJe
5Hv7vx3t5/u/PTrA/7zgvx5gSP7sEA/qFfpgiSoYY33wWP73gI899sd02h/m
ZfqILO4v+flPv+hrZWNqoShfvforxxzmqQ+j2/oBBTpxHFGu5G/IEDx7sK9v
zy+C5vBBbIUVn3+qj8uf4fEDfxzS7gPDG51HF6U/iRng0wtRePnIY+zC61oY
HoxU8mncDs/CekMf1qqEPqbrOOTcMOeLSV23H6pZuulvbwpRpIf5elnJ/1Mj
w1P85UP86CH3QK727Qf4CjoHZjujn5sIx5NVvW6cGnkiT8MUUGbRm8J/K1d1
Xl2q7S5fj6gK6S+fPgq/1ESND18a4Jt85fM+2N/3XVv4Rn1YNnH7zhjsxDp9
w6KvamxDPPUh8NUHfmVjVBzjTfBFNBY8/XlZ/ZaXN/X0mp7jfTvqx07wws5t
4mtu6r7MGf51uZUWXGQsiJUx+HAspKBO7kAM4fLg+0DYHI3PbuBxD08/CsfH
x1XbTTdO2NzoUC7Ep0+h+kJ+bAdJbsEnOTsZ6Hfss/5WjivMQZaxL6MKBxIW
vUCerZammIsG6nnbii0uFm1VgERrUZFZaDbu3lFybOFNf/0G15RilB+JcC3m
qsYzy82ckZio3Vu9yypF5WojmLukdiwsrJ3fCud6tViU8npN94s+6oT14Q60
otx0puQx6HJ2nGUXFxeZlukpD1Bu4X/RRSO8Wj/9q86JvxHWjFlV8Nu4VGIQ
VdTdzuuUTc8L2Ezh4ZJZhOblarPO8whv/rz8uIQkxCvIk8I+qss3D/uI16rf
WRNKoHxpkgdzWbKavMBOmBkHwQlPtSjo/HihKi4hKE8dVtX8T5/UmTECgfzx
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
ANR6XgABAA==

-->

</rfc>

