A post here is never changed silently. Each published post is frozen as a numbered version, and when it has to be corrected, the correction becomes a new version with a note saying what changed. The old versions stay online. You can check all of this yourself, without taking my word for it.
Under every post there is a short record: the version number and its date, the SHA-256 hash of the post's source, a link to that source, and a link to a timestamp proof. The source is the exact Markdown file the page is built from, front matter included, published byte for byte at /sources/<post>-v<N>.md. Every version of every post is also listed in one file, /integrity.json.
The hash is taken from the source, not from the web page, because the page around the text (its layout, its fonts, the figures' styling) changes when the site does, while the text does not. The figures are drawn from data files in the site's code; their numbers are given in the text and footnotes, which are covered by the hash, but the data files themselves are not.
Download the source of the version you want, then compute its SHA-256 and compare it with the one under the post and in /integrity.json:
curl -O https://beyond-any-doubt.org/sources/voynich-manuscript-v1.md
shasum -a 256 voynich-manuscript-v1.md # macOS, Linux
certutil -hashfile voynich-manuscript-v1.md SHA256 # WindowsIf the two values are the same, the file is the one that was recorded. A single changed character, even a space, gives a completely different hash.
A hash on my own site proves nothing on its own: I could change a post and its hash together. So each version is also stamped with OpenTimestamps, which anchors its hash in the Bitcoin blockchain, a public record that no one, me included, can rewrite. The proof is the .ots file next to the source.
.md and its .ots, on the page.pip install opentimestamps-client), put the two files side by side and run ots verify voynich-manuscript-v1.md.ots.Either way, the answer is the date of the Bitcoin block that contains the hash: proof that this exact file existed no later than that day. A freshly stamped version has only a pending proof for the first few hours, until the block is confirmed; the completed proof replaces it soon after.
When a post has more than one version, the earlier ones are listed under it, each with its date, its note and its hash. To see exactly what changed, download two versions and compare them, for example with diff voynich-manuscript-v1.md voynich-manuscript-v2.md.
It shows that the version you are reading is the one recorded under its number, that it existed no later than its timestamp, and that every change since has been recorded as a new version. It does not show that the text is right; that is what the footnotes are for.
Versioning began on 10 October 2026. For posts published before that day, version 1 is the text as it stood on that day, and its timestamp is from that day, not from the original date of publication.