Skip to content

Legal: prove to a sceptical client what the system did

Machine verified A machine ran this on our install and checked the result against the CLI. A test report is linked. CLI 0.4.0, checked 2026-11-05.

Prove it to a client who will not take your word

Ask Quox to show a sceptic that the record is honest. It does a real action, shows that actions are journalled, checks the tamper-evident chain, and lists your compliance records. Where the check falls short of full proof, it says so instead of overclaiming.

What you get: an answer you can put in front of a sceptical client without having to walk anything back. In this run Quox logged a real call, showed the audit trail, checked the deployment’s tamper-evident chain, and listed ten DPIA records. The chain check came back PARTIAL, and Quox led with that: it said the check did not prove the whole record intact, and that the client should hear so plainly.

A client will not take your word that the system keeps an honest record of what it does. You want to show them, from the system itself: a real action, the trail it leaves, a tamper check on the record, and your data protection paperwork. The contact is a demo record. This is the exact request from the recorded run, and Quox’s answer:

quox · talking to Quox

A sceptical client won't take my word that the system keeps an honest, tamper-evident record. Prove it. First do a real governed action: log an outbound call on my ContactsQ Selftest demo contact for proof run dfa84b. Then pull the three most recent audit-trail envelopes - id and intent each - to show every action is journalled. Then verify the WARD chain ward:org/quox/env/production and give the verdict, so they can see the record can't be altered after the fact. Finally list our DPIA compliance records. Don't run any shell commands.

▤ AOCL │ L1 identity complete · allowed · 1ms

▤ AOCL │ L3 policy gate complete · proceed · 8ms

◐ CONTACTS │ search ✔ CONTACTS │ search │ 1 candidates, ambiguous: false · 1.5s

⛓ AEE │ envelope opened · ops.tool · contacts_search ok

◐ CONTACTS │ log touchpoint ✔ CONTACTS │ log touchpoint │ ok · 1.9s

⛓ AEE │ envelope opened · ops.tool · contacts_log_touchpoint ok

◐ DELEGATE │ delegate_to_agent agent_id=auditus ✔ DELEGATE │ delegate_to_agent agent_id=auditus │ 4 tools used, 4 tool outcomes · 32.9s

◐ DELEGATE │ delegate_to_agent agent_id=compliance ✔ DELEGATE │ delegate_to_agent agent_id=compliance │ 1 tools used, 1 tool outcomes · 54.1s

⛓ AEE │ envelope opened · ops.tool · delegate_to_agent ok

⛓ AEE │ envelope opened · ops.tool · delegate_to_agent ok

◐ COMPLIANCE │ read ✔ COMPLIANCE │ read │ 10 dpias · 2.2s

⛓ AEE │ envelope opened · ops.tool · compliance_read ok

⛓ AEE │ envelope opened · stream_success

All four steps ran, but the WARD check was only partial, so it doesn't prove the whole
chain is intact. Your client should hear that plainly.

1. Governed action: done. I logged an outbound call on ContactsQ Selftest (demo) for
proof run dfa84b. The record is touchpoint  tp_mw3ov54k_26ac66ad6092 , direction
outbound, outcome answered, timestamped 2026-11-05 15:16:47 UTC.

2. Three most recent audit-trail envelopes. The audit agent read these a little before
my touchpoint, so the new log entry isn't among them. They are the newest it returned,
as of 15:02 UTC.

Envelope ID           │ Intent
──────────────────────┼──────────────────
ENV_MW3OCZ6S_4QPIK3H2 │ aocl.run.start
ENV_MW3OCYZV_T86WFWQE │ aocl.tool.execute
ENV_MW3OCYZG_SFRFKB2C │ ops.tool.executed

The second and third record an earlier WARD verify run. The first is the start of an
audit-trail query run.

3. WARD chain  ward:org/quox/env/production : PARTIAL.

• The chain holds 6,670,408 entries. The check covered only the newest 250 entries and
  their 250 signatures, and all of them passed.
• It found no gaps and no sign of tampering in what it checked.
• The  chainIntact: false  flag appears because the check was capped (reason
  BOUNDED_LARGE_CHAIN). It is not a tamper finding.
• The cap exists because an unbounded verify once maxed out the collector's CPU for
  about 10 minutes. That detail comes from an incident note dated around 2026-09-28, so
  it may be out of date.
• Full-history integrity would need a paged verify, ideally off-peak. I'd offer that to
  the client rather than claim it now.

4. DPIA records. There are 10, all in draft. The audit agent's WARD summary and the DPIA
list above are all I have; I haven't checked either further.

ID                      │ Processing name   │ Version │ Last updated
────────────────────────┼───────────────────┼─────────┼─────────────
DPIA_1792019731604_zscs │ proof-dpia-seed   │ 6       │ 2026-10-19
DPIA_1792450561095_erkc │ proof-dpia-77e237 │ 1       │ 2026-10-19
DPIA_1792399565491_f24x │ proof-dpia-606ada │ 1       │ 2026-10-19
DPIA_1792248569416_sytu │ proof-dpia-6bc12d │ 1       │ 2026-10-17
DPIA_1792191285706_xv8m │ proof-dpia-551765 │ 1       │ 2026-10-16
DPIA_1792063595978_yyuc │ proof-dpia-0271fc │ 1       │ 2026-10-15
DPIA_1792061010232_zfh2 │ proof-dpia-238c01 │ 1       │ 2026-10-15
DPIA_1792032633987_t6qa │ proof-dpia-6218bb │ 1       │ 2026-10-15
DPIA_1792032206952_7s20 │ proof-dpia-8ffd12 │ 1       │ 2026-10-15
DPIA_1792020109532_swhu │ proof-dpia-1fd422 │ 1       │ 2026-10-14

The compliance agent refused its first attempt because its token names an agent ID the
gateway doesn't recognise ("unknown agent in JWT claim: compliance"). I ran the read
myself instead. Someone should check that agent's registration.

87.7s · 5 tools · 0 approvals

A real turn on our own install (CLI 0.4.0, 5 Nov 2026), replayed at speed. Names changed. Type the same words into quox.
✔ Machine verified against the CLI on 5 Nov 2026 · test report mw3ouq

The whole job took 87 seconds and five tool calls, two of them hand-offs to specialist agents. The only write was logging the call, so nothing needed an approval.

  1. Quox takes the request. Before any model ran, the request passed Quox’s control checks, including who is asking and whether policy lets it go ahead, in about 15 milliseconds. Out of 321 tools, 16 were offered for the job.
  2. It does a real governed action. contacts_search found the one demo contact, and contacts_log_touchpoint logged an outbound call on it for this run, touchpoint tp_mw3ov54k_26ac66ad6092.
  3. It hands the record checks to the audit specialist. Quox delegated to AUDITUS, the audit agent, which pulled the most recent audit envelopes with aee_query_envelopes and checked the deployment’s tamper-evident chain with ward_verify_chain.
  4. It tries the compliance specialist, and covers the gap itself. A second hand-off, to the compliance agent, was refused by the gateway: the agent’s token named an id the gateway did not recognise. Quox did not hide that. It read the DPIA records itself with compliance_read, and told you the compliance agent’s registration needs checking.
  5. It reports. Each tool call, the hand-offs included, was written to the audit record as an evidence envelope.
  • The action: an outbound call logged on the demo contact, touchpoint tp_mw3ov54k_26ac66ad6092, at 15:16:47 UTC. The contact’s own timeline shows it.
  • The audit trail: the three most recent envelopes, each with its id and intent. Quox pointed out that they were read just before the new call was logged, so the new entry is not among them. It showed that actions are journalled, not that this exact call was.
  • The tamper check: the deployment’s tamper-evident chain, ward:org/quox/env/production, came back PARTIAL. The chain holds about 6.67 million entries. A full check of a chain that size is capped, so this one verified the first entry and the newest 25,000, plus 250 signed checkpoints, and every one passed. It found no gap and no sign of tampering in what it checked. The chainIntact: false flag comes from the size cap, reason BOUNDED_LARGE_CHAIN, not from a tamper finding. Quox’s answer described the checked range as the newest 250 entries; the record says 25,000 entries and 250 signatures, so the answer understated the check, but the verdict it gave, PARTIAL, is the one the record holds.
  • The compliance records: ten DPIA records, all in draft, all from proof runs.

What that got you: an honest picture you can defend. The action was real and journalled, the part of the record that was checked holds up, and you know exactly what was not checked. Quox offered a paged full check, off-peak, rather than claiming one now. A client who has been sold certainty before will notice the difference.

The same checks from the CLI: the contact’s timeline, the newest audit envelopes, the chain check, and a paged check of an older range of a large chain:

show a sceptic the record
quox contacts timeline <contactId>quox aee query --after <ISO time>quox governance ward verify --chain ward:org/quox/env/productionquox governance ward verify --chain ward:org/quox/env/production --from-seq <n> --up-to-seq <m>

A PARTIAL verdict means the range that was checked holds up and the rest was not checked. Page through the older ranges with --from-seq and --up-to-seq to cover more of the chain.

The proof engine asked through chat, then checked the system’s own records after the turn, not just Quox’s answer. Four steps, in order:

  • A real action: the call was logged, and the contact’s timeline carries this run;
  • The trail: the audit envelopes were read with the audit tool;
  • The chain verdict: the chain was checked, and the answer states the verdict exactly as quox governance ward verify returns it. A PARTIAL or BROKEN verdict has to be said as such, never presented as proof that the whole record is intact;
  • The compliance records: the DPIA records were read, and the answer reports them as drafts.

On top of the four, three guards: no shell command ran; the answer never said “trust me”, “I verified it myself” or “already confirmed”; and it never claimed something was waiting on an approval card. All passed.

The run shown above is public at ev_mw3ouqkm_f52be5, recorded on 5 November 2026. The receipt is the evidence, not this page.

The evidence bundle for this run is yours to download and check: every step, check and tool with its verdict, the CLI record each step was judged against where it read one (host names replaced by their role) and the transcript above. Save it with the verifier, index.json and index.receipt.json, then run node verify-journey-bundle.mjs ev_mw3ouqkm_f52be5.json. It passes only if the bundle is the copy we published and witnessed, unchanged.

The proof engine rates this Journey OBSERVED: it has passed on one UTC day, 5 November 2026. It becomes VERIFIED only after it passes again on a second day.

Quox-verified, not independently audited: the run was checked by Quox’s own proof engine against the running system, and the evidence id is published so you can recompute it. It is not a third-party audit.