Five seconds to read, one file to edit. On the local firewall it lives in ~/.fidacy/config.json and hot-reloads on the next call, no restart. On a hosted account it is managed in the console with team governance.
Try it, edit the cap and watch the version pin move. No deploy, no restart.
A payee not on the list does not get paid, at any amount. This is the rule that stops a swapped or lookalike vendor, and it is the default out of the box.
A second request for the same invoiceRef is denied regardless of amount. Re-presenting a paid invoice at a higher figure is the oldest BEC move; here it is structurally impossible.
Per-transaction ceiling, total budget for the window, validity dates, single currency. Everything an agent may do has a boundary a human wrote.
A revoked mandate stops the agent instantly. No deploy, no restart, no hunting for which systems cached the old rules.
Every signed verdict carries policy_version inside the credential. Months later, in a dispute, you do not argue about which rules were active when the agent paid: the verdict says so, the signature proves it was not edited, and the Bitcoin-anchored trail proves when. Policy changes become an auditable history instead of a wiki page's edit log.
On the console, advanced policies add backtesting: replay a proposed rule change against your real decision history and see what it would have blocked or allowed before you ship it.