Start with the consent receipt
When the user approves a queued action, write a receipt with the visible evidence, allowed action, excluded action, recipient, account, channel, expiry, and state fingerprint. The receipt should be structured enough for an agent to compare later, not just a chat transcript.
For a text message AI assistant, the receipt might include message draft, recipient, thread id, tone constraints, and the exact condition that allows sending.
Define stale conditions
Recipient changed, amount changed, page changed, expiry passed, user edited context, or tool class changed.
Block at dispatch
The guard must run before the tool call, not after the action has already happened.
Re-prompt with facts
Fresh approval should show what changed and why the old receipt no longer applies.
Browser and website actions need richer evidence
A computer-use cache can preserve screenshot and page state for browser tasks. For AI agent website-building, the receipt should include page diff, source list, build output, target domain, and rollback route before deployment.
Checklist
- Receipt id attached to every queued approval.
- State fingerprint captured before approval.
- Freshness check runs before dispatch.
- Audit log stores receipt id and result range.
- Re-prompt explains the drift in plain language.