The Screenplay Registry v0.2 · base layer live
A public protocol for private screenplay proofs

Create a private, dated proof of your screenplay's existence - without sending it out.

The Screenplay Registry is a free, open-source script registry for writers. It creates a cryptographic record of your exact draft while keeping the script on your computer. The Screenplay Registry hashes your draft on your own machine and anchors only the 32-byte fingerprint to Bitcoin, through OpenTimestamps. The script never goes with it.

You keep your script along with the two small files it produces: the manifest and the timestamp proof. Anyone with these files can verify your screenplay existed by a certain date.

§ 1 · How it works

Three deterministic steps. One portable proof.

Your script is canonicalized into normalized bytes; those bytes are hashed with SHA-256 into a 32-byte digest; the digest is committed to a Bitcoin block via OpenTimestamps. Every step runs in your own browser and is reproducible from open-source code and published test vectors. You get back a small manifest file (the envelope) and a self-contained .proof.ots file — both small enough to email. Only the 32-byte digest ever leaves your machine; the script itself does not. The browser takes Fountain or plain text today; PDF screenplays convert to text with the screenreg extract CLI command, and in-browser PDF support is coming soon.

Step 1 · Normalize

UTF-8 NFC, LF line endings, BOM stripped. Cosmetic edits don't change the digest. A Merkle scene-tree is computed so you can later prove a single scene without exposing the rest of the script.

Step 2 · Hash

SHA-256 over the canonical bytes produces a 32-byte digest. The digest is the only thing that ever leaves your machine.

Step 3 · Anchor

The digest is submitted to OpenTimestamps calendars, which aggregate it with thousands of others into a Merkle root that is committed to Bitcoin. No fee, no wallet, no Bitcoin in sight.

Identical inputs always produce an identical digest. A counterparty, a defendant's counsel, an academic auditor, or a future maintainer with no connection to the initial contributors can reproduce verification offline — using the manifest, the .proof.ots file, and a Bitcoin node. No server, no account, and no permission from us is ever required.

§ 2 · The layers

The base layer works today.

The protocol is designed in layers. The base layer is a free Bitcoin timestamp. Two more layers are specified but not live yet: a public index and an optional on-chain record. Both would be opt-in, and neither would change or replace the Bitcoin proof you already hold.

Live

Bitcoin timestamp

A 32-byte fingerprint of your draft, submitted to OpenTimestamps in about a minute; the Bitcoin confirmation follows within a few hours. The script stays on your machine, and nothing is published unless you ask.

Specified · not live

Public index

The public index is designed but not live yet. If you opt in, it would list a title and name, never the script. Each record's proof would still be its own Bitcoin timestamp, independent of any list we keep.

Design: spec §10 · registry index

Specified · not live

Optional on-chain record

The on-chain record is designed but not live yet. It would be optional, public, and gasless to you. It would not prove authorship, and it would not replace registering with the Copyright Office.

Design: spec §9 · on-chain anchor

Follow the repository to track work on the public index and on-chain record. The Bitcoin timestamp already works today.

§ 3 · How it fits

Same draft. Different guarantees.

You already have two places to deposit a screenplay for a dated record: the Writers Guild and the U.S. Copyright Office. Each gives you a different artifact at a different price. The Registry's base layer is a third option that costs nothing and runs in your browser. It is not a replacement for the other two, but something you can do alongside them in the time it takes to read this sentence.

WGA registration

Guild deposit

A copy of the script kept in a guild filing cabinet. Convenient but expires after five years.

$25
U.S. Copyright Office

Statutory filing

The legally-meaningful registration. Required to sue for infringement. Processing time per the Office's published status page is up to four months for electronic filings; you upload the script.

$45
The Screenplay Registry · base layer

Cryptographic timestamp

A 32-byte fingerprint submitted to OpenTimestamps in about a minute, with Bitcoin confirmation a few hours later. The script stays on your machine. Use this with the Copyright Office, not instead of it.

$0
§ 4 · Out of scope

Explicit non-goals.

The Registry's value depends on honest scope. We are pedantic about what the protocol does and does not do so that lawyers, journalists, and writers can rely on the artifact without misrepresenting it.

Does not prove authorshipA timestamp proves bytes existed at time t. It does not prove who wrote them. Authorship is established by the surrounding chain of custody: drafts, emails, version control, witnesses, deposition.
Does not replace the Copyright OfficeUSCO registration is the procedural prerequisite to sue for infringement and the source of statutory damages. Register with USCO. The Registry is a complement, not a substitute.
Never stores your scriptYour screenplay stays on your machine. Only a 32-byte fingerprint is ever transmitted, so there is nothing here for anyone to leak, subpoena, or train an AI on.
Does not need a walletThe base layer needs no wallet, no cryptocurrency, and no account. Bitcoin is just the implementation detail of the anchoring layer; there is no token, fee, or wallet popup. The optional on-chain record is opt-in, never required, and would be gasless to you.
§ 5 · Questions

The questions writers actually ask.

Short, honest answers. For the long version, see the full FAQ and the threat model.

Does my screenplay ever leave my computer?

No. Your draft is read and fingerprinted on your own machine — in your browser, or with the command-line tool if you prefer — and only a 32-byte fingerprint, not a single line of the script, is ever sent out to be timestamped. There is no upload, no account, and no copy of your screenplay on any server. There is nothing here for anyone to leak, subpoena, or train an AI on.

What does the proof actually prove?

That a draft with a specific fingerprint existed no later than a specific date — priority in time. Once the fingerprint is confirmed on Bitcoin (a few hours after you create it), no one — including us — can backdate or alter it, and anyone can verify it independently, forever, without trusting us.

What does it not prove?

It does not prove who wrote the script — a timestamp shows that bytes existed at a time, not who authored them. And it is not a substitute for registering with the U.S. Copyright Office, which is what lets you sue for infringement. Use this alongside the Copyright Office, not instead of it.

To prove it later, do I have to reveal my script?

To prove that the fingerprint is a particular screenplay, yes — you show that screenplay. But you choose when, and to whom. Until then, the only thing that has ever left your machine is an opaque 32-byte fingerprint, which reveals nothing about the content. And when you do reveal it, the math proves it is the exact, unaltered draft that existed on the recorded date — it cannot be a different or edited version.

How is this different from the WGA or the Copyright Office?

The WGA keeps a copy of your script on file for five years (about $25). The Copyright Office is the statutory registration you need before you can sue, and you upload the script to it (about $45, with a processing wait). This is a third, free option that runs in your browser in seconds and keeps the script on your machine. It complements the other two; it doesn't replace them.

Is it really free? Do I need Bitcoin or a wallet?

Free, with no account, no payment, no token, and no wallet. Bitcoin is only the public ledger the timestamp is anchored to, through OpenTimestamps — there is no fee, no coin to buy, and no wallet popup. You never have to think about Bitcoin at all.

Why does the confirmed proof take a few hours?

OpenTimestamps gives you a pending proof almost immediately, then folds your fingerprint together with many others into a single summary that is committed to a Bitcoin block — usually within a few hours. Once that block is mined and the proof is upgraded, it stands on its own, permanently. The wait is Bitcoin's, not ours.

What happens to my proof if this website disappears?

Once your proof is confirmed on Bitcoin, it no longer depends on us at all. It verifies against the Bitcoin blockchain using open-source code — no server and no company required — so anyone can check it even if this site is long gone. That permanence is the whole point.

What can I register, and from where?

Today, drop a Fountain or plain-text screenplay into the browser. PDF screenplays convert to text with the screenreg extract command-line tool for now, and in-browser PDF support is coming soon. The command-line tool offers the same proof with more options for people who want them.

§ 6 · For developers & integrators

Any screenwriting app can add this, without asking us.

Writers never touch a command line; the base layer above is a browser page. This part is for people building screenwriting tools. The reference implementation is TypeScript, MIT-licensed, dependency-light, and has no exotic cryptography. Desktop apps, web apps, and indie Fountain editors can add a "register this draft" action by spawning the CLI, or by running the same logic in the browser through the shared modules behind /create/.

# minimal embed — register the current draft from any tool
# (works wherever you can spawn a subprocess: Electron, Tauri, native bridge, etc.)

$ screenreg register draft.fountain \
    --identity \
    --envelope-out drafts/v3.manifest.json \
    --ots-out drafts/v3.proof.ots

# produces:
#   drafts/v3.manifest.json  — the envelope (commitment + metadata)
#   drafts/v3.proof.ots      — the OpenTimestamps Bitcoin proof
#   drafts/v3.private-key.pem — Ed25519 signing key (chmod 600)

$ screenreg verify draft.fountain drafts/v3.manifest.json drafts/v3.proof.ots
# ✓ VERIFIED — claim hash matches and a Bitcoin attestation is present
§ 7 · Governance

Steward today. Council tomorrow.

The protocol is presently maintained by its initial contributors. The roadmap calls for transition to an independent technical council with representation from working screenwriters, integrators, legal practitioners, and protocol engineers (triggered by three external integrators OR six months, whichever comes first). The spec, test vectors, and reference implementation are licensed such that any party may fork and continue the work without our permission and without our cooperation. That is the point.

Identifier
urn:screenplay-registration-claim:v1
Status
v0.2 · base layer live
Steward
Initial contributors
Future steward
Independent council
License (code)
MIT
License (spec)
CC-BY 4.0
License (vectors)
CC0
Cousins
OpenTimestamps, C2PA, Sigstore
§ 8 · Specification

The full spec, section by section.