Skip to main content

The Firm-Safe Standard v1.0 · published 26 October 2026 · CC BY 4.0

The 30 checks, published before you buy.

Thirty checks in six areas, for the path client data takes. Ten are blocking: an AI team member never goes live until it passes all ten. The other twenty are scored, and every check names the evidence it requires. The Standard is free to read, use and adapt under CC BY 4.0 — including against tools you built yourself.

30 checks

10 blocking · never live without them

20 scored

6 areas

A · Client separation

One client's data never reaches another client

  1. A1

    Every request is tied to one client; nothing runs without a client IDblocking

    Evidence: Code search, plus a test where a call without a client ID fails

  2. A2

    With two demo clients loaded, client 1's output contains no client 2 recordsblocking

    Evidence: Manual run against the public two-client demo dataset, logged, with the output attached

  3. A3

    Stored files and caches are separated per clientblocking

    Evidence: A query of the storage layer showing a per-client prefix per client, plus the paths

  4. A4

    AI prompts contain only the current client's datablocking

    Evidence: Sample of the prompt log

  5. A5

    Staff see only the clients assigned to themblocking

    Evidence: Role settings, plus a test

B · Ledger protection

Nothing reaches the ledger without a person, once

  1. B1

    Nothing posts to the ledger until a named person approves itblocking

    Evidence: The log line showing the approver identity and timestamp, plus the approval step's code path

  2. B2

    Writes land as drafts by defaultblocking

    Evidence: One sample run showing the draft state, plus the code path that sets it

  3. B3

    Running the tool twice does not post twice

    Evidence: Two consecutive manual runs on the demo client, both logged, the second showing no duplicate post

  4. B4

    Every posted entry can be reversed and traced to the run that created it

    Evidence: Reversal demo, plus the log ID

  5. B5

    Amounts and accounts are validated against the chart of accounts before posting

    Evidence: Test with a bad account code

C · Secrets and access

Keys and access stay inside the firm

  1. C1

    No passwords or API keys in prompts, code, or shared documentsblocking

    Evidence: Secret-scan output

  2. C2

    Keys live in a secrets store and are rotated when staff leave

    Evidence: Settings, plus a rotation record

  3. C3

    Each connection has the narrowest access it needs (read-only unless it must write)

    Evidence: The token's scopes as returned by the provider, plus the code path that requests them

  4. C4

    Sign-in required; no public link can reach client datablocking

    Evidence: Access test from a logged-out browser

  5. C5

    Client data goes only to AI providers whose terms exclude training on it

    Evidence: Provider terms on file, with a "terms read on" date and a review interval

D · Audit trail

Any figure can be traced to its source

  1. D1

    Each run logs who, when, which client, the inputs and the outputs

    Evidence: Sample log entry

  2. D2

    AI outputs are stored next to the source data they used

    Evidence: Sample record

  3. D3

    Logs are kept for a set period and tool users cannot edit them

    Evidence: The retention configuration, plus a permission test showing the result of an editing attempt

  4. D4

    Errors are logged and alert a named person

    Evidence: Forced-error test

  5. D5

    Any figure can be traced to its source in under five minutes.

    Evidence: Timed walkthrough recording

E · Continuity

A second person can run it, and it can be stopped

  1. E1

    A one-page handover: purpose, data used, owner, how to run it, how to stop it

    Evidence: The document

  2. E2

    A second named person has run it end to end from the handover alone

    Evidence: Their run log

  3. E3

    Code and settings are in version control with change history

    Evidence: Repository link

  4. E4

    Automated tests on demo data pass before every change

    Evidence: Test-run history

  5. E5

    One step turns the tool off, and the manual fallback is written down

    Evidence: Shutdown demo, plus the fallback page

F · Handoffs

Client data survives the move between two systems

  1. F1

    Every client has one canonical key, and every system in the path maps to it; the same client created in two systems resolves to one recordblocking

    Evidence: The mapping table, plus a test showing a client created in system A is matched, not duplicated, in system B

  2. F2

    A write that lands in one system and fails in the other is visible and reversible

    Evidence: Forced-failure test, plus the log showing the partial state and the reversal

  3. F3

    The two sides of the path reconcile for a period, with every exception named

    Evidence: A reconciliation query, plus the exception register it produces

  4. F4

    Every synced figure carries the time it was pulled, and an out-of-date copy is visible to the person using it

    Evidence: The stored pull timestamp, plus the view that shows staleness

  5. F5

    Where a person re-keys data between two systems, it is a logged approval point with a name, never an unlogged step

    Evidence: The log line with the person and timestamp, plus the code path that requires it

Take it with you

The Standard is published as data, not just as this page: the same 30 checks as JSON and CSV, underCC BY 4.0. Attribute it as: Firm-Safe Standard v1.0, published 26 October 2026, firmsafe.io/standard, CC BY 4.0.

Read the checks. Then hold us to them.

Your first AI team member ships only after it passes all ten blocking checks — and the register you sign every month shows exactly which ones it keeps passing.

Book a planning call