Examples
Each example is a small application with its own README, trust model and tests, which CI runs on every change. None needs a network or an external service.
- A browser's own tamper-evident log
- A browser keeps its own tamper-evident log in IndexedDB, signed by a device key no script can export, shared safely between tabs. Runs on browsers.
- Session receipts: a record neither side can rewrite
- The browser logs every exchange with the server; the server witnesses the log and commits it to S3-compatible storage. Runs on browsers, Node.js, Bun and Deno.
- A notary with offline-verifiable receipts
- A notary: it logs a document's SHA-256 digest with its submitter's signature, and returns a receipt that anyone can verify offline. Runs on Node.js, Bun and Deno.
- A public log server, on any SQLite, on Node, Bun or Deno
- A public transparency log server: POST /add and the tlog-tiles read API on any SQLite, from one source on Node, Bun and Deno. Runs on Node.js, Bun and Deno.
- A monitor that catches forks and rollbacks
- A monitor that follows a remote transparency log, proves every new checkpoint consistent with the last, and reports a fork or rollback loudly. Runs on Node.js, Bun and Deno.
- The log server at the edge: a Cloudflare Worker
- The log server example as a Cloudflare Worker, one deployment target among several: the same routes, on a SQLite-backed Durable Object. Runs on Cloudflare Workers.
To run one, build the library at the repository root, then run its ci script in its directory. The
sources are in examples/.