The Screenplay Registry v0.1.0 · initial release
Open Protocol · Authorship Timestamps · Reference Implementation v0.1.0

Create a private, dated proof that your screenplay existed — before you share it.

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.

screenreg fingerprints your Fountain file locally, timestamps that fingerprint through OpenTimestamps, and gives you a small proof file you can keep forever. Anyone with the original file and proof can verify the record later.

Identifier
urn:screenplay-registration-claim:v1
Status
v0.1.0 · initial release
Steward
Initial contributors
Future steward
Independent council (see §5)
License (code)
MIT
License (spec)
CC-BY 4.0
License (vectors)
CC0
Cousins
OpenTimestamps, C2PA, Sigstore
§ 1 · How it works

Three deterministic steps. One portable proof.

The Fountain manuscript 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. Each step runs locally and is reproducible from open-source code and published test vectors. A small .manifest.json (the envelope) and a self-contained .proof.ots file are returned — both small enough to email.

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 relationship to the present steward can reproduce verification offline — using the .manifest.json, the .proof.ots file, and a Bitcoin node.

§ 2 · Cost

Same record. Different bill.

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 is a third option that costs nothing and runs on your laptop — 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

Cryptographic timestamp

A 32-byte fingerprint anchored to Bitcoin in about a minute. Script stays on your machine. Use this with the Copyright Office, not instead of it.

$0
§ 3 · 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.
Does not enforce AI opt-outThe claim record carries a machine-readable opt-out preference mirroring the CAWG training-data-mining assertion (originally part of C2PA). Enforcement is policy, not protocol. We provide the signal; the law and the trainer decide what to do with it.
Does not need a walletThere is no token, no NFT, no fee, no MetaMask popup. The writer interacts only with the CLI. Bitcoin is an implementation detail of the anchoring layer.
§ 4 · For integrators

If you ship a screenwriting app, you can add this in a weekend.

The reference CLI is in TypeScript, MIT-licensed, dependency-light, and free of cryptographic novelty. Highland, Slugline, WriterDuet, FadeIn, an indie Fountain editor — any of you can drop in a "register this draft" menu item in roughly the time it took to add Export to PDF. The simplest integration spawns the CLI as a subprocess; a typed SDK ships in v0.1.1 once the wire surface settles.

# 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 \
    --training-mining notAllowed \
    --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
§ 5 · 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.

Code
MIT
Specification
CC-BY 4.0
Test vectors
CC0
URN identifier
brand-neutral by design
§ 6 · Specification

The full spec, in seven sections.