pre-MVP / building in the open

Decisions, instrumented.

A case becomes a recorded deliberation: personas, votes, consensus, and a cryptographic seal. For systems that have to explain themselves.

Governance layer over @consensus-tools. Runs on Cloudflare Workers.

01 Protocol

Four calls. Key to signed verdict.

No SDK required. It's HTTP. The SDK only wraps these four calls.

  1. 01

    Authenticate

    Every request carries your API key as a bearer token.

    Authorization: Bearer csh_live_EXAMPLE_KEY
  2. 02

    Define a council

    A versioned panel of personas that deliberate on a case.

    POST /councils
  3. 03

    Submit a case

    Async by design. You get a decisionId back immediately.

    POST /councils/:id/decisions
  4. 04

    Poll, then export

    Read the verdict, then pull the signed record.

    GET /decisions/:id GET /decisions/:id/export

02 The record

Every step, recorded and signed.

Most AI decisions are a black box and a timestamp. councils.sh records the whole council: every persona's vote, the consensus math, any human approval. Sealed into one verifiable record.

  • Immutablehash-chained, append-only
  • Signedcryptographically verifiable
  • ExportableJSON or Markdown
GET /decisions/dec_3f9c/export
{
  "record": {
    "decisionId": "dec_3f9c",
    "councilId": "trust-and-safety",
    "councilVersion": "1",
    "verdict": "approve",
    "confidence": 0.67,
    "status": "decided",
    "opinions": [
      { "personaId": "policy",  "verdict": "approve" },
      { "personaId": "risk",    "verdict": "flag" },
      { "personaId": "finance", "verdict": "approve" }
    ],
    "prevHash": "9b1c…e07",
    "hash": "4a7f…d21"
  },
  "signature": "a3f1c8…",
  "algorithm": "HMAC-SHA256"
}

prevHash links to the previous record in the council's chain; hash seals this one; signature is a detached HMAC-SHA256 over the record's canonical JSON. Re-sign to verify.

03 Audience

Two readers.

A decision is only as good as the two people who later have to answer for it.

Developers

A small HTTP surface. Async decisions, predictable error envelopes, an SDK that stays out of the way. Key to first verdict in minutes, not a sales call.

  • One bearer token, four endpoints
  • Versioned councils: change the panel, keep the history
  • Deterministic test seam, no live model calls in CI

Compliance & governance

When someone asks how a decision was made, you have an answer that holds: a signed, hash-chained record of the whole deliberation, exportable on demand.

  • Immutable record per decision
  • Human-in-the-loop approvals captured inline
  • Export to JSON or Markdown for the file

04 Access

Get a key. Tell us where it breaks.

No pricing tiers, no enterprise table. Wire up a council and send a real case.

What's real: the deliberation engine, signed records, human-in-the-loop. Not yet: billing and a hosted dashboard.