WPS v1 · Preview · CC BY 4.0 (planned) · MIT verifier (planned)
Worlds Provenance Sidecar
Restoring accountability to the written word, one paragraph at a time. An open standard for per-paragraph cryptographic provenance. Verifiable offline. No chain. SHA-256 + Ed25519 + an RFC 6962-style Merkle log.
Spec, reference verifier, and conformance fixture go public with the v1 launch. Want the heads-up? Get studio updates.
AI made authorship illegible
In a 2026 experiment, novelist Vauhini Vara fed her own books to an AI and asked it to write in her voice. Her closest readers — including a friend of three decades — could not reliably distinguish the imitation from her own prose. Stylistic detection alone is finished.
A few months later, the novel Shy Girl was pulled by its publisher amid AI-writing allegations. The author's defense was that maybe a third party did it — unprovable in either direction. There was no signature, no timestamp, no artifact anyone could point at.
Watermarking AI output is one half of the answer. Watermarking human output — at the paragraph level, signed by the author, verifiable offline — is the other half.
By the numbers
Climate-credible provenance
| Approach | Energy / 1M records | CO₂e / 1M records | Offline verify |
|---|---|---|---|
| Bitcoin anchoring | ~1.5 GWh | ~900 t | No |
| Ethereum PoS | ~10 kWh | ~6 kg | No |
| WPS (Merkle log, this spec) | ~5 kWh | ~3 kg | Yes |
Anchored on the methodology in Climate-Aware Text Provenance (CoinLaw 2026 Bitcoin energy data; Ethereum.org post-Merge estimates; CT-log throughput benchmarks). Conservative midpoints; full methodology footnoted in the spec.
vs Bitcoin
~300,000×
more energy-efficient than chain-anchored provenance.
vs Ethereum PoS
~2×
more efficient — and no chain, no RPC node, no external dependency.
Per book
< 1 email
A book's worth of provenance verifies in milliseconds — less energy than sending an email.
What the spec looks like
A manuscript exports alongside a manuscript.provenance.json sidecar. Each paragraph is a record. Each record is signed by the author's Ed25519 key, hashed into a Merkle leaf, and bound to the manuscript root by a Worlds audit signature.
{
"spec_version": "1.0.0-phase-b",
"manuscript_id": "01HZX...UUID",
"audit_root": "9f2d...c1a8",
"audit_signature": "5b7e...a40c",
"author_keys": [
{
"fingerprint_hex": "a7fa...5664",
"public_key_hex": "3c9b...77d1"
}
],
"records": [
{
"unit_id": "para-001",
"author_type": "HUMAN-ORIGINAL",
"model": null,
"text_hash_hex": "1c4a...0e9d",
"author_key_fingerprint_hex": "a7fa...5664",
"parent_unit_id": null,
"created_at_iso": "2026-05-09T14:23:11.000Z",
"signature_hex": "51e5...af01",
"merkle_proof": [ /* ... */ ]
}
]
}Full schema, canonical encoding rules, and 24 byte-equality test vectors ship in the spec at the v1 launch.
How to adopt
- Install the reference verifier. Node 22+ required for Web Crypto Ed25519.
cd tools/verify-cli npm install
- Round-trip a fresh demo sidecar against the full eight-step verifier pipeline.
npm run verify -- --demo
- Run the 24-check conformance fixture against your implementation — every intermediate byte is pinned.
npm run verify -- --vectors ../../docs/spec/v1/test-vectors.json
- Verify a real manuscript with the audit key pinned out of band.
npm run verify -- <manuscript.txt> <sidecar.provenance.json> --audit-key <hex>
How WPS relates to existing standards
- vs C2PA: C2PA wraps the whole manuscript with publisher-level metadata. WPS signs each paragraph by the named human author. The two compose — C2PA on the export, WPS on the body. A C2PA WG extension for per-paragraph human signing is an open question we're tracking.
- vs Project Origin: BBC / NYT / CBC / Microsoft sign at the article level, by the publisher. WPS signs at the paragraph level, by the author.
- vs Nostr: Nostr signs each event as a single atom — a post is one signature. WPS subdivides the post and signs each paragraph independently, so a single document can carry mixed human and AI authorship with paragraph-level granularity.
- vs SynthID (Google): SynthID watermarks AI output. WPS attests human output. They solve opposite halves of the same problem; both will be needed.
Open implementations welcome
The cryptography is the trust. The reference verifier is one of N validators. Anyone will be able to implement the spec against the canonical fixture and reach the same answer. Conformance procedure lives in §13 of the spec — both ship publicly with the v1 launch.