HATS Standards · Canonical Specification

HATS Record v1

The canonical specification binding the H33 cryptographic stack into a single deterministically verifiable artifact. Eight layers from the H33-74 substrate up through tenant and spine binding.

Draft for Review v1.0.0 · 2026-05-30
Editor: H33 Standards Group  ·  Repository: github.com/H33ai/h33-replay-verifier  ·  Mailing list: standards@h33.ai
Status: normative for HATS implementations · License: Apache-2.0 (verifier-side) · Patent linkage: Family architecture invariants document (load-bearing)

§1Abstract

This specification defines HATS Record v1, the canonical artifact produced by an implementation of the H33 AI Trust Standard. A HATS record is a deterministically verifiable, post-quantum signed envelope that binds eight layers of the H33 cryptographic stack — from the 74-byte substrate primitive at the base, through upstream cryptographic engines and orchestration patents, to chain anchors and tenant bindings at the top — into a single artifact that any independent verifier can replay years later without trusting the issuer.

The record is chain-portable, engine-portable, and vendor-portable. It is signed under three independent post-quantum signature families. It can be anchored to multiple chains simultaneously. It can be replayed deterministically against a published canonical replay frame. Its verification answer is identical across any conformant implementation.

This document is normative for HATS implementations and is the authoritative source for the layer schemas, encoding rules, and verification protocol referenced elsewhere in the H33 documentation set.

§2Goals and non-goals

Goals

  • Bind the full H33 stack into a single artifact whose verification answer is deterministic across independent implementations.
  • Survive chain migrations, vendor changes, operator failure, and future cryptographic engine changes without re-issuance.
  • Enable an auditor, regulator, or counterparty to verify the record using only the published specification and the open-source verifier — no trust in H33, no dependence on H33 infrastructure, no requirement that the original issuer remain online.
  • Provide post-quantum verification guarantees against current and future cryptanalytic developments by using three independent NIST-standardized signature families in parallel.
  • Maintain a clear public/proprietary boundary: verification artifacts and protocols are public; signing pipelines and computation engines may remain proprietary.

Non-goals

  • This specification does not define the upstream cryptographic engines themselves (STARK, FHE, ZK-SNARK, biometric fusion). It defines how their outputs are bound into the record.
  • This specification does not mandate a particular chain or set of chains for anchoring. Anchor presence is optional and pluralistic.
  • This specification does not standardize the production-side signing pipeline. Implementations may sign through any path that produces a conformant envelope.
  • This specification does not define record completeness semantics. A conformant verification of a HATS record asserts that the record is bit-identical to what was signed at issuance; it does not assert that the record represents every event the underlying case ever had.

§3Terminology

HATS record
The canonical artifact defined by this specification. The full eight-layer envelope.
Substrate
The 74-byte post-quantum signed receipt at the base of the stack. Layer 0.
Upstream engine
Any cryptographic engine that produces an output bound into the substrate. STARK, BFV/CKKS FHE, ML-DSA signing pipelines, biometric fusion, and conformance vector emitters are all upstream engines.
Canonical replay frame
The deterministic structure against which any independent verifier evaluates a record. The canonical replay frame is published as part of this specification and is the basis for verifier equivalence.
Independent verifier implementation
Any implementation of the verification protocol defined in §16 that produces the same per-check verdicts as the reference implementation on every record in the immutable conformance corpus.
Structured rejection semantics
Every verification outcome is typed. A PASS or FAIL is accompanied by a structured per-check verdict array. There are no untyped failures.
Replay-grade attestation
An attestation whose verification can be reproduced deterministically by an independent verifier at any future time using only the published artifact, the published specification, and the open-source verifier.
Deterministic conformance verification
The property that, given the same record and the same conformance vector, every independent verifier implementation produces the same per-check verdict.
Three-family PQ signature envelope
The signature wrapper used at every layer of the stack. Composed of an ML-DSA-65 signature, a FALCON-512 signature, and an SLH-DSA-128f signature, all over the same canonical payload.
Conformance corpus
The immutable set of canonical records and expected verdicts against which conformant implementations are validated.
Boundary
The public-versus-proprietary delineation defined in §21. The verification side of the protocol is fully public; the computation side may be proprietary.

Throughout this specification, the key words MUST, MUST NOT, SHOULD, and MAY are used per RFC 2119 semantics.

§4Layered architecture

A HATS record is composed of eight conceptual layers. Layers 0 through 2 are foundational and apply to every H33 artifact. Layer 3 is the HATS-specific envelope. Layers 4 through 7 are the operational, verification, and binding wrappers that turn a record into something a third party can replay.

LayerNamePurpose
0H33-74 substrateThe 74-byte post-quantum signed primitive
1Upstream engineThe cryptographic engine that produced the underlying output
2OrchestrationQ-Sign authority objects, Agent-Zero embodiments, CIP interop
3HATS recordThe AI-specific structured envelope
4Replay bundleThe operational unit consumed by the replay verifier
5Signed verification reportThe auditor-facing artifact emitted by the verifier
6Chain anchorOptional notarization surface — one or many
7Tenant and spine bindingOperational binding into the H33 spine schema

Each layer is independently verifiable. A conformant verification proceeds layer-by-layer; a failure at any layer produces a structured rejection that names the layer, the field, and the check that failed.

§5Layer 0 — H33-74 substrate

Layer 0 · Foundation
The 74-byte post-quantum signed primitive
SHA3-256 commitment plus three-family PQ signature envelope

The H33-74 substrate is the atomic unit of the stack. It is the same 74 bytes on every chain, in every product surface, and at every layer above. It is the only primitive that crosses every boundary in the specification.

Field schema

commitment (32 bytes)
SHA3-256 over the canonical bundle payload. The commitment is the content address of the record.
pq_receipt (42 bytes)
Three-family signature envelope: ML-DSA-65 + FALCON-512 + SLH-DSA-128f, all over the commitment. The 42-byte form is the packed binding header; the full per-family signatures are carried in the bundle, not in the substrate.
substrate_version
Always 1 for HATS Record v1. The substrate version MUST NOT be bumped to widen the primitive; extensions bind off-chain via verification_hash.
signing_message
Off-chain extension table key. The signing_message indexes into the canonical extension store and binds the substrate to actor, tenant, epoch, and engine context.
verification_hash
Off-chain extension hash. Binds actor and tenant context without modifying the 74-byte primitive.
epoch_id
The PQ public-key rotation epoch under which the receipt was signed. Required for verifier key-resolution.
Canonical sources. h33-substrate SPEC v1.2; binary bundle format h33-substrate-bundle-v1 (content-addressable by SHA3, approximately 21 KB nominal); public-key registry format h33-substrate-pubkeys-v1 (JSON, epoch-keyed). The substrate format is patented (Substrate patent family). Verifier code under Apache-2.0 in github.com/H33ai/h33-replay-verifier.

Substrate invariants

  1. The substrate MUST be exactly 74 bytes wire-format.
  2. The substrate version MUST NOT be modified to extend the primitive. Extensions MUST bind via the off-chain verification_hash mechanism.
  3. The commitment MUST be SHA3-256, not SHA-2 or BLAKE-family.
  4. The substrate MUST be reproducible byte-for-byte given the same canonical payload and the same epoch key set.

§6Layer 1 — Upstream cryptographic engine

Layer 1 · Producer
The cryptographic engine that produced the underlying output
STARK, FHE, ZK-SNARK, biometric fusion, conformance emitter — all attested through the same envelope

An H33 record may carry the output of any cryptographic engine, but every engine MUST identify itself, declare its verification key, and ship a determinism vector. The substrate is engine-portable by construction: the same 74 bytes signs a STARK proof, an FHE-attested computation, a ZK proof of identity, or a biometric fusion outcome.

Field schema

engine_id
SHA3-256 over the canonical engine descriptor (circuit, program, parameter set). The engine_id is the engine's content address.
engine_family
One of stark, halo2, plonk, bfv, ckks, tfhe, seal, biometric_fusion, conformance_emitter, or an explicitly registered extension token. Engine families map to the attested-routing patent (H33006).
input_commitments
Array of commitments (Pedersen or SHA3) to private inputs. Each commitment is itself replay-grade.
public_inputs
The public statement the engine asserts. For example, "age ≥ 18 in jurisdiction X" or "transferred-attack success rate is 0.196 ± 0.041".
verification_key
The engine's VK as published. Hash MUST be reproducible.
determinism_vector
The replay-grade determinism vector defined by the conformance-vector patent (positive form). Reserved negative form, when populated, MUST be marked.
proof_artifact
The engine's native proof output, as bytes. Format is engine-family-specific and defined by the engine's own published specification.
Canonical sources. crypto-integration-orchestrator.service.js in the Digital SCIF code base bridges ML-DSA / FALCON / SLH-DSA signing into upstream engines; fhe-core/ in the same code base hosts BFV / CKKS / TFHE engines. Engine-family identifiers and VKs are published in the engine's own normative document; this specification only requires that they be hashed and bound into the record.

Upstream invariants

  1. Every engine MUST publish a normative description of its inputs, outputs, and VK format.
  2. Every engine MUST emit a determinism vector that allows an independent verifier to reproduce the public-input commitments deterministically.
  3. An engine MAY change versions; every version change MUST produce a distinct engine_id. Records signed under different engine_ids are distinct records, never the same record under two interpretations.

§7Layer 2 — Q-Sign / Agent-Zero / CIP orchestration

Layer 2 · Orchestration
Authority objects, embodiments, and interop bindings
Where bare signatures become structured claims with replay semantics

Layer 2 is where the H33 patent family converts a signed engine output into an authority object that can carry policy, lifecycle, and continuity semantics. Q-Sign defines the authority object schema; Agent-Zero defines the autonomous-agent embodiment; the CIP defines the cross-implementation interop bindings.

Q-Sign elements

authority_object
The seven primitives defined by H33-Q-Key: time-bound authority, negative proofs, state-scoped semantics, multi-party continuity, computation-bound execution, trust scoring, and survivability.
canonical_replay_frame
The published deterministic structure against which an independent verifier evaluates this record. Required for verifier equivalence.
structured_rejection_semantics
Per-check verdicts MUST be typed. There are no untyped failures.
conformance_vector_membership
If the record is part of the immutable conformance corpus, its corpus identifier MUST be present.

Agent-Zero elements

decision_finality_fallback
The Agent-Zero embodiment that defines how a record becomes final under partial-state conditions.
cryptographic_engine_portability_descriptor
Agent-Zero's highest-priority patent claim: a portable descriptor that lets an authority object move across engine families without redefining the underlying engine.
replay_grade_determinism
The independent-claim formulation of replay-grade determinism reserved for the Agent-Zero continuation. Records that instantiate this claim MUST mark the field present.
ai_llm_embodiment_hook
The AI / transformer / LLM embodiment hook used when the authority object governs an AI agent. Optional unless the record is AI-specific (see §8).

CIP elements

attestation_interface
The CIP attestation interface descriptor binding the record to an external attestation surface.
session_lifecycle_manager
The CIP session lifecycle manager binding. Carries session state semantics across the boundary.
Canonical sources. The patent family architecture invariants document — load-bearing for this specification. Q-Sign normative material in the Q-Sign continuation. Agent-Zero in the Agent-Zero complete specification (working copy _WORKING.docx; never edit the canonical filing in place). CIP in H33_CIP_RESTRUCTURED_WORKING.docx.

§8Layer 3 — HATS record (AI-specific structured envelope)

Layer 3 · HATS-specific
The AI Trust Standard record
Where the H33 stack meets AI-specific evidence schemas

Layer 3 is the HATS-specific envelope. It is what makes a generic H33 record into a HATS record. The schema below is the v1 schema and is normative for all HATS records, including replayable adversarial resilience records, AI decision provenance records, and AI compliance records.

Field schema

record_id
The 74-byte commitment from Layer 0, rendered as the record's primary identifier.
record_kind
One of adversarial_resilience, decision_provenance, training_attestation, inference_attestation, red_team_outcome, or an explicitly registered extension token. v1 normatively defines the five baseline kinds; extensions MUST be registered via the conformance corpus before use.
target_model_identity
An object containing the model's weight hash, version, pre-production timestamp, and jurisdiction tag. The weight hash is SHA3-256 of the canonical-form serialized model weights.
surrogate_set_M1
For adversarial-resilience records: array of surrogate model descriptors in the high-CKA band (~0.55 and above). Each element carries model_name, CKA_score, transfer_rate, and rationale.
surrogate_set_M2
For adversarial-resilience records: array of surrogate model descriptors in the low-CKA band (~0.35). Same element shape as M1.
attack_corpus
For adversarial-resilience records: object describing the attack ensemble (e.g., AutoAttack: APGD + FAB + Square), the configuration parameters, and the RNG seed required for reproducibility.
per_surrogate_outcomes
Array of per-surrogate, per-attack outcomes: {surrogate_id, attack_id, success_count, sample_count}.
risk_estimate
For adversarial-resilience records: object containing mean, std, ci_95_low, ci_95_high, and estimator_metadata. The estimator MUST be documented in estimator_metadata sufficiently for an independent verifier to reproduce the estimate from the per-surrogate outcomes.
verifier_binding
Object containing hats_verify_cli_version, container_digest, and identity_fingerprint. Binds the record to the specific verifier instance that was used at issuance time.
regulatory_mapping
Array of {framework_id, articles, mapping_notes} entries. v1 framework_ids: eu_ai_act, nist_ai_rmf, owasp_ai_exchange, iso_42001, cmmc_2_0. Extensions MUST be registered.
pq_signature_envelope
The three-family PQ signature envelope as defined in §15.
chain_anchors
Array of chain anchor descriptors. See §10.
extension_fields
A reserved object for forward-compatible extension fields. Unknown extension fields MUST be preserved through round-trip but MUST NOT participate in the canonical commitment hash unless explicitly registered.

§9Layer 4 — Replay bundle

Layer 4 · Operational unit
The bundle consumed by the replay verifier
Schema h33-replay-bundle-v0.2

A replay bundle is the operational unit that the open-source replay verifier consumes. It contains the events that produced the record, the substrate bindings for each event, the canonical frame references, and the tenant / agent / continuity bindings that make the record replayable.

Field schema

bundle_schema_version
Always h33-replay-bundle-v0.2 for HATS Record v1.
events
Immutable, ordered array of events. Every event MUST be substrate-attested via its own Layer 0 receipt. Events MUST be ordered by their canonical sequence number; gaps are not permitted within a single bundle.
continuity_root_id
The cryptographic root that binds the events to a single case or session. The continuity root MUST be reproducible from the event hashes.
case_id, tenant_id, agent_id
Spine schema fields. v010-plus spine discipline requires every table to attach to case_id / agent_id / continuity_root_id. There are no orphan rows in a conformant bundle.
frame_refs
References to canonical replay frames against which the events are evaluated.
substrate_bindings
Array of per-event H33-74 receipts. There is one substrate binding per event.
hash_algorithms_declared
The hash algorithms used within the bundle, declared up front. Each algorithm MUST be in the recognized allowlist; SHA3-256 is the canonical default. Bundles declaring unknown algorithms fail the corresponding verifier check.
bound_to_replay
Boolean. Required for v012-plus join discipline. A bundle whose join tables do not all have bound_to_replay = true is non-conformant.
Canonical sources. github.com/H33ai/h33-replay-verifier/blob/main/spec/h33-replay-bundle-v0.2.md. Reference implementation: h33-replay-verify CLI and its compiled-to-WASM browser variant at /verify-the-story/playground/.

§10Layer 5 — Signed verification report

Layer 5 · Auditor-facing
The signed transcript a verifier emits
Schema h33-signed-verify-report-v0.1 · ML-DSA-65 detached signature

A signed verification report is what an independent verifier emits when it verifies a HATS record. It is the artifact an auditor or regulator consumes. It is signed under a single ML-DSA-65 key — the verifier's per-instance identity — and is independently verifiable against any FIPS-204-conformant ML-DSA implementation.

Field schema

transcript_schema_version
Always h33-signed-verify-report-v0.1 for HATS Record v1.
bundle_hash
SHA3-256 of the replay bundle (Layer 4) that was verified.
verifier_version
Semver of the verifier implementation that produced the report.
verifier_identity_fingerprint
SHA3-256 of the verifier's ML-DSA-65 public key. This is the verifier's stable identity.
verifier_public_key
The verifier's ML-DSA-65 public key, embedded for self-contained verification.
per_check_verdicts
The structured array of per-check results from the §16 verification protocol. Each verdict is a {check_id, result, detail} triple.
timestamp_utc
UTC timestamp at which the verifier produced the report. ISO 8601.
detached_signature
ML-DSA-65 detached signature over the canonical payload of the report.
Canonical sources. github.com/H33ai/h33-replay-verifier/blob/main/spec/h33-signed-verify-report-v0.1.md. Reference implementation: h33-verify v0.2.0, per-instance keypair at ~/.config/h33-verify/identity.json.

§11Layer 6 — Chain anchor

Layer 6 · Notarization
Chain anchors (optional, multiple, replaceable)
Records are chain-portable by construction; chains are interchangeable notarization surfaces

A HATS record MAY be anchored to one or more chains. Anchors are optional. A record without any chain anchor is still verifiable; chain anchors provide independent third-party notarization, not the record's source of truth. A record MAY be re-anchored to new chains at any time without modifying the record itself.

Field schema (per anchor)

chain_id
Canonical chain identifier. v1 known values: bitcoin, ethereum, polygon, solana, zcash, cosmos, hedera, avalanche, arbitrum, base, optimism.
anchor_transport
The AnchorTransport trait identifier. Required from chain #3 onward in any implementation. Pre-trait per-chain implementations MUST be migrated into a single trait before scaling beyond two notarization surfaces.
block_number
The block at which the anchor was confirmed.
block_hash
The canonical block hash for that chain at block_number.
tx_hash
The transaction hash that wrote the anchor payload.
anchor_payload
What was written on chain. For Bitcoin, this is the Taproot anchor format (Taproot leads; OP_RETURN is a supported alternative but never leads). For EVM chains, this is the EAS-compatible attestation format. For Solana, this is the program-call payload to the H33-Solana program. For Zcash, this is the shielded-pool-native anchor.
verified_at_utc
UTC timestamp at which an authority observed the anchor confirmed on the chain.
anchor_status
One of confirmed, pending, failed.
Canonical sources. The AnchorTransport trait and the universal anchor receipt format are normative gates for any implementation that supports more than two chains. See /h33-74/chain-portability/ for the operational discussion.

Anchor invariants

  1. The set of anchors on a record MAY change over time. A record that gains a new anchor remains the same record.
  2. The absence of any anchor does NOT invalidate a record. The substrate is the source of truth.
  3. An anchor's verification MUST be independent of H33 infrastructure. A verifier validates the anchor by querying the chain directly.

§12Layer 7 — Tenant and spine binding

Layer 7 · Operational
Binding into the H33 spine schema
Same-scope hard enforcement at the database layer

Layer 7 binds a HATS record into the operational spine schema. This is where tenancy, case scoping, and replay-binding live. Layer 7 MUST be enforced at the database layer in conformant implementations; soft application-only enforcement is non-conformant.

Field schema

tenant_id
The tenant that owns the record.
insurer_id
For insurance-oriented records (V005 schema). Optional for general records.
insured_organization_id
For insurance-oriented records (V005 schema). Optional.
agent_id
The agent identity that produced the record.
continuity_root_id
Reference to the continuity root carried in the replay bundle.
case_id
The case identifier the record is bound to.
insurance_policy_id
For policy-bound records. Optional.
bound_to_replay
Boolean. v012-plus join discipline requires this for all join-table participation.
spine_route_membership
The record's spine route assignment. MUST be a member of the canonical SPINE_ROUTES registry (24 routes in v1.1). The spine v1.1 routing surface is frozen; new routes appear under fresh version bumps, never via silent extension.
Canonical sources. ~/scif-backend/docs/api/spine-auth-matrix.md; ~/h33-platform/docs/V100-MIGRATION-PLAYBOOK.md. Cross-tenant and cross-case joins MUST be structurally impossible at the DB level (composite FK or trigger). Soft app-only integrity is non-conformant.

§13Cross-cutting elements

The following elements appear at every layer above Layer 0 and are normative for conformant implementations.

PQ signature envelope
The three-family envelope (ML-DSA-65 + FALCON-512 + SLH-DSA-128f) wraps every layer's canonical payload. The envelope is independently verifiable per family; a record passes the envelope check if and only if all three families verify.
PQ epoch identifier
Every signed layer carries the epoch_id under which it was signed, sourced from h33-substrate-pubkeys-v1. Key rotation is monotonic; epochs are never reused.
Boundary marker
Every artifact carries a boundary marker declaring its public-versus-proprietary status, per BOUNDARY.md. Verification-side artifacts are public; computation-side artifacts may be proprietary.
Conformance corpus membership
If the record is a member of the immutable conformance corpus, its corpus identifier MUST be present and MUST resolve in the published corpus index.
Patent family reference
Every layer carries a reference to the patent family invariants document section that defines its behavior. Implementations MAY use this reference for compliance traceability.

§14Canonical encoding and hash discipline

Canonical JSON

All layers serialize to JSON in canonical form for hashing. Canonical form requires:

  1. Object keys sorted lexicographically by code point at every nesting level.
  2. No insignificant whitespace.
  3. Strings encoded UTF-8, with all non-ASCII characters escaped via \uXXXX only where required to produce valid JSON.
  4. Numbers serialized in their shortest round-trip form; no trailing zeros, no leading plus sign, no exponential notation for integers.
  5. Boolean and null literals lowercase.

Canonical CBOR

Implementations MAY additionally serialize to CBOR per RFC 8949 deterministic encoding rules. Where both encodings exist for the same record, they MUST produce the same commitment hash when canonicalized through their respective rules.

Hash function

The canonical hash function for HATS Record v1 is SHA3-256 (FIPS 202). SHA-2 family hashes are NOT canonical; their use in upstream-engine outputs is permitted only when the engine's normative specification mandates them and they are subsequently bound through a SHA3-256 commitment at the substrate.

§15PQ signature envelope

The three-family PQ signature envelope is the wrapper that secures every signed layer. The envelope consists of three independent signatures over the same canonical payload, computed with three independent NIST-standardized post-quantum signature schemes.

FamilyStandardRole
ML-DSA-65FIPS 204Lattice-based, NIST primary recommendation
FALCON-512NIST PQC Round 3NTRU-lattice-based, compact signatures, NIST alternate
SLH-DSA-128fFIPS 205Hash-based, defense-in-depth against future lattice attacks

A record verifies under the envelope if and only if all three signatures verify under their respective schemes against the same canonical payload using public keys resolved from the epoch registry at the record's epoch_id.

The use of three families is defense in depth: a future cryptanalytic advance against any single family does not invalidate the envelope, because the other two families remain unaffected. A conformant implementation MUST verify all three; partial verification (e.g., "ML-DSA only") is non-conformant.

§16Verification protocol

A conformant verifier evaluates a HATS record against the following ordered, ten-check protocol. The check identifiers are stable and form the basis of the structured rejection semantics defined in §3.

CheckNameWhat it verifies
CHK-01schema_parsesBundle parses against schema h33-replay-bundle-v0.2 with no extension violations
CHK-02timeline_ordersEvents are sequentially ordered with no gaps and no reordering
CHK-03chain_hashes_recomputeEvery event hash recomputes deterministically from its declared inputs
CHK-04frame_refs_resolveEvery canonical frame reference resolves against the published frame registry
CHK-05continuity_consistentThe continuity root is reproducible from the event sequence
CHK-06no_orphansNo event is orphaned from case_id / agent_id / continuity_root_id
CHK-07hash_algos_recognizedAll declared hash algorithms appear in the recognized allowlist
CHK-08no_cross_tenant_rowsNo row in any join table crosses tenant boundaries
CHK-09substrate_bindings_recomputeEvery per-event H33-74 substrate binding recomputes deterministically
CHK-10bit_identicalThe bundle is bit-identical to what was recorded at export time

HATS records additionally MUST pass HATS-specific extension checks defined by their record_kind. For adversarial_resilience records, the extension checks include:

  • CHK-AR-01: CKA scores fall within their declared band (M1 high, M2 low).
  • CHK-AR-02: Attack corpus configuration is reproducible from the declared RNG seed and parameter set.
  • CHK-AR-03: Risk estimate is reproducible from per-surrogate outcomes via the declared estimator.
  • CHK-AR-04: Regulatory mapping entries each resolve against the framework registry.

A conformant verifier emits a signed verification report (Layer 5) for every record it evaluates, regardless of pass or fail.

§17Replay protocol

Replay is the deterministic re-evaluation of a HATS record against the canonical replay frame published with this specification. Replay is the primitive that gives this specification its name: a HATS record can be replayed years later, by any party, with any conformant implementation, and the verdict will be the same.

The replay protocol proceeds in four phases:

  1. Resolve. The verifier resolves the canonical replay frame, the engine descriptor, the conformance vector, and the epoch keys.
  2. Recompute. The verifier recomputes every declared hash, every commitment, every continuity root, and every substrate binding.
  3. Re-evaluate. The verifier re-evaluates the verification protocol (§16) against the recomputed values.
  4. Report. The verifier emits a signed verification report (Layer 5) with per-check verdicts.

Two conformant verifiers replaying the same record against the same canonical frame and the same epoch keys MUST produce per-check verdicts that are byte-identical. This is the deterministic conformance verification property and it is what makes the verifier independent of H33.

§18Verifier identity binding

Every conformant verifier instance carries its own ML-DSA-65 keypair stored at a well-known path (~/.config/h33-verify/identity.json in the reference implementation). The verifier's public key fingerprint (SHA3-256) is its stable identity for purposes of signed verification reports.

A signed verification report (Layer 5) does NOT prove that a particular verifier identity belongs to a particular natural person or organization. That binding is established out of band — via an allow-list, a regulator-published registry, or a verifier identity certificate issued by a third party. The signed report only proves that some verifier with this public-key fingerprint produced this verdict on this bundle at this time.

Implementations SHOULD publish their verifier identity fingerprints alongside the reports they emit so that consumers can independently validate against a registry of their choice.

§19Regulatory mapping

HATS records are designed to map cleanly to existing regulatory frameworks. v1 defines normative mappings for the following frameworks; extensions may be registered via the conformance corpus.

FrameworkIDPrimary articlesHATS surface
EU AI Acteu_ai_actArticles 12, 15Automatic logging + accuracy/robustness/cybersecurity
NIST AI RMFnist_ai_rmfTEVV functionsTesting, evaluation, verification, validation
OWASP AI Exchangeowasp_ai_exchangeAdversarial risk controlCommunity-aligned threat mapping
ISO/IEC 42001iso_42001Clauses 6, 8, 9AI management system controls
CMMC 2.0cmmc_2_0Level 2 controlsDefense industrial base AI applications
SOXsoxSections 302, 404Internal controls over AI-touched financial reporting
DORAdoraArticles 5, 24ICT risk + digital operational resilience
HIPAAhipaaSecurity RuleHealthcare AI evidence
PCI-DSSpci_dssv4.0AI-touched cardholder data flows
GDPRgdprArticle 22Automated decision-making evidence

§20Conformance corpus

The conformance corpus is the immutable set of canonical HATS records and expected per-check verdicts against which conformant implementations are validated.

  • The corpus is append-only. Records once admitted cannot be removed or modified.
  • Every corpus record carries a stable corpus identifier referenced in records that claim corpus membership.
  • Conformant implementations MUST produce the published per-check verdicts on every corpus record. Implementations that diverge on any verdict are non-conformant.
  • Positive conformance vectors are published openly. Negative conformance vectors are reserved for a separate continuation per patent strategy and are released through controlled channels.

§21Boundary discipline (public vs. proprietary)

The H33 stack maintains a strict boundary between verification artifacts (public) and computation artifacts (proprietary). This boundary is normative for HATS implementations and is documented in the BOUNDARY.md governance document.

Public (verification side)

  • This specification
  • Wire formats (bundle, signed report, substrate)
  • Verifier source (Apache-2.0)
  • Conformance corpus (positive vectors)
  • Public-key registry format
  • Replay protocol

Proprietary (computation side)

  • Production signing pipeline
  • FHE engine internals
  • STARK prover internals
  • Orchestration runtime
  • Biometric capture pipeline
  • Production infrastructure

Cross-boundary moves require explicit governance approval; implementations that opaquely shift artifacts across the boundary are non-conformant.

§22Security considerations

Cryptographic assumptions

HATS Record v1 relies on the security of SHA3-256, ML-DSA-65, FALCON-512, and SLH-DSA-128f. Use of three independent post-quantum signature families is intentional defense in depth against future cryptanalytic developments. A break of any single family does not break the envelope.

Verifier independence

The protocol is designed so that an independent verifier can validate a record using only the published specification, the open-source verifier source, and the public-key registry. No trust in H33 infrastructure is required. Implementations MUST NOT introduce verifier behaviors that depend on H33-hosted services.

Epoch key compromise

If an epoch key is compromised, the affected epoch is revoked via a normative revocation entry in the public-key registry. Records signed under a revoked epoch MUST be flagged by conformant verifiers. The conformance corpus retains the record for historical replay but marks the epoch revoked.

Engine compromise

If an upstream engine is found to produce unsound outputs (e.g., a STARK soundness break), records depending on that engine MUST be re-evaluated. The conformance corpus preserves the original verdicts; consumers SHOULD additionally consult the engine's security advisory channel.

Replay attack resistance

Records are bound to their epoch, their canonical frame, and their bundle hash. Replay of a record against a different epoch or frame produces a verdict failure at CHK-04 or CHK-09. Cross-record substitution is structurally impossible at CHK-10.

§23Privacy considerations

HATS records do NOT carry PII by design. Sensitive payloads are bound by commitment and stored off the record. The record carries the commitment and the metadata necessary for verification; the payload itself remains under whatever access control the issuer applies.

For records produced by privacy-preserving engines (STARK proofs of KYC/OFAC/age on Solana, Bitcoin, Polygon, or Zcash), the public inputs MUST be limited to the regulatory category being proven. The underlying private inputs MUST NOT be derivable from the record.

Conformant implementations MUST NOT include personally identifying information in the regulatory mapping notes or in extension fields. Regulatory mappings reference framework articles; they do not summarize personal data.

§24Reference implementations

  • h33-replay-verify — Rust CLI implementing §16 verification protocol. Compiled to WASM for browser use. Source at github.com/H33ai/h33-replay-verifier, Apache-2.0.
  • h33-verify v0.2.0 — Signed verification report producer (Layer 5). Per-instance ML-DSA-65 keypair at ~/.config/h33-verify/identity.json. 31 tests at release.
  • verify-the-story playground — Browser-resident WASM verifier with ML-DSA-65 transcript verification via @noble/post-quantum. Hosted at /verify-the-story/playground/. Zero network calls after page load.
  • tokenize the world — Scenes 1 and 2 of the canonical operating-model walk-through, also running the same WASM verifier core. Hosted at /tokenize/ and /tokenize/replay/.
  • h33-Solana — On-chain STARK + PQ-signed proof of regulatory category on Solana mainnet. Program ID 5eAwAv59YqpnSBMj59KeXhDdLqmn99HBYSjrb6jcLbC5. Hosted try-it at /solana-privacy/.

§25Patent linkage

This specification instantiates claims from the following H33 patent filings. The list is informative; the normative constitution is the family architecture invariants document.

FilingSubjectLayer linkage
Substrate patent74-byte post-quantum receipt primitiveLayer 0
H33003 (19/645,499)PQ attestation of FHE outputsLayer 1 (BFV / CKKS engines)
H33004 (19/656,024)Transform-persistent FHE accelerationLayer 1 (engine internals)
H33005 (19/661,294)Encrypted AI infrastructureLayer 1 (AI engines), Layer 3
H33006 (19/669,799)Attested routing across heterogeneous crypto enginesLayer 1 (engine portability), Layer 2 (orchestration)
Agent-Zero (complete spec)Cryptographic engine portability descriptor; replay-grade determinismLayer 2 (orchestration)
Q-Sign / Q-Key continuationAuthority objects; conformance vectorsLayer 2 (orchestration), Layer 3 (HATS envelope)
CIP filingAttestation interface; session lifecycle managerLayer 2 (interop)

The family architecture invariants document is load-bearing for this specification. Implementations MUST consult it for any cross-patent semantic question.

§26Versioning and change control

Semantic versioning

This specification follows semantic versioning. The current version is v1.0.0. Breaking changes increment the major version. Additive, backward-compatible changes increment the minor. Editorial changes increment the patch.

Change control

  • Cross-boundary changes (moving an artifact between public and proprietary) require explicit governance approval per BOUNDARY.md.
  • Substrate version bumps are NEVER permitted as a mechanism to widen the 74-byte primitive. Extensions MUST bind off-chain via verification_hash.
  • Spine v1.1 routing is frozen. New routes appear under fresh version bumps, never via silent extension.
  • Conformance corpus admissions are append-only and require explicit standards-group review.

Errata

Editorial errata against v1.0.0 will be published at /hats/spec/hats-record-v1/errata.md as discovered. Errata never change normative requirements; normative changes require a minor or major version bump.

§AAppendix A — Example HATS record

The following is an example HATS record of record_kind: adversarial_resilience in canonical JSON form. The example is illustrative; values are placeholder.

// HATS Record v1 — example adversarial_resilience record
{
  "agent_id": "agt_01HZQYNB3X...",
  "attack_corpus": {
    "ensemble": "AutoAttack",
    "members": ["APGD", "FAB", "Square"],
    "config": { "epsilon": 0.03, "norm": "Linf" },
    "rng_seed": "0x9f8a..."
  },
  "bound_to_replay": true,
  "case_id": "case_2026_05_30_a",
  "chain_anchors": [
    { "chain_id": "polygon", "anchor_status": "confirmed", "block_number": 62318441, "tx_hash": "0x4af..." },
    { "chain_id": "bitcoin", "anchor_status": "confirmed", "block_number": 911022, "tx_hash": "e3b0..." },
    { "chain_id": "ethereum", "anchor_status": "confirmed", "block_number": 21558109, "tx_hash": "0xc7a..." }
  ],
  "continuity_root_id": "crt_01HZQYNC5...",
  "epoch_id": 17,
  "per_surrogate_outcomes": [
    { "surrogate_id": "densenet201", "attack_id": "autoattack_v1", "success_count": 412, "sample_count": 2000 },
    { "surrogate_id": "vgg19", "attack_id": "autoattack_v1", "success_count": 438, "sample_count": 2000 },
    { "surrogate_id": "resnet152", "attack_id": "autoattack_v1", "success_count": 479, "sample_count": 2000 },
    { "surrogate_id": "mobilenetv2", "attack_id": "autoattack_v1", "success_count": 198, "sample_count": 2000 },
    { "surrogate_id": "efficientnet_b0", "attack_id": "autoattack_v1", "success_count": 221, "sample_count": 2000 }
  ],
  "pq_signature_envelope": {
    "ml_dsa_65": "...",
    "falcon_512": "...",
    "slh_dsa_128f": "..."
  },
  "record_id": "0x5a7c9d3b...74-byte...",
  "record_kind": "adversarial_resilience",
  "regulatory_mapping": [
    { "framework_id": "eu_ai_act", "articles": ["12", "15"] },
    { "framework_id": "nist_ai_rmf", "articles": ["TEVV"] },
    { "framework_id": "owasp_ai_exchange", "articles": ["adversarial_risk"] }
  ],
  "risk_estimate": {
    "mean": 0.196,
    "std": 0.041,
    "ci_95_low": 0.116,
    "ci_95_high": 0.276,
    "estimator_metadata": { "family": "bayesian_regression", "prior": "beta(1,1)" }
  },
  "spine_route_membership": "hats.adversarial",
  "substrate_version": 1,
  "surrogate_set_M1": [
    { "model_name": "DenseNet-201", "cka_score": 0.587, "transfer_rate": 0.206 },
    { "model_name": "VGG-19", "cka_score": 0.612, "transfer_rate": 0.219 },
    { "model_name": "ResNet-152", "cka_score": 0.694, "transfer_rate": 0.240 }
  ],
  "surrogate_set_M2": [
    { "model_name": "MobileNetV2", "cka_score": 0.298, "transfer_rate": 0.099 },
    { "model_name": "EfficientNet-B0", "cka_score": 0.331, "transfer_rate": 0.111 }
  ],
  "target_model_identity": {
    "model_name": "ResNet-50",
    "dataset": "ImageNet-1K",
    "weight_hash": "0x4e1b...",
    "version": "v1.0",
    "stage": "pre-production"
  },
  "tenant_id": "tnt_01HZ...",
  "verifier_binding": {
    "hats_verify_cli_version": "v0.2.0",
    "container_digest": "sha256:9af...",
    "identity_fingerprint": "0xb31f..."
  }
}

§BAppendix B — Example signed verification report

// h33-signed-verify-report-v0.1 — example
{
  "bundle_hash": "0x5a7c9d3b...32 bytes...",
  "detached_signature": "ML-DSA-65 signature bytes...",
  "per_check_verdicts": [
    { "check_id": "CHK-01", "result": "pass" },
    { "check_id": "CHK-02", "result": "pass" },
    { "check_id": "CHK-03", "result": "pass" },
    { "check_id": "CHK-04", "result": "pass" },
    { "check_id": "CHK-05", "result": "pass" },
    { "check_id": "CHK-06", "result": "pass" },
    { "check_id": "CHK-07", "result": "pass" },
    { "check_id": "CHK-08", "result": "pass" },
    { "check_id": "CHK-09", "result": "pass" },
    { "check_id": "CHK-10", "result": "pass" },
    { "check_id": "CHK-AR-01", "result": "pass" },
    { "check_id": "CHK-AR-02", "result": "pass" },
    { "check_id": "CHK-AR-03", "result": "pass" },
    { "check_id": "CHK-AR-04", "result": "pass" }
  ],
  "timestamp_utc": "2026-05-30T23:50:00Z",
  "transcript_schema_version": "h33-signed-verify-report-v0.1",
  "verifier_identity_fingerprint": "0xb31f...32 bytes...",
  "verifier_public_key": "ML-DSA-65 public key bytes...",
  "verifier_version": "v0.2.0"
}

§CAppendix C — Regulatory crosswalk index

End of normative text
Implementations claiming conformance with HATS Record v1 MUST pass every check defined in §16 against every record in the published conformance corpus and MUST emit signed verification reports conformant to Layer 5.