Your chain proves nothing changed. This proves when it existed.
A hash chain is tamper-evident, but it can't prove when an entry existed — you could build the whole chain today and backdate it. ASL Timestamp Anchor closes that gap. It asks an independent RFC 3161 timestamp authority to sign "this digest existed at this moment," and keeps the signed token as a file you can verify offline with stock openssl — even with ASL switched off entirely.
The problem
"Nothing changed" is not the same as "this existed then."
Every tamper-evident log proves internal consistency — but a chain you control can be reconstructed and backdated. In front of a court or a state board, the question isn't just "was this altered?" It's "can you prove this record existed on the date you claim?"
Timestamp Anchor answers that with a signature from someone who has no stake in your records — an external RFC 3161 authority — and stores the proof as a portable file.
Evidence that outlives the vendor
- Verification always re-runs
openssl— no cached "valid" flag - An unverifiable token is never stored
- The token is written before the DB row
- Missing-token detection surfaces gaps
- Re-anchoring creates a distinct, additional anchor
Capabilities
Proof-of-existence, done conservatively.
RFC 3161 anchoring
Requests a signed timestamp from an external authority (FreeTSA by default — no account required).
Privacy-preserving
Only a SHA-512 digest leaves the box — never the underlying record.
Evidence as a file
The proof is a .tsr token on disk, not a database flag — downloadable for offline third-party verification.
No cached verdicts
Every verification re-runs openssl ts from scratch; there is no stored "already valid" shortcut to trust.
Refuse-to-store-unverifiable
If a returned token doesn't verify, it is never persisted — you can't accidentally rely on a bad anchor.
Missing-evidence alerts
The token is written before the DB row, and a missing token is detected and surfaced rather than silently ignored.
Re-anchor, don't replace
Re-anchoring produces a distinct additional anchor — history accretes, it doesn't overwrite.
Loopback reads
Reads are open on loopback; creation is gated by an x-anchor-token, so only authorized callers can anchor.
Zero-dependency core
A dependency-free Node service on node:sqlite (WAL), shelling out to openssl ts — a hardened systemd candidate.
Prove when — not just whether.
An independent RFC 3161 signature, stored as a portable file, verifiable offline with stock openssl — even if ASL is gone.