Can I show nobody changed the record?
Every decision is signed and chained to the last. Anyone can check one decision, offline, without trusting us.
Decision log
Last hourResult: anySearch actions| Time | Agent | Action | Amount | Answered by | Wait | Result |
|---|---|---|---|---|---|---|
| 14:09:41 | refund-agent | refund.issue | £540.00 | PS | 6m 12s | Approved |
| 14:08:12 | support-agent | email.send | – | M | 1m 04s | Approved |
| 14:06:55 | billing-agent | db.update | – | Rule | 12 ms | Passed |
| 14:05:30 | payout-agent | payout.create | £12,000.00 | Rule | 9 ms | Refused |
| 14:03:02 | support-agent | ticket.close | – | Rule | 7 ms | Passed |
| 14:01:17 | refund-agent | refund.issue | £310.00 | P | 2m 41s | Approved |
| 13:58:44 | refund-agent | refund.issue | £880.00 | PS | 9m 30s | Approved |
| 13:55:09 | sales-agent | discount.apply | 15% | M | 4m 18s | Approved |
| 13:52:31 | billing-agent | invoice.void | £1,240.00 | P | waiting | Waiting |
Decisions per hour
Answered by peopleLet through by ruleChain
Intact- #4819
a41f…09d213:41 - #4820
c7e0…51ab13:52 - #4821
09bd…e3f714:01 - #4822
5be2…7c4414:09
Each record holds the fingerprint of the one before it.
Check it yourself
Offline$ xevrion verify rec_4822 --key public.pem
✓ signature matches key 7f2c
✓ record is in the log (position 4,822)
✓ 4,821 links before it add up
verified in 38 ms, no network usedSigning keys
Public7f2cActive since 1 AugSigning3a91Retired 31 JulVerify only
Old records stay checkable after a key changes.
This hour
Prove
Public proof
Share a link that lets anyone check a single decision against our published keys, offline.
- Nothing else revealedThe check covers one decision. The rest of your log stays private.
- Offline checkIn a browser, or with a few lines of code. No call to us needed.
- Revocable linksSwitch a share link off whenever you like.
Shared decision
No sign-in needed- Action
- refund.issue · £540
- Decision
- Approved by 2 of 2
- Decided
- 26 Oct 2026, 10:44 UTC
- Policy
- refunds v12
- Hidden
- Customer name, order contents
Checked in your browser
Offline- Receipt signature matchesed25519
- Included in the logleaf 48,211
- Checkpoint signed#9,402
- Link not revoked
Prove
Append-only proof
Hold an old signed checkpoint. Later, get a proof that nothing was removed or rewritten since.
- Consistency proofA short proof ties an old checkpoint to the new one.
- Forks are caughtTwo signed roots for the same size are detected and flagged.
- Checked offlineVerify on your own machine against published keys.
Signed checkpoints
Every hour- #9,40248,211 decisionsLatest
- #9,40148,198 decisionsSaved
- #9,37847,731 decisionsSaved by you
- #9,10044,010 decisionsSaved by auditor
Consistency check
#9,378 → #9,402- Old checkpoint is a prefix
- 480 new decisions only added
- No fork between two readers
- Nothing removed or rewritten
Check it yourself
$ xevrion verify log \ --from 9378 --to 9402consistent: trueadded: 480, removed: 0Prove
Signed receipts
Each decision comes with a signed receipt and an evidence pack: who, what, when, and why.
- SignedA receipt cannot be changed without breaking its signature.
- Evidence pack per requestThe data, the rule, the reviewer and the result in one bundle.
- Hashes over the plain textHashes are taken over readable data, so proofs still verify when stored data is encrypted.
Signed receipt
Refund £540- Who
- Priya N., Sam O.
- What
- refund.issue · order 88231
- When
- 10:43 and 10:44 UTC
- Why
- Over £500, two reviewers
- Signature
- Valid
Evidence pack
- Receiptreceipt.json2 KB
- Policy at the timerefunds v121 KB
- Reviewer answers2 signed3 KB
- Log inclusion proofleaf 48,2111 KB
Hashes over plain text
action_hash 9c1e…a402policy_hash 41bd…77e0receipt_hash e3f8…10cdProve
Proof-carrying tokens
After a yes, a short-lived signed token binds the approval to the exact action. Change anything and it fails.
- Bound to the actionThe token covers that payload only. A changed amount or target is refused.
- Expires fastA short window, so an old approval cannot be replayed later.
- Single useOnce spent, it is spent. A second try is refused.
Your agent presents the token
POST /payments/refundx-xevrion-token: xt_4c9…{ order: 88231, amount: 540 }// Change the amount to 541:→ rejected: action does not matchWhat the token locks
- Action
- refund.issue
- Amount
- £540
- Expires
- In 5 min
- Uses
- 1 of 1
Life of a token
- Person approves
- Token issued, 5 min
- Used once by your agent
- Second use refused
Know what your agents did.
Start free. Guard your first agent in a few minutes, and keep a record anyone can check.
- Free plan, no card
- Signed, chained decisions
- Checked offline, without us
Signed decision
- Decision
- Approved, 2 of 2
- Action
- refund.issue, £540
- Rule
- Two reviewers must agree
- Sealed
- 14:09, key 7f2c
- Hash
- 5be2…7c44
Checked on your own machine
- Signature matches the public key
- Decision is in the log
- Every link before it adds up