Open specification · Origin Method v2

The method in one page.

Everything you need to build a compatible sealer without us: no permission, no account, no payment.

1 · The hash

SHA-256 over the document bytes (UTF-8, no BOM). Represented as lowercase hexadecimal, 64 characters. The hash changes if a single byte changes.

2 · The manifest (layer 1)

PROVENANCE.json: a JSON object with files (path → sha256), created (ISO 8601 date) and generator. Verification: recompute the SHA-256 of each listed file and compare. Everything must match.

3 · The record (layer 2)

provenance.jsonld using schema.org vocabulary (CreativeWork: author, datePublished, identifier = manifest hash). By convention it stays outside the manifest — it carries its own identifier — and its integrity is verified by crossing its hasPart with the manifest.

4 · The seal (layer 3)

OpenTimestamps over the manifest: ots stamp PROVENANCE.json. The resulting .ots does not enter the manifest. Verification: ots verify or opentimestamps.org. Free, no account, no bitcoin purchase: the seal is batched with thousands in one transaction paid by the public calendars.

5 · The witness (layer 4)

Publish the hash with a date in a public place. The witness record lives outside the sealed package and includes: witness, date, attested hash, verification method and result. The witness cannot be the author. See the protocol →

6 · Versioning

Every version of the method is numbered and sealed. History is not rewritten: what gets corrected gets corrected in a new version.

Implementing this specification requires no permission. It is free for everyone to use.