> refund £500 to a verified customer EXECUTED {"refund_id":"re_b5db9a9e","customer_id":"cust_123","amount":50000,"status":"succeeded"} receipt a8094805-e7d0-48da-bf05-9dcfdfe7a1dd --- a8094805-e7d0-48da-bf05-9dcfdfe7a1dd PASS receipt signature (issuer key) (keyid 13221dd037cb) PASS delegation signature (principal key) (signed by 0b715318f782) PASS policy decision consistent with execution (allow -> executed) PASS log inclusion proof (leaf 0 of 1, root 4901cb4cdc68) … 15 more checks RESULT: VERIFIED ISSUER: gateway, enforced outside the agent's process; the agent could neither skip nor forge this receipt field provenance value principal attested user_456 agent attested support-agent model claimed claude-fable-5-1 tool observed stripe.refund args claimed {"amount":50000,"customer_id":"cust_123"} fact.customer observed {"email":"alex@example.com","id":"cust_123","verified":true} policy observed allow [policy1] policy ba4e4461ffc4 consumed observed (no facts shown before this call) execution observed executed (carries an upstream signature; pass --upstream-key to check it)
Source: packages/receipts/scripts/demo.ts. Receipt ids change on every run.