Every human decision, on the record.

Each time verified people or a developer’s team decide for an AI agent, the outcome is added here, linked to the one before it by its fingerprint. Change any past decision and every link after it breaks. Anyone can check.

You’re viewing the Test chain: decisions from developers’ test keys, simulated and never seen by people.

Decisions recorded8
Decided by verified people6
Sent to a developer’s team0
Answers confirmed in person0%
  1. #8Decided by verified people100% agreed2 hr agoa2e3761444b9links to 8cb4ba0d8b3f
  2. #7Decided by verified people100% agreed2 hr ago8cb4ba0d8b3flinks to 51aa5ab397f3
  3. #6Decided by verified people100% agreed2 hr ago51aa5ab397f3links to 08042004eba0
  4. #5Decided by verified people100% agreed2 hr ago08042004eba0links to af5e0cc1445a
  5. #4No answer in time2 hr agoaf5e0cc1445alinks to 82d7c0d7b3c4
  6. #3Tied, no answer2 hr ago82d7c0d7b3c4links to 62017d2e7817
  7. #2Decided by verified people67% agreed2 hr ago62017d2e7817links to fc36c4b32765
  8. #1Decided by verified people100% agreed2 hr agofc36c4b32765links to 000000000000

Entry #1 links to the start of the chain: 0000000000000000…

Don’t take our word for it.

The ledger is public on purpose. Every entry is a few plain fields and a fingerprint, so you can recompute any of them with a few lines of code, or press “Check the chain yourself” and your browser does it.

  • Private by design. No questions, answers or customer names appear here. Each entry carries a salted fingerprint of its content, which only the developer who owns it can match to their own record.
  • Test and Live are separate chains. Simulated decisions from test keys never mix with real ones.
  • Not a blockchain. One append only record, with the latest fingerprint recorded every day, so history can’t be quietly rewritten, by anyone, including us.

JSON: /api/ledger and /api/ledger/live/{n}

// Each entry's fingerprint is SHA-256 of these fields joined with "|":
plures-ledger-v1 | mode | seq | task_id | decided_at | status
  | decided_by | reason | agreement | answers | confirmed
  | content_digest | prev_hash

// Check one entry (Node 18+)
const e = await fetch("https://plures.si/api/ledger/live/1").then((r) => r.json());
const input = ["plures-ledger-v1", e.mode, e.seq, e.task_id, e.decided_at, e.status,
  e.decided_by ?? "", e.reason ?? "", e.agreement ?? "", e.answers, e.confirmed,
  e.content_digest, e.prev_hash].join("|");
const { createHash } = await import("node:crypto");
const hash = createHash("sha256").update(input).digest("hex");
console.log(hash === e.hash, e.next_hash); // true, and the next entry's prev_hash