Take a conversation's evidence with you
Can I hand someone the proof, and can they check it without us?
Export the evidence behind a conversation as one signed file. Anyone can verify it offline, and a single changed byte fails the check.
What you get: a file you can give an auditor or a customer, which proves what Quox did in one conversation without them needing access to your Quox. You need: a signed-in profile. About 4 minutes.
Do it yourself
Section titled “Do it yourself”1. Pick the conversation
Section titled “1. Pick the conversation”quox conversation listID Title Turns Agent UpdatedQXC_b57d1400-0530-47b3-96f2-929e05ac146d Build my weekly report. Pull together three things 1 quox 11/4/2026, 9:33:43 PM Leave the id out of the next step and the bundle covers your newest chat conversation.
2. Export the bundle
Section titled “2. Export the bundle”quox evidence bundle QXC_b57d1400-0530-47b3-96f2-929e05ac146d --out weekly-report.zipEvidence bundle written: ~/weekly-report.zipconversation QXC_b57d1400-0530-47b3-96f2-929e05ac146d | 30 envelopes | 18 WARD receipts | 16874 bytesverify offline: quox evidence verify ~/weekly-report.zip The zip holds the conversation’s AEE envelopes (as JSON and CSV), its WARD receipts, its VOLT run, a manifest of every file’s hash, and an Ed25519 signature over the manifest. It covers your own organisation and this one conversation only. Without --out it goes to ~/quox-evidence/.
3. Look inside, if you like
Section titled “3. Look inside, if you like”python3 -c "import zipfile; open('envelopes.json','wb').write(zipfile.ZipFile('weekly-report.zip').read('envelopes.json'))"jq -r '[.[] | .intent] | group_by(.) | map("\(length) \(.[0])") | .[]' envelopes.json6 aocl.run.complete6 aocl.run.start6 aocl.tool.execute6 ops.tool.executed1 quox.agent.message1 quox.agent.session_end1 quox.agent.thinking1 quox.chat.success1 quox.session.started1 quoxhat.manifest.resolved Any zip tool opens it. The six tool calls in that conversation show up as six of each tool envelope: the run starting, the tool executing, the tool’s result and the run completing.
4. Check it offline
Section titled “4. Check it offline”quox evidence verify weekly-report.zipPASS manifest.json presentPASS signature.json presentPASS signature (Ed25519 over the manifest) (key f695fbcf6be7179b)PASS signed manifest hashPASS file envelopes.jsonPASS file envelopes.csvPASS file ward-receipts.jsonPASS file volt.jsonPASS envelope list hashPASS envelope count (30 in envelopes.json, 30 in the manifest)PASS receipt count (18 in ward-receipts.json, 18 in the manifest)VERIFIED: 30 envelopes, 18 WARD receipts, conversation QXC_b57d1400-0530-47b3-96f2-929e05ac146d, signed by f695fbcf6be7179b Verifying needs no network: it reads only the file.
5. See a change caught
Section titled “5. See a change caught”We changed one word in envelopes.csv inside a copy of the zip, then checked the copy:
quox evidence verify tampered.zipPASS manifest.json presentPASS signature.json presentPASS signature (Ed25519 over the manifest) (key f695fbcf6be7179b)PASS signed manifest hashPASS file envelopes.jsonFAIL file envelopes.csv (hash differs from the manifest)PASS file ward-receipts.jsonPASS file volt.jsonPASS envelope list hashPASS envelope count (30 in envelopes.json, 30 in the manifest)PASS receipt count (18 in ward-receipts.json, 18 in the manifest)NOT VERIFIED: this bundle was altered or is not a Quox evidence bundle. The check names the file that changed, and the command exits with code 1, so a script can stop on it. Add --json to either command for a machine-readable result.
What just happened
Section titled “What just happened”The bundle is a read of records your Quox had already written while the conversation ran: nothing was re-run to make it. The signature binds the manifest, and the manifest binds each file by its hash, so the zip can travel by email or a shared drive and still be checked.
Check it yourself
Section titled “Check it yourself”Anyone with the quox CLI can run quox evidence verify on their copy of the zip. The signing key it names is the one to compare.
- Check the chain has not been changed, on the server side
- Back to approvals and receipts