← say it welllabs
Chiibitsu Labs · proposal

Decision Receipt Standard

DRAFT v0.1 · not an official standard

Every time a system decides something that matters about a person, it should hand back a receipt. This page defines what the receipt contains, so any company can issue one and any person can check it.

Why this exists

Decisions now happen in milliseconds. The explanation, if one comes, arrives later, shorter, and from nobody in particular. The speed gap is already here. The accountability gap is the one nobody has put a name on.

A receipt closes it at the only moment it can be closed: when the decision is made.

Scope

Any decision, automated or automation-assisted, that has a material effect on a person. That means money, work, housing, health, access to a service, or the ability to speak or be heard. Out of scope: recommendations, ranking of content, and decisions with no effect on the person.

The five fields

1 · key: what

What was decided

2 · key: why

Why it was decided

3 · key: who_answers

Who answers for it

4 · key: undo

How to undo it

5 · key: carry_over

Whether it follows you

Rules

  1. Issue at decision time, in the same channel as the decision. Not later, not on request.
  2. Plain sentences. A person who has never heard of the system must be able to read it.
  3. Machine-readable too. The same receipt exists as JSON, so the person can store it and other tools can check it.
  4. Human-speed reply. Questions to the named person get an answer in 10 business days or fewer.
  5. No stays no. If the person declines something, the receipt records it and the system does not ask again in a new form.

Example (JSON)

{
  "receipt_version": "0.1",
  "decided_at": "2026-10-03T09:14:00Z",
  "what": { "subject": "personal loan application", "outcome": "declined" },
  "why": {
    "reasons": ["Your monthly debt payments are 52% of your stated income; our limit is 45%."],
    "automated": true,
    "human_reviewed": false
  },
  "who_answers": {
    "name": "Jordan Lee",
    "role": "Credit Review Lead",
    "contact": "mailto:review@bank.example",
    "reply_within_days": 10
  },
  "undo": {
    "available": true,
    "how": "Reply to the named contact with updated income or debt figures.",
    "deadline": "2026-11-12",
    "effect": "Decision is paused while it is reviewed."
  },
  "carry_over": { "retained": true, "retention_days": 90, "used_for_other_decisions": false }
}

Check a receipt

Paste a receipt as JSON. This checks it against the draft. ✗ is a MUST that failed. ! is a SHOULD you can fix. Everything runs in your browser.

Press Check.

Open questions

This is a proposal from Chiibitsu Labs. It is a sketch to argue with, not a legal or technical standard. Say it well is the human-scale version: practise the same five things in your own messages. Check a message you received shows the gap on real ones.