Writing, with receipts.

When text is cheap to generate, the scarce resource is a verifiable record of how it was created.

A receipt is one signed file that travels with a piece of writing: how it was composed, the sources behind its claims, and the passages the author declares an AI wrote. Anyone can check one here, in their own browser, with no account and nothing uploaded. Folio is the writing app that produces them.

checked in your browser · your file never leaves your machine

Drop a receipt here, or choose a file

This one is a demonstration receipt with a constructed timeline, genuinely signed so every check here is real. Verify one of yours: drop a .receipts.json here, or .

When text is free, the record is the value

A clean final draft used to be evidence that someone thought. It is not anymore, because a clean final draft is free. What stays scarce is the record of the work itself: the drafts, the sources checked, the argument that changed along the way.

Folio keeps that record as you write, then signs it. Not to prove you did nothing wrong, which is an unwinnable game, but to put an account of how the piece was made on the record, where changing it later is detectable. Receipts of thought, not proof of innocence. The record is the asset.

It is for anyone whose work is doubted by default. Writers whose voice gets mistaken for a model's. Students and teams asked to show their work. Publishers who want a stated basis for trust before they put their name on a piece. The receipt is the author's to publish, and anyone can verify it here.

What a valid receipt proves and does not prove

it proves
  • Nothing in the receipt was altered after signing: the title, the text's fingerprint, the timeline, the disclosed AI passages, the sourced claims.
  • The composition timeline is exactly the one that was signed: no checkpoint has been reordered, inserted or removed since.
  • When the writing itself came with the receipt, that it is the text that was signed. A receipt carries the text's fingerprint rather than the text, so a receipt checked on its own says nothing about the writing, and this page tells you which of the two it did.
  • The embedded C2PA-aligned content credential carries its own valid signature and names the same text and the same key as the receipt around it. This page verifies that credential's signature and bindings itself.
it does not prove
  • Who holds the signing key. A key belongs to a machine and its owner, not to a verified identity.
  • That the timeline reflects honest work. The signature binds the timeline presented at signing, so an author could compose elsewhere, or prune the record, and sign the tidy version.
  • That undisclosed text is human-written. Disclosure is the author's choice; the receipt binds what was disclosed, not what was not.

A receipt is a signed account of how a piece was made, offered by its author. It makes tampering after the fact evident. That is the whole claim.

Once this page has loaded, verification consults no server: it runs entirely in your browser. You still trust your browser, and whoever served this page, to deliver that code faithfully. Read the source.

Questions.

Isn't this what version history does?

It overlaps. Google Docs keeps every edit, and if the person judging your work can already open your document, that will usually do.

It stops working when the reader is anyone else. Edit history lives in the account that owns the file. To use it as evidence you have to give someone access to the document, which means handing over every sentence you cut, and they have to take the platform's word for the log. None of it can be attached to a published article or an emailed draft.

A receipt is a separate file. It holds counts and fingerprints of each draft rather than the drafts, so you can hand it to someone without showing them your working. They check it here, in their own browser. No account, no request to you, no trust in us. It also carries the things an edit log has no way to record: which passages the author declared an AI wrote, which model, which sources they checked.

What if I don't use AI at all?

Then the receipt says no AI passages were disclosed, and the rest still applies. It carries the record your editor kept as you worked, so the piece comes with a history rather than arriving from nowhere, and anyone who checks the text against the receipt sees whether it changed after you signed it. If someone reposts your work with a paragraph quietly altered, that check is what shows it.

Does this prove a person wrote it?

No. Someone patient enough can type out a fake history, and no format can tell the difference. What a receipt gives you is an account of how the piece was made, signed by whoever made it, which cannot be quietly edited afterwards and which a stranger can check for themselves.

Does my writing leave my computer?

No. The checking happens in the page you are looking at. While it runs, this page is forbidden from making any network request, and that is the browser enforcing a policy the page ships with, not a promise on our side. Disconnect and drop a receipt: it still works.

How to read a receipt

Signature
One Ed25519 signature covers the receipt's fields: the schema and timestamp; the post title, URL and hash; the ranges labeled AI-written; the sourced claims; the timeline chain; and the embedded C2PA-aligned content credential's signature value. This page then verifies that credential in full: its own signature over its own canonical form, and that it binds the same body and the same key as the receipt around it. Changing any of it without re-signing makes verification fail.
Timeline
A hash chain over composition checkpoints. It keeps them from being reordered or edited after signing, without publishing the drafts.
Text match
A hash of the text. When this check passes, the words shown here are the words the receipt was signed over. When it fails, they are not.
AI disclosure
Ranges labeled AI-written in the receipt, signed alongside everything else, shown in place as masking tape.

What each check verifies

For readers who want the mechanism. Each row is one check from the card above.

CheckWhat it provesPrimitive
SignatureNone of the receipt's signed fields were alteredEd25519
AI disclosureRanges labeled AI-written are signature-boundEd25519
Content credentialThe embedded C2PA-aligned credential is signed by the same key and names the same textEd25519 over RFC 8785
TimelineThe composition checkpoints were not reordered or editedSHA-256 chain
Text matchThe bundled text matches its hashSHA-256

Write in Folio.

A writing desk that keeps the receipts.

Open Folio Web

Folio for Mac and Linux: coming soon