This is a 100% in-browser simulation. Receipts are real Ed25519 cryptographic records, not court-admissible evidence. Disclaimer.
home / drive the refund agent
Live · keypair generated in your browser · nothing sent to us

You are the agent now. Try to move money you can't.

Below is a customer-refund agent running under AgentGuard, with a real Ed25519 keypair generated in this tab. Drive it: approve a small refund, push it past the $500/day cap, try a payment_execute action while you only hold read_only, or flip the kill switch. Every decision (allow and block) is hashed into a chained, signed receipt you can verify independently. Watch the BLOCK land.

policy
refund-agent-v1 · enforce
capability held
read_only
daily cap · spent
$0.00 / $500.00
kill switch
ARMED · agent live
refund agent · actionsread_only
routine refunds
push the policy
custom refund
$
grant authority
agentguard · decision logseq —
› keypair ready. press an action on the left to make the agent attempt a money move.

Everything above ran in your browser. AgentGuard never saw this. The signing key was generated locally with @noble/ed25519, the private key never leaves this tab, and no refund, customer record, or amount was sent to any server. The receipt is content-free by construction: it proves the decision, never the data. That is the zero-data-plane guarantee, not a promise on a slide.

this session's signer public key: generating…
What just happened

The refusal is as provable as the approval.

01 · signed in-browser

Real Ed25519, real chain

Each decision is canonicalized, SHA-256 hashed into an entryHash, signed over that hash, and linked to the previous entry by previousHash. Edit one byte and the next button proves it.

02 · block is a receipt too

You can prove you said no

When the agent tries to exceed the cap or act above its capability, AgentGuard signs the BLOCK. A refusal you can hand an auditor is worth as much as the approval.

03 · verify it elsewhere

Don't trust this page

Every receipt card has a “Verify on /verify” link that re-checks the signature and chain on a separate page, and a copy button so you can verify it from your own terminal.