Incident Response · NIST 800-171 §3.6 · Public reference pack
Verify this CMMC evidence pack yourself.
Download a single-family reference pack for NIST 800-171 §3.6
(Incident Response), run a readable stdlib-only Python verifier,
and independently check whether this copy still matches the manifest
and evidence chain recorded at creation.
tar -xzf proof_IR_2026-05-21.tar.gz
cd proof_IR_2026-05-21
python3 verify/verify_standalone.py .
Expected output · clean packexit 0
[*] Verifying: .
[*] Verifying manifest checksums... OK (10/10 files)
[*] Verifying hash chain... OK (6 links)
[*] No integrity tag present on bundle.
[+] VERIFICATION PASSED -- bundle integrity confirmed.
2
Tamper demo
echo "x" >> evidence/INDEX.csv
python3 verify/verify_standalone.py .
Expected output · tampered packexit 1
[*] Verifying manifest checksums... FAILED
- Hash mismatch: evidence/INDEX.csv (expected db98c66e8475c8f9..., got 90b63516bdb204ce...)
[*] Verifying hash chain... OK (6 links)
[*] No integrity tag present on bundle.
[!] VERIFICATION FAILED -- evidence may be tampered.
The verifier names the offending file with expected vs actual
SHA-256 hashes. Anything other than exit code 0 on
the clean pack means this copy no longer matches the checks
recorded when the packet was created.
Note: evidence/INDEX.csv is covered by the manifest
layer but is not itself a chained artifact, so this demo shows the
manifest catch. Modifying a chained artifact under
evidence/ breaks the Layer-2 chain instead.
What independently verifiable means here
Two offline checks, both inspectable from the package itself.
Layer 2 evidence chain
SHA-256 hash chain over the IR evidence artifacts. Each link
binds to the previous; a naive edit without regenerating the
packet leaves the recorded chain out of sync and the verifier
reports the broken link.
Observed count: 6 links
Package manifest
SHA-256 of every content file in the pack. Append one byte to any
file without regenerating the packet and the manifest layer
reports that specific file with a hash mismatch on the next
verify run.
Observed count: 10 / 10 files
What is in the pack
One Incident Response family. Three controls. Evidence and verification files in one portable package.
assessment/SSP.jsonThe 3 IR SSP narratives (3.6.1 / 3.6.2 / 3.6.3), every citation resolves to a real file present in this pack — no placeholder text.
assessment/POAM.csvIR-family Plan of Action and Milestones rows.
assessment/assessment-results.jsonIR-family OSCAL 1.1.2 findings and observations.
evidence/INDEX.csvIR evidence index with 6 artifacts and real SHA-256 content hashes.
manifest.sha256Package-level SHA-256 manifest with detached HMAC-SHA256 signature file.
verify/HOW_TO_VERIFY.mdOffline verification and changed-packet walkthrough.
verify/verify_standalone.pySingle-file Python verifier. This is the complete local verification surface for consistency checks.
README.mdOverview and cross-checked counts, with summary-report.txt beside it.
DIB / CMMC teams — what this gives you on Monday
The same packet you just verified is the unit Hardseal Edge emits from your live workload.
The same packet you just verified — cryptographically chained
and offline-verifiable with the single-file Python verifier above
— is the unit Hardseal Edge emits from your live workload.
POA&M change-history — append-only hash chain over your POA&M edits; a naive edit without packet regeneration is reported. Relevant to 3.12.2.
SSP edit-history — the same chained, offline-verifiable record over every SSP revision. Relevant to 3.12.1 / 3.12.3.
Audit-log consistency — line-by-line chaining of CUI-environment audit logs, verifiable air-gapped. Relevant to AU.L2-3.3.1 / -3.3.2 / -3.3.8.
What the verifier shows: this copy matches the
included manifest and evidence chain. It does not, by itself,
provide origin authentication or defeat a deliberate re-package.
Your assessor still decides whether your evidence is sufficient.
Next step: a 15-minute scoping call. No cost, no commitment, no
outcome promise.
This is the trust spine. The boundary is part of the proof.
Proves cryptographically, offline
Every artifact_hash in evidence-bundle.json matches the SHA-256 of the corresponding file shipped in this pack - not a stub, not a placeholder.
The Layer-2 hash chain matches the 6 IR artifacts in this packet. A naive artifact edit without regenerating the packet is reported.
The package-level manifest matches the files in the packet. A naive file edit without regenerating the packet is reported with a named file.
Does not claim
Production-grade readiness against the full 110 CMMC L2 controls. This is one family of three controls, deliberately.
That the synthetic Acme Precision Components, Inc. profile is a real customer. It is a structurally-realistic reference profile used for proof and demo purposes.
Compliance certification, assessment, or RPO/C3PAO endorsement. Hardseal is a pre-assessment readiness product and does not certify, assess, or endorse anything.
That a passing verification means the evidence is sufficient or will be accepted by an assessor. Verification shows this copy matches its included manifest and chain - not that its contents satisfy any control.
About the HMAC layer. The pack ships without
the HMAC secret used to sign the evidence bundle at build time. The
secret stays with the build operator. Third-party verification
covers the included manifest and Layer-2 chain — it detects
file-level changes against the manifest and chain shipped in the
pack and proves internal consistency. Because the signing secret
is withheld, it does not by itself provide origin authentication
or defeat a sophisticated re-package (alter a file, then
regenerate the manifest and chain).
Public-key signature attribution (Ed25519) is on the Hardseal Core
roadmap.
Why one family, not all 110?
Scope restraint keeps the public proof honest.
In internal reference builds, the Hardseal pipeline generates
structured draft packs mapped across the 110 CMMC Level 2 controls;
evidence completeness varies by family depending on
what the local environment exposes to the collectors. Across the full
Acme reference build, 23 of the top-40 SSP narratives carry all-real
citations and 17 carry explicit scope-gap placeholders, clearly
marked "evidence to be collected during delivery".
For this public proof, we ship the one family (IR, Incident Response,
three controls) where every cited artifact exists inside the synthetic
pack and verifies cleanly, with no narrative dressed
up as something it is not. The honesty doctrine is non-negotiable: a
proof that needs caveats stops being a proof.
Want your own control family sealed the same way?
Hardseal can run one real control family through this same
offline-verifiable evidence-pack process for feedback. No cost, no
commitment, no outcome promise. Just pre-assessment readiness evidence
you can inspect.