A line for every step, and each one holds the last.
A protocol registered, a draw, a report, a mark that stands, a mark withdrawn: each is a line with the digest of what it says, the hash of the line before, and its own hash. The last hash of each day is anchored outside us on OpenTimestamps. Download it, recompute it, and you need nobody's word — not ours.
| # | When | Kind | Says | Hash |
|---|---|---|---|---|
| 3 | 8 Oct 2026 | protocol | selione-proof · Selione — proof run (not a customer) · n=36 · first_person · report | e965bba91f5f4069… |
| 4 | 8 Oct 2026 | draw | 41 items drawn, seed revealed · report | dad0e22936531dd5… |
| 5 | 8 Oct 2026 | report | selione-proof · 34 judged · bound 22% · does not hold · report | 6fc11da2555efc4d… |
| 6 | 8 Oct 2026 | protocol | selione-proof · Selione — proof run (not a customer) · n=36 · first_person · report | fe13498dac43131b… |
| 7 | 8 Oct 2026 | draw | 41 items drawn, seed revealed · report | 32fac69e2881aa7b… |
| 8 | 8 Oct 2026 | report | selione-proof · 34 judged · bound 11% · holds · report | 191baed645de409c… |
| 9 | 8 Oct 2026 | mark | selione-proof · measured, until 6 Jan 2027 · report | c71b07f0b7625b72… |
| 10 | 8 Oct 2026 | protocol | tacit-01e2c179d2a9 · Selione — Tacit proof run (not a customer) · n=35 · first_person · report | 71815ef4ec92074d… |
| 11 | 8 Oct 2026 | draw | 40 items drawn, seed revealed · report | 6ad8fbba806fe4f7… |
| 12 | 8 Oct 2026 | report | tacit-01e2c179d2a9 · 28 judged · bound 8% · does not hold · withheld · report | 7d7c83ac2549c684… |
| 13 | 8 Oct 2026 | protocol | tacit-ee998665e765 · Selione — Tacit proof run (not a customer) · n=47 · first_person · report | 275ac216e0e9fcfc… |
| 14 | 8 Oct 2026 | draw | 52 items drawn, seed revealed · report | e36871d3dbf48a31… |
| 15 | 8 Oct 2026 | report | tacit-ee998665e765 · 43 judged · bound 5% · holds · report | b347d0fe5560125d… |
| 16 | 8 Oct 2026 | mark | tacit-ee998665e765 · measured, until 6 Jan 2027 · report | 9008323f91843e13… |
| 17 | 8 Oct 2026 | policy | 889bd77a192945ca… | |
| 18 | 8 Oct 2026 | statement | f3e1f750feccae2c… | |
| 19 | 8 Oct 2026 | reviewer | 7f8b32cd4f4ff8e5… | |
| 20 | 8 Oct 2026 | decision | 4da1d1ddcc292eeb… | |
| 21 | 8 Oct 2026 | golden | 99180f249fdec620… | |
| 22 | 8 Oct 2026 | policy | c21bb20992cf95c9… | |
| 23 | 8 Oct 2026 | statement | 71f67c27555dfa7f… | |
| 24 | 8 Oct 2026 | reviewer | 727e51a3dbea9933… | |
| 25 | 8 Oct 2026 | decision | dec8c0443d7449f6… | |
| 26 | 8 Oct 2026 | golden | fea22990db6bc244… | |
| 27 | 8 Oct 2026 | policy | 7584c02550b5a2a4… | |
| 28 | 8 Oct 2026 | statement | 2cfb5f9c70ed8386… | |
| 29 | 8 Oct 2026 | reviewer | cafdd4f3fa3b4579… | |
| 30 | 8 Oct 2026 | decision | 6a3f3485a96c9d75… | |
| 31 | 8 Oct 2026 | golden | 0882eae8057c02fb… |
Daily roots, anchored
| Day | Last line | Root (the day's last hash) | OpenTimestamps |
|---|---|---|---|
| 2026-10-10 | 31 | 0882eae8057c02fb38fb05723066a3bae0532d3c1bfe5995bcf6168b5b1e05c0 | proof (.ots) |
| 2026-10-09 | 31 | 0882eae8057c02fb38fb05723066a3bae0532d3c1bfe5995bcf6168b5b1e05c0 | proof (.ots) |
| 2026-10-08 | 8 | 191baed645de409c41facea070d90a9018515b591d089bf2d3778e43e933b25c | proof (.ots) |
Recomputing it yourself
For each line: digest = SHA-256 of the payload as canonical JSON (keys sorted at every depth, compact); entry_hash = SHA-256 of prev_hash + ':' + digest + ':' + kind + ':' + at (ISO 8601 UTC with milliseconds). The first line's prev_hash is 64 zeros. A day's last entry_hash is the root anchored on OpenTimestamps; verify the proof with the public `ots` tool.
The roots are at /api/lumen/v1/register/roots. A protocol's signed report, with its own anchor, is at /api/lumen/v1/register/<id>; the verifier checks its signature in your browser.