The sample register · a demo firm, not a client
The register, on a demo firm.
Every month, each AI team member signs a register: what it did with client data, the procedures it captured, the corrections it learned. This is one, run against the published Standard on a two-client demo dataset. No client is involved. Two rows are not green, and one is excluded with its reason printed: a sample where all thirty pass would be a brochure rather than a record.
- Systems in the path
- QuickBooks Online, one month-end sync tool
- Standard
- v1.0, published 26 October 2026
- Run date
- Pending — this page claims no run nobody ran
- Verifier
- Demo Verifier (fixture)
- Excluded
- 1 of 30, reasons below
The 30 rows
One row per check, with its state and its evidence. Where an artefact exists, it is named.
- A1In place
Every request is tied to one client; nothing runs without a client ID
Every call carries a client_id; a request without one returns 400 in the demo run. Artefact: demo log, 4 requests, one rejected
- A2In place
With two demo clients loaded, client 1's output contains no client 2 records
Two demo clients loaded, client 1 output inspected line by line; no client 2 record appears. Artefact: two-client run log, output attached
- A3In place
Stored files and caches are separated per client
Storage paths are prefixed per client; the listing shows both prefixes. Artefact: storage listing, 2 prefixes
- A4In place
AI prompts contain only the current client's data
Prompt captured for the run contains one client's figures only. Artefact: prompt log, 1 client
- A5N/A · excluded
Staff see only the clients assigned to them
Reason: Single-operator demo firm, no staff accounts to scope Artefact: reason recorded, no artefact possible
- B1In place
Nothing posts to the ledger until a named person approves it
The run stops at a draft; posting required an approval by the named person. Artefact: draft state screenshot plus approval log
- B2In place
Writes land as drafts by default
Default write mode is draft; the posted entry was posted by hand after review. Artefact: settings export
- B3In place
Running the tool twice does not post twice
The same run executed twice produced one posted entry; the second was deduplicated on the run key. Artefact: two-run log, 1 entry
- B4In place
Every posted entry can be reversed and traced to the run that created it
The posted entry was reversed in the demo company and traced back to the run that created it. Artefact: reversal log with run id
- B5In place
Amounts and accounts are validated against the chart of accounts before posting
An account code outside the chart of accounts was rejected before posting. Artefact: validation error log
- C1In place
No passwords or API keys in prompts, code, or shared documents
Code search for key-shaped strings returned no hits in prompts, code or documents. Artefact: search output, 0 hits
- C2In place
Keys live in a secrets store and are rotated when staff leave
Keys read from the secrets store at runtime; rotation recorded against the departure procedure. Artefact: secrets store listing, rotation record
- C3In place
Each connection has the narrowest access it needs (read-only unless it must write)
The QuickBooks connection holds the narrowest scope that still writes; read-only on everything else. Artefact: token scopes as returned by the provider
- C4In place
Sign-in required; no public link can reach client data
Demo data reachable only after sign-in; a logged-out request to the data path fails. Artefact: logged-out access test
- C5Not evidenced
Client data goes only to AI providers whose terms exclude training on it
The provider's training terms were read but not filed, and no terms-read-on date is recorded against the connection.
- D1In place
Each run logs who, when, which client, the inputs and the outputs
Each run logs who, when, which client, inputs and outputs. Artefact: run log, 2 entries
- D2In place
AI outputs are stored next to the source data they used
Each stored output sits beside the source rows it used. Artefact: output and source side by side
- D3Not evidenced
Logs are kept for a set period and tool users cannot edit them
Logs are kept, but the retention period is not set and the tool user can still edit them.
- D4In place
Errors are logged and alert a named person
A forced failure raised an alert to the named person within the demo run. Artefact: alert screenshot with timestamp
- D5In place
Any figure can be traced to its source in under five minutes.
A figure was traced to its source in the demo company in under 5 minutes. Artefact: timed walkthrough recording
- E1In place
A one-page handover: purpose, data used, owner, how to run it, how to stop it
One page covering purpose, data used, owner, how to run, how to stop. Artefact: the one-page handover
- E2In place
A second named person has run it end to end from the handover alone
The second named person ran it end to end from the handover, unaided. Artefact: handover run log with their name
- E3In place
Code and settings are in version control with change history
Code and settings in version control; the change history shows the run key change. Artefact: commit history export
- E4In place
Automated tests on demo data pass before every change
Automated tests on demo data pass before each change. Artefact: test output, all pass
- E5In place
One step turns the tool off, and the manual fallback is written down
One step turns it off; the manual fallback is written down and was followed once. Artefact: shutdown demo and the fallback page
- F1In place
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 record
Both systems resolve the same demo client to one canonical key; the match test returned one record. Artefact: the mapping table, plus the match test
- F2In place
A write that lands in one system and fails in the other is visible and reversible
A forced half-failure was visible in the reconciliation view and was reversed. Artefact: forced-failure test and the reversal log
- F3In place
The two sides of the path reconcile for a period, with every exception named
The two sides reconciled for one demo period; the one exception is named. Artefact: reconciliation sheet, 1 exception
- F4In place
Every synced figure carries the time it was pulled, and an out-of-date copy is visible to the person using it
Every synced figure carries the time it was pulled, and a stale copy is visible in the view. Artefact: view screenshot with pull times
- F5In place
Where a person re-keys data between two systems, it is a logged approval point with a name, never an unlogged step
No re-keying in this path; where a person does re-key, it is a logged approval with a name. Artefact: approval log, 1 named entry
Three lines from a client questionnaire
Three lines from the form, and the check that answers each. One prints NOT COVERED BY v1.0: a mapping that only shows what the Standard can answer would be a sales page rather than an instrument.
How do you prevent one client's data appearing in another's?
A2In place · the two-client demo run, logged
Do you use AI tools, and is our data used to train them?
C5Not evidenced · provider terms on file, with a terms-read-on date
Written security training, documented and dated
—Not covered by v1.0 · none at v1.0
The fix list
Three items, 3.5 hours, in the order the record prints them. The hours are what the gap costs the firm today, not what the fix takes to build.
1A5
Decide: scope roles for a second user, or keep the exclusion and say so in every record.
0.5h
2C5
Read the provider's terms, file them, record the terms-read-on date against the connection.
2h
3D3
Set the log retention period and remove edit permission from the tool user.
1h
Yours lists what your practice owns.
This is the demo. The one you sign each month names your AI team members, the procedures they captured, the corrections they learned — and it stays yours when people leave, and counts when you sell.
