About
Matthew J. Harmon. Two decades in information security: incident response, threat intelligence, risk assessment, and the unglamorous work of making controls actually hold.
The fingerprints
Every entry ends with a receipt. It gives the date the entry was filed and the SHA-256 of its source file, front matter included. The list of entries shows the first eight characters.
A filed entry never changes. If something in it is wrong, the correction is filed as a new entry. The new entry links back to the original, and the original gains a note pointing forward. Its own bytes and fingerprint stay exactly as they were filed.
Each fingerprint is timestamped when the entry is filed, three ways. Two RFC 3161 time-stamping authorities (DigiCert and FreeTSA) sign it immediately. OpenTimestamps anchors it in the Bitcoin blockchain within a few hours. Nobody, including me, can produce a receipt dated earlier than the day the words existed.
Checking a receipt
Press Verify this entry at the foot of any entry, or use the Verify page. It checks the text, both timestamps and the Bitcoin anchor in your browser, and can also tell you whether a file you saved earlier matches anything that was filed.
To check without trusting this site’s own verifier, do it by hand. Each entry
publishes its source and its proofs beside it. For an entry at
/posts/<slug>/:
u=https://blog.itys.net/posts/<slug>
# 1. The text is what was filed: this hash is the first line of receipt.sha256.
;
# 2. The receipt existed at the stamped time.
Everything is also kept with parity data in an archive with object lock, so a flipped bit on a disk can be found and repaired rather than silently published.
The archive
Nothing that was here before has been deleted. It moved into two volumes, each frozen as it was published. Their posts were first fingerprinted on 2026-09-28, which proves they have not changed since then, but not when they were written. Volume 1 holds the talks from 2010 to 2018. Volume 2 holds the writing from 2022 to 2025. Old links redirect to the right volume.
Contact
Mail reaches me at social@mjh.email. Signal: mjh.42.