Orphograph seal
Orphograph
For Writers · Draft Chain
Est. 2026

Anchor a chain of draft versions to Bitcoin.

Paste each version of your draft as you write. Only the Merkle root of the chain leaves your browser.

Hashing in the browser One 32-byte root on anchor Receipt verifies offline

The procedure

Paste a version. Add it. Paste the next. When you're done, anchor the chain.

  1. Paste the current version of your draft into the box.
  2. Press Add this version to the chain. The browser hashes it locally with SHA-256 and SHA-512.
  3. The box clears. Continue writing; paste the next version when ready.
  4. When you're done, press Anchor my chain. A Merkle root is computed and submitted to five OpenTimestamps calendars.
  5. You receive a receipt and a downloadable session manifest. Both verify offline against Bitcoin.
Free tier 3 anchors per 24 hours · no payment required
0 versions added · session not started
Verification

Verify a previous session.

Paste a saved manifest, or drop the JSON file. The browser recomputes the Merkle root from the version hashes and compares it to the receipt.

The office

What this is.

A description of observable behavior. No promises of what cannot happen — only an account of what does.

01

Local hashing

Each pasted version is hashed in your browser via the Web Crypto API. The list of hashes is held in this tab's memory and in this browser's localStorage. No version of the draft is sent to the office.

02

One root crosses the counter

When you anchor, the version hashes are combined into a single Merkle root — a 32-byte number. The root is submitted to five independent OpenTimestamps calendars. Within roughly an hour, it is committed inside a Bitcoin block.

03

Receipt survives the office

The downloadable session manifest contains every version hash, the Merkle root, and the receipt identifier. Anyone with the manifest can re-derive the root and verify it against Bitcoin using open-source tools, without contacting this server.

Honesty

What this isn't.

Evidence of process, not proof of authorship. A receipt shows that a sequence of text states existed in a particular order, on or before a Bitcoin block. It does not, by itself, identify the human who typed.

A scripted typist could simulate a drafting cadence. The instrument records what it is given; it does not adjudicate intent. The artifact is corroborating evidence, not a verdict.

Not legal evidence absent expert testimony. Admissibility in any proceeding is determined by counsel and the relevant court — not by this office. Not a substitute for retained counsel where stakes are material.

Schedule of fees

Two tiers. No subscription.

Free tier resets every twenty-four hours by the server's clock. The paid Pack uses the same calendars and the same chain.

Free
$0

For trying it out and for light use, perpetual.

  • 3 anchored sessions every 24 hours
  • Full Bitcoin attestation
  • All 5 calendars
  • Verify any manifest, anytime
Begin
Questions

FAQ

What actually gets sent over the network?

One Merkle root per anchor — a 32-byte (64-hex-character) SHA-256 output — together with its SHA-512 sibling and a static label. No draft text, no version hashes, no filenames.

Where are the versions stored?

In this browser's localStorage, keyed by a random 16-character session identifier. They are not synced anywhere. Clearing browser data removes them. If you want a permanent copy, download the session manifest after anchoring.

What does the receipt prove?

That the Merkle root of your chain of version hashes existed on or before a specific Bitcoin block. By construction, that fixes the order and content of every version included in the root before that block. It is corroborating evidence of a drafting process. It is not, on its own, identification of the author.

What happens if Orphograph shuts down?

The downloaded session manifest plus the .ots proof files (available from the receipt page) verify offline against the public Bitcoin blockchain using the open-source OpenTimestamps client. No Orphograph server is in the loop.

How do I verify someone else's session?

Ask for their session manifest (a small JSON file). Paste it into the verify box above, or drop the file. The browser will recompute the Merkle root from the listed version hashes and compare it to the root recorded in the receipt. To go further, fetch the .ots proofs from the receipt page and run them through the OpenTimestamps client against Bitcoin.

Why a chain instead of a single anchor at the end?

A single anchor of a finished draft proves only that the finished draft existed. A chain of version hashes records the order in which intermediate states existed — an account of editing over time. The Merkle root commits to all of it at once, with one transaction's worth of footprint.

Will this hold up in court?

It may or may not. Admissibility depends on jurisdiction, counsel, opposing counsel, and the trier of fact. Treat the artifact as one piece of corroborating evidence, not a verdict, and consult an attorney where stakes are real.