PricingDemo
Log InGet API Key
Trust Model — v1.0

What We Prove.
What We Do Not.

Precise cryptographic guarantees. No overclaims. Every assumption documented. Every limitation explicit.

147
Requirements
26
Error Codes
7
Frozen Surfaces
12
Security Regressions
Guarantees

What HATS Guarantees

Five cryptographic guarantees backed by deterministic verification, post-quantum signatures, and canonical test vectors.

Limitations

What HATS Does NOT Guarantee

Honest limitations. No overclaims. These are boundaries, not failures.

Trust Model

Trust Assumptions

Every cryptographic system rests on assumptions. These are ours, stated explicitly.

AssumptionWhat It Means
Hash collision resistanceSHA3-256 produces unique outputs
Signature unforgeabilityML-DSA-65 cannot be forged
Canonical determinismSame content → same bytes → same hash
Clock approximate correctnessTimestamps within 5s for federation
Signer honesty or detectabilityRevocation catches compromised signers
Verifier correctnessReference implementation correctly implements spec
Threat Model

Failure Modes

What happens when things go wrong. Detection mechanisms and response protocols for each scenario.

ScenarioDetectionResponse
Compromised signerRevocation + timestamp checkReject all receipts from revoked key
Clock manipulationMonotonic verifierWARNING: rollback/replay detected
Network partitionQuorum checkDEGRADED/FAILED federation status
Hash collision (theoretical)Cryptographic profile migrationTransition to new hash function
Specification bugConformance test failurePatch spec, increment version

Rust-native cryptography. Language-neutral verification.

The cryptographic hot path does not depend on JavaScript or browser runtimes. No scripting layer participates in proving, verification, transcript construction, field arithmetic, challenge derivation, or security-critical execution.

JSON artifacts are used only as portable conformance vectors. The proving and verification path is fully deterministic and implemented in Rust.

Verify the Guarantees Yourself

Run the reference verifier. Inspect the test vectors. Validate the claims against the specification.

Verify It Yourself Protocol Stability