Technical substrate
The substrate underneath both surfaces, for engineers, security reviewers, and procurement reviewers who need to verify the claims above.
Receipt schema
The illustrative excerpt below summarizes fields described for schema hx.provenance.receipt/v1.1. The schema is stable, fixture-tested, and backward-compatible with hx.exact.receipt/v1.1 for HX-SDP exact-recall verification.
{
"schema": "hx.provenance.receipt/v1.1",
"receipt_id": "...",
"tenant_id": "...",
"artifact_id": "...",
"artifact_hash": "sha256:...",
"issued_at": "ISO-8601 UTC",
"signer_key_id": "...",
"signer_public_fingerprint": "sha256:...",
"signature_algorithm": "ML-DSA-65",
"signature": "...",
"verification_metadata": { ... }
}
Receipts use canonical JSON with sorted keys and stable separators so the signed bytes and their hashes are reproducible across compatible implementations. Signatures can differ when the signing mode uses fresh randomness; verification still checks the same canonical bytes against the expected issuer key. Future-version receipts produced by newer servers are explicitly rejected by older verifiers with a structured error rather than silent acceptance.
Cryptographic primitives
NIST-standardized primitives, with post-quantum ML-DSA-65 signatures.
Digital signature
ML-DSA-65
FIPS 204
Receipt signing and verification
Symmetric cipher
AES-256-GCM
FIPS 197 / SP 800-38D
Authenticated encryption of evidence bundles
Hash
SHA-256, SHA-512
FIPS 180-4
Content binding, signer fingerprinting
Random generation
HMAC_DRBG
SP 800-90A Rev 1
Randomness inside the module boundary
Key derivation
HKDF-SHA-256
SP 800-56C Rev 2
Derived keys
Module structure
The cryptographic module is built to FIPS 140-3 architecture, addressing the eleven security requirement areas defined by ISO/IEC 19790. Cryptographic services are available only in the OPERATIONAL state. Errors transition the module to ERROR. Zeroize is terminal.
POWER_ON
→SELF_TEST
→OPERATIONAL
→ERROR
→ZEROIZED
Power-on self-tests
Known Answer Tests at module initialization for every approved algorithm, with vectors from NIST CAVP and the NIST PQC project. The module refuses to enter OPERATIONAL if any test fails.
Sensitive security parameter management
Secret keys are stored under controlled permissions, accessed through a key-provider abstraction, and zeroized on shutdown using platform secure-memory primitives.
Defined module boundary
The logical boundary is defined in code. Every cryptographic operation in the product flows through the module; no out-of-boundary cryptography is permitted in production deployments.
On certification
CAVP algorithm validation and CMVP module validation are on the enterprise roadmap, gated by buyer commitment. The module is built to the standard. Customers with a procurement requirement for validated modules can engage on the validation path as part of an enterprise contract.
Cloud API
A small, deliberately constrained API.
POST /v1/provenance/receipt Issue a receipt for an artifact
POST /v1/provenance/verify Verify a receipt; deterministic verdict
POST /v1/provenance/exact HX-SDP exact-receipt compatibility path
GET /v1/provenance/receipt/{id} Retrieve a previously issued receipt
GET /v1/provenance/public-key Issuer public key for offline verification
GET /v1/provenance/workspaces/{id}/usage Workspace usage and quota