Docs · preview
Decision
Every request produces exactly one decision, and every decision is sealed into the record whether or not money moved.
payee→category→window→cap→budget→duplicate→screening→threshold→allow/step_up/denyany failed check denies; the budget is reserved at the moment it passes
| Decision | Meaning | What the agent receives |
|---|---|---|
allow | The request matches a policy and fits its limits. | A mandate and the credential the payee accepts. |
step_up | The request matches a policy that requires a person above this threshold, payee or category. | An approval reference and link. The agent waits or moves on. |
deny | No matching policy, a limit exceeded, a failed check, or a duplicate. | Reasons, machine-readable. The denial itself is sealed. |
Reasons
Reasons are stable codes, not prose, so agents and dashboards can branch on them.
| Code | When |
|---|---|
no_matching_policy | No policy covers this agent, payee or category |
over_payment_cap | Amount above the per-payment cap |
over_budget | Cumulative budget exhausted after reservation |
payee_not_allowed | Payee outside the allowlist or not verified |
category_not_allowed | Category outside the policy |
outside_window | Time window or expiry |
duplicate | Same payee, amount and reference inside the duplicate window |
idempotent_replay | Same idempotency key; the original decision is returned |
screening_hit | Payee matched a screening list |
approval_required | Step-up: a named person must sign |
approval_declined | The person refused |
approval_expired | Nobody signed before the mandate window closed |
Latency
Decisions run on lookups and counters only. Enruta targets under 10 ms typical and 50 ms at p99 of added latency on the payment path, inside the two-second window a card issuer gives a real-time authorization.
What is recorded
The decision, every input to it (policy version, budget state before and after, checks run and their results), the actor for any approval, and the time. Denials are recorded with the same care as allows: the absence of a payment is evidence too.