Specification · v1.0 · 2026-06-10
PQ-Verified Artifact v1 — one package, one verifier command, one outcome.
The customer-facing format for H33-PQ Verified. The pillars are for auditors. The artifact is for customers.
Why this exists
Customers don't ask for five separate bundles. They ask: "Give me the proof package." The PQ-Verified Artifact is that package — a single self-contained JSON file carrying the artifact manifest, five inline pillar attestations, and triple-family PQ signatures over the manifest. One drag-and-drop. One verifier command. One verdict.
Structure
PQ-Verified Artifact v1
├── schema_version "h33-pq-verified-artifact/v1"
├── artifact_id "h33pqv-2026-Q2-001-{16hex}"
├── cycle_id "2026-Q2-001"
├── issued_at "2026-06-10T..."
├── issuer { name, principal }
├── subject { name, category, [description], [product] }
├── human_summary ← answers ONE question in 5 seconds
│ ├── claim "AI classification decision followed approved policy."
│ ├── verdict VERIFIED · VERIFIED_PENDING_SIGNATURES · FAILED
│ ├── evidence_summary "Governance, Privacy, and Verification attestations validated."
│ ├── load_bearing_pillars[]
│ └── additional_assurances[]
├── attestations
│ ├── cryptography_attestation (full Pillar 1 bundle inline)
│ ├── evidence_attestation (full Pillar 2 bundle inline)
│ ├── governance_attestation (full Pillar 3 bundle inline)
│ ├── privacy_attestation (full Pillar 4 bundle inline)
│ └── verification_attestation (full Pillar 5 bundle inline)
├── attestation_hashes (SHA3-384 over each canonical attestation)
├── manifest_hash SHA3-384 over (cycle, issuer, subject, hashes)
├── signatures { ml_dsa_87, slh_dsa_256s, falcon_1024 }
├── verifier_command "h33-pq-verify artifact --file ..."
├── verifier_url "https://h33.ai/.../verify/"
└── publishing_rule (locked const text)
File format
| Property | Value |
|---|---|
| Schema ID | h33-pq-verified-artifact/v1 |
| File extension | .h33pqv.json |
| Encoding | UTF-8 JSON, pretty-printed (2-space indent) |
| Typical size | ~30–50 KB self-attestation; varies with subject |
| Canonicalization | Object keys sorted lexicographically; minimized for hashing |
| Hash algorithm | SHA3-384 throughout (96 hex chars) |
| Signatures | Triple-family PQ: ML-DSA-87 · SLH-DSA-256s · FALCON-1024 (base64) |
What gets verified
| Check | How |
|---|---|
| Schema version | Must equal h33-pq-verified-artifact/v1 |
| Top-level fields | 11 required: schema_version, artifact_id, cycle_id, issued_at, issuer, subject, attestations, manifest_hash, signatures, verifier_command, publishing_rule |
| Each embedded attestation | Verified against its own pillar schema (required fields, publishing_rule const, fingerprint regex, result enum) |
| attestation_hashes | Recomputed canonical SHA3-384 over each attestation; mismatch → FAILED |
| manifest_hash | Recomputed canonical SHA3-384 over (cycle, issuer, subject, hashes); mismatch → FAILED |
| Signatures | PRESENT (all 3 PQ sigs valid) · PENDING_CEREMONY (3× PENDING markers) · PARTIAL · MISSING |
| Cycle consistency | Every embedded attestation's cycle_id matches the artifact's |
Verdicts
| Verdict | Meaning |
|---|---|
| VERIFIED | All structural + hash + signature checks pass. Triple-family signatures present and valid. |
| VERIFIED_PENDING_SIGNATURES | Structure and hashes valid. Signatures pending (pre-ceremony state). Treat as "the math is right, but the production keys haven't signed yet." |
| FAILED | Any check failed. The why list enumerates exactly what. |
Verify any artifact
Drag-and-drop (zero install):
https://h33.ai/pq-verified/verify/ — runs entirely in your browser. Files never leave the page.
CLI:
$ curl -sSL https://h33.ai/verifier-cli/install.sh | bash
$ h33-pq-verify artifact --file your-artifact.h33pqv.json
Exit code 0 = VERIFIED · 1 = FAILED · 2 = ERROR. Output is structured JSON.
Schema
pq-verified-artifact-v1.schema.json · JSON Schema draft-07.
Where to use it
| Surface | Outcome |
|---|---|
| Every H33 demo (Solana Privacy · Zcash · HATS · Agent Zero · Governance Replay · Commerce) | Ends with "Download PQ-Verified Artifact" CTA |
| Every H33 release | Bundled alongside the release manifest |
| Every customer self-attestation | Customer publishes their .h33pqv.json at their own attestation URL |
| Regulatory submissions | Attach the artifact to the submission package |
| Audit evidence | Auditor receives ONE file instead of a folder of bundles |