Hardseal
30-second evidence replacement demo
Public IR proof pack - May 21, 2026
Clean packet -> evidence replaced -> named failure

When evidence is swapped after submission, the packet breaks.

Suppliers have every incentive to send the cleanest version of reality. Hardseal tells you whether the packet you received still matches the hashes recorded when it was produced.

The demo is intentionally narrow: run the verifier on the public proof pack, then simulate a supplier or intermediary replacing an Incident Response evidence record after the packet was produced. The clean packet passes. The changed packet fails and names the file that changed.

Attack scenario

A supplier submits an Incident Response packet. Later, the packet changes: a byte drifts, an evidence record is swapped, or a POA&M section is rewritten after submission. The verifier does not debate intent. It names what broke and refuses the packet.

Stop condition for a reviewer This copy no longer matches the recorded packet. Pause review and ask for a regenerated packet from the original source.
Original
Changed packet
Verifier result
Baseline Public Incident Response proof pack as produced.
No change Manifest and artifact chain still match.
PASS Manifest OK. Hash chain OK.
Accidental drift One byte is appended to evidence/INDEX.csv.
Index file changed Could be copy error, upload damage, or accidental edit.
FAIL Hash mismatch: evidence/INDEX.csv.
Sneaky replacement An IR evidence record is edited after submission.
Evidence bundle changed A missing policy record now claims a screenshot exists.
FAIL Hash mismatch plus artifact-chain mismatch.
Section rewrite A POA&M section is replaced or appended after submission.
Assessment file changed assessment/POAM.csv no longer matches its recorded hash.
FAIL Hash mismatch: assessment/POAM.csv.
tar -xzf proof_IR_2026-05-21.tar.gz
cd proof_IR_2026-05-21
python3 verify/verify_standalone.py .
Clean packet passes
PASS
[*] 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.
After evidence is replaced fails
FAIL
[*] Verifying: /tmp/hardseal_attack_demo
[*] Verifying manifest checksums... FAILED
    - Hash mismatch: evidence/evidence-bundle.json (expected 9a47bb626d5c5534..., got 221665722dbdf978...)
[*] Verifying hash chain... FAILED
    - Link 0: artifact_hash mismatch (expected 003b63cd49500152..., got 073275914e9b07b1...)
[*] No integrity tag present on bundle.

[!] VERIFICATION FAILED -- packet mismatch detected.

Provenance status

The public IR pack checks local consistency for the packet you received. In customer delivery, the next layer is source context: reviewer-held delivery records and customer-specific handoff evidence that connect the packet to the delivery workflow, not only whether this copy still matches its recorded hashes.

Live in this public demo Manifest verification and artifact-chain verification. Both are local and readable in the bundled Python verifier.
Delivery-grade provenance layer Customer-specific handoff evidence connects the packet to the delivery workflow. Do not treat this public demo as a provenance proof.

The claim boundary

This demo checks a smaller, useful thing: whether the packet still matches the recorded hashes. It does not certify compliance, replace a C3PAO, or decide whether a control is satisfied.

What it checks The package contents against the manifest and evidence chain included in the pack.
What it catches Accidental drift, post-submission evidence replacement, and section rewrites when the packet is not regenerated after the change.
What it leaves alone Assessment judgment, compliance status, and whether the underlying evidence supports a security claim.
Reply text when someone says "send it"
Absolutely - here is the 30-second version.

Clean packet:
manifest checksums: OK
hash chain: OK
result: VERIFICATION PASSED

After replacing an Incident Response evidence record:
manifest checksums: FAILED
changed file: evidence/evidence-bundle.json
artifact chain: FAILED
result: VERIFICATION FAILED

The point is narrow: a reviewer can confirm whether this copy still
matches its recorded hashes. It does not certify compliance or replace
assessor judgment.

The value is not the PASS. The value is the named failure before deeper
review time gets spent on the wrong packet.

Demo page:
[insert published 30-second demo URL]

If useful, I can run the same one-control-family workflow against a
redacted sample from your environment. No CUI needed.