Your agent clicks "issue refund" in your real app — Gatekeeper is what lets you turn it on without a human watching. Try it below: issue a refund, then audit the agent's signed run and tamper with a receipt — the seal breaks in your browser.
1 · The agent's task — a real web app live
This is a real DOM, not a screenshot. Click Issue refund → Confirm refund — success only counts when the refund actually posts.
The agent (or you) verifies the customer, issues the refund, and confirms.
Success = the refund posted to the live DOM — never the dialog merely opening. That distinction is the whole game.
A reward-hacked agent that just opens the dialog and self-reports "done" is exactly what the gate below blocks.
2 · Audit the agent's run — verify & tamper runs in your browser
Each action is HMAC-signed. Hit Run audit to verify every signature, then Tamper a record and run it again — the signature breaks. Real Web-Crypto HMAC, no server.
3 signed actions from a real run
—
actions confirmed on live DOM
3 · The never-worse gate
An upgrade promotes only if it beats production on an independent live-DOM eval. A refund bot that claims 100% but posts 0% is blocked before it ships.