counter-sign 0.1.2
Pre-release
Pre-release
counter-sign 0.1.2
Makes the ReceiptLog approval history tamper-evident for completeness, not just per-receipt authenticity.
Added
- Hash-chained log — each entry commits to a SHA-256 of the entry before it, so an edit, reorder, insertion, or mid-stream deletion breaks the chain and is detectable offline.
verifyChain()names the first break;verifyAll()now folds the chain intook(true only when every receipt is genuine and the chain is intact). head()+expectedHead— checkpoint the chain head and anchor it externally to catch tail truncation, the one thing a forward chain can't detect on its own.- New types:
ChainEntry,ChainHead,ChainReport.
Changed
- On-disk log line is now a chained envelope
{ seq, prev, receipt }instead of a bare receipt. Pre-0.1.2 logs still read (flagged asunchained-entrybyverifyChain). No change to the protocol or the Countersignature wire format — receipts inside are byte-for-byte the same portable artifact.
98 tests pass. Full changelog: https://github.com/countersign-labs/counter-sign/blob/main/CHANGELOG.md