Two verifiers, written apart,
kept honest against each other.
loomseal.com · The verifiers
The trust model, stated plainly. What a verified bundle means sits in what a bundle proves, and the mechanism is in how it works.
A format that says do not take our word for it and then ships one verifier is asking you to trust our code in order to prove our code is trustworthy. So there are two. A Go verifier ships in the binary. A separate Python one is written from the specification, in a different language, on different libraries. Twenty-seven conformance vectors run against both, and a disagreement is treated as a defect in the format rather than a curiosity.
A timestamp carrying nanoseconds verified in Go and failed in Python, which reads as tampering when nothing has been tampered with; the spec now hashes the stored bytes and the failure is impossible. A signature check that assumed one hash function silently verified nothing against an authority that used another, and only surfaced because the other implementation disagreed. One verifier would have shipped both.
The vectors are the durable part. They outlive whoever wrote either verifier, and a third party can run them against an implementation of their own. That is what keeps the format from being held honest by any single program, ours included. There is also a third verifier that runs entirely in your browser, so you can check a bundle without installing anything at all.