PricingDemo
Log InGet API Key
HATS Standard — Trust Guarantees

What HATS Guarantees.
What It Does Not.
What It Assumes.

HATS is a publicly available technical conformance standard for continuous AI trustworthiness. This page defines the precise boundary between what HATS verification proves and what it leaves to the producing system. Every guarantee is testable. Every limitation is stated.

6
Guarantees
5
Non-Guarantees
4
Trust Assumptions
26
Test Vectors
Guarantees

What HATS Guarantees

Each guarantee below is enforced by the HATS verification pipeline and validated against canonical test vectors. If a conforming implementation cannot reproduce the guarantee, it is non-conformant.

01

Deterministic Replay

Same inputs produce identical frame hashes. Given the same governance payload, domain separator, and serialization parameters, any conforming verifier will compute the same canonical replay frame — byte-for-byte, every time, on any platform.

02

Chain Integrity

Any tampering is detectable. Each governance frame includes a SHA3-256 hash of its predecessor. Modifying, reordering, or omitting any frame in the chain breaks the hash linkage, and any verifier will reject the bundle.

03

PQ Signature Validity

Every attestation bundle carries post-quantum signatures from three independent hardness families: ML-DSA-65 (lattice), FALCON-512 (NTRU lattice), and SLH-DSA-SHA2-128f (stateless hash). A bundle is valid only if all three verify.

04

Independent Verification

Any party can verify without trusting H33. The verification algorithm, serialization rules, and test vectors are public. No API key, no token, no callback to H33 infrastructure is required. Verification is a pure function of the bundle.

05

Governance Lineage

Every governance node traces to a prior decision. The directed acyclic graph of governance frames is fully traversable. There are no orphan nodes, no dangling references, and no cycles. Lineage is verified structurally, not by convention.

06

Canonical Serialization

Bit-identical across implementations. NFC Unicode normalization, little-endian byte ordering, length-prefixed fields, and deterministic map traversal (BTreeMap, lexicographic on 32-byte keys) ensure that serialization is never ambiguous.

Verification contract: If you have a HATS bundle and access to the public verification algorithm, you can independently confirm every guarantee above. No trust delegation. No phone-home. No expiration.

Non-Guarantees

What HATS Does NOT Guarantee

HATS is precise about its scope. The following are explicitly outside the verification boundary. Claiming otherwise would undermine the standard's integrity.

Correctness of Business Logic

HATS attests what happened, not whether it was right. A governance decision can be fully HATS-conformant and still be a bad decision. The standard verifies the integrity of the record, not the wisdom of the action.

Availability or Uptime

HATS does not guarantee that the producing system is available, responsive, or operational. Availability is an infrastructure concern. HATS is a verification concern. They are orthogonal.

Privacy of Governance Data

HATS verifies the cryptographic integrity of governance bundles. Protecting the confidentiality of governance data is the producing system's responsibility. HATS does not encrypt, redact, or control access.

Completeness

HATS verifies what is in the bundle. It cannot prove that nothing was omitted. If a producing system fails to record a governance event, HATS has no mechanism to detect the absence. Completeness is a system-level guarantee, not a verification-level one.

Regulatory Compliance

HATS provides evidence, not legal opinions. A HATS-conformant bundle may support a compliance argument, but HATS itself does not assert compliance with any regulation, standard, or contractual obligation.

Design principle: Every non-guarantee above is intentional. Expanding HATS to cover business logic, availability, privacy, completeness, or regulatory compliance would require trust assumptions that undermine independent verification.

Trust Assumptions

Trust Assumptions

HATS guarantees hold under the following assumptions. If any assumption is violated, the guarantees may not hold. Each assumption is grounded in well-studied cryptographic or protocol primitives.

SHA3-256 Preimage Resistance Cryptographic

Chain integrity depends on the computational infeasibility of finding an input that hashes to a target SHA3-256 digest. This is the same assumption underlying all modern hash-based integrity schemes. SHA3-256 has no known preimage attacks and a security margin of 256 bits.

PQ Signature Unforgeability Cryptographic

Signature validity depends on the existential unforgeability of ML-DSA-65 (Module-LWE), FALCON-512 (NTRU lattice), and SLH-DSA-SHA2-128f (hash-based). An attacker must break all three independent hardness families simultaneously to forge an attestation. This is the three-hardness-assumption design.

Honest-Majority Federation Protocol

For federated deployments where multiple nodes produce governance frames, HATS assumes that a majority of federation nodes are honest. A majority-dishonest federation can produce internally consistent but fraudulent chains. This assumption applies only to federated topologies; single-node deployments do not require it.

Monotonic Timestamps Protocol

Within a trust domain, timestamps must be monotonically non-decreasing. HATS does not require globally synchronized clocks, but it does require that no frame within a single chain has a timestamp earlier than its predecessor. Monotonicity is enforced at verification time.

AssumptionTypeFailure ModeMitigation
SHA3-256 preimage resistance Cryptographic Chain integrity compromised; forged frames accepted Monitor NIST hash function status; migration path to SHA3-512 defined
ML-DSA-65 / FALCON-512 / SLH-DSA-SHA2-128f unforgeability Cryptographic Forged attestation signatures accepted Three independent hardness families; breaking one does not break the bundle
Honest-majority federation Protocol Internally consistent fraudulent chains Federation audit logs; cross-domain verification; single-node mode as fallback
Monotonic timestamps Protocol Temporal ordering violations; replay confusion Verifier rejects non-monotonic chains; NTP/PTP synchronization recommended
Replay Requirements

Replay Assumptions

Deterministic replay is the foundation of HATS verification. The following serialization and traversal rules must be satisfied for replay-grade attestation to hold.

RequirementSpecificationRationale
Canonical serialization NFC normalization, little-endian, length-prefixed Eliminates platform-dependent encoding differences
Domain separators Must match exactly — byte-for-byte Prevents cross-domain replay and context confusion
Optional fields None hashes to the same value as before the field existed Forward compatibility without breaking existing frame hashes
Graph traversal BTreeMap ordering (lexicographic on 32-byte keys) Deterministic iteration order across all implementations

Implementation note: These rules are not recommendations. A verifier that uses HashMap ordering, UTF-8 instead of NFC, or big-endian encoding will produce different frame hashes and fail against the canonical test vectors. There is exactly one correct serialization for every input.

Serialization Example

// Canonical frame serialization (pseudocode)
fn serialize_frame(frame: &GovernanceFrame) -> Vec<u8> {
    let mut buf = Vec::new();

    // 1. Domain separator (exact bytes, no trailing null)
    buf.extend(frame.domain_separator.as_bytes());

    // 2. NFC-normalized payload
    let payload_nfc = unicode_nfc(frame.payload);
    buf.extend(&(payload_nfc.len() as u32).to_le_bytes()); // length-prefixed
    buf.extend(payload_nfc.as_bytes());

    // 3. Optional fields: None -> zero-length prefix
    match &frame.metadata {
        Some(m) => {
            buf.extend(&(m.len() as u32).to_le_bytes());
            buf.extend(m.as_bytes());
        }
        None => buf.extend(&0u32.to_le_bytes()), // hash-stable
    }

    // 4. Child references: BTreeMap (lexicographic on 32-byte key)
    for (key, hash) in &frame.children { // BTreeMap guarantees order
        buf.extend(key);  // 32 bytes
        buf.extend(hash); // 32 bytes
    }

    buf
}
Open Challenge

Independent Verification Challenge

The strongest claim a verification standard can make is: anyone can check our work. We make that claim, and we back it with published test vectors and an open challenge.

Implement HATS in any language.
Reproduce our test vectors.
If any vector fails to verify, we will fix it or explain why.

The HATS conformance suite contains 26 canonical test vectors covering chain construction, signature verification, serialization edge cases, optional field handling, graph traversal ordering, and rejection semantics. Every vector specifies its input, the expected frame hash, and the expected verification result. The format is frozen.

26
Canonical Vectors
Frozen
Vector Format
Any
Language
0
H33 Dependencies

What the Vectors Cover

CategoryVectorsTests
Chain construction & linking Frame hash chaining, predecessor validation, genesis frame 6
PQ signature verification ML-DSA-65, FALCON-512, SLH-DSA-SHA2-128f — valid and invalid 6
Serialization edge cases NFC normalization, empty payloads, maximum-length fields 4
Optional field handling None values, forward compatibility, hash stability 3
Graph traversal ordering BTreeMap key ordering, multi-child frames, deep DAGs 4
Rejection semantics Tampered frames, non-monotonic timestamps, bad signatures 3

Standing commitment: If an independent implementer reproduces all 26 vectors and finds a discrepancy, we will either fix the reference implementation or publish a technical explanation of why the vector is correct. No discrepancy will be left unresolved.

Trust Is Verifiable

HATS verification requires zero trust in H33. Read the spec, download the vectors, and verify independently.

Read the HATS Standard Conformance Suite on GitHub Protocol Stability