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
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
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
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
A4
AI prompts contain only the current client's datablocking
Evidence: Sample of the prompt log
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
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
B2
Writes land as drafts by defaultblocking
Evidence: One sample run showing the draft state, plus the code path that sets it
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
B4
Every posted entry can be reversed and traced to the run that created it
Evidence: Reversal demo, plus the log ID
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
C1
No passwords or API keys in prompts, code, or shared documentsblocking
Evidence: Secret-scan output
C2
Keys live in a secrets store and are rotated when staff leave
Evidence: Settings, plus a rotation record
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
C4
Sign-in required; no public link can reach client datablocking
Evidence: Access test from a logged-out browser
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
D1
Each run logs who, when, which client, the inputs and the outputs
Evidence: Sample log entry
D2
AI outputs are stored next to the source data they used
Evidence: Sample record
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
D4
Errors are logged and alert a named person
Evidence: Forced-error test
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
E1
A one-page handover: purpose, data used, owner, how to run it, how to stop it
Evidence: The document
E2
A second named person has run it end to end from the handover alone
Evidence: Their run log
E3
Code and settings are in version control with change history
Evidence: Repository link
E4
Automated tests on demo data pass before every change
Evidence: Test-run history
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
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
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
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
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
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.
