What happens if Decionis is unavailable during execution? #9
|
If Decionis sits inline between intent and execution, it becomes a dependency of every governed action. So: what happens when it can't be reached? Does the action proceed, or stop? |
Replies: 1 comment
|
It depends on the consequence of the action — deliberately, and it's written down rather than left to each integration. The rule is: when policy cannot be evaluated, the default posture is decided by what happens if the action proceeds unevaluated, not by which surface the request arrived on.
Where the two pull in opposite directions, consequence wins — a present human buying something large enough to matter still fails closed. Each surface states its own default in its README, and every posture is configurable. If you're integrating, set it explicitly rather than inheriting a default: a safe default is not the same as a decision you've made. Three things hold on every surface, whatever the posture These matter more than the default, because they're the guarantees that keep "fail open" from quietly becoming "policy is optional":
Failing open is about availability, not about errors Worth being precise, because this is where a lot of gates get it wrong. The posture applies only when the decision service is genuinely unreachable — timeouts, transport failures, 5xx/408/429. A rejected credential, a malformed request, an unparseable response, or a bug in the guard means enforcement is broken, not unavailable. Those always fail closed, on every surface, whatever the posture says, and they're reported with a distinct reason code so you can alert on them. A misconfigured guard must never silently stop enforcing while still reporting success. Reducing the blast radius The inline guard evaluates against a pre-synced signed policy snapshot with no network call on the hot path, so a transient outage of the decision service doesn't necessarily mean a degraded decision at all — the guard keeps evaluating against the last verified snapshot until it expires. Circuit breakers and per-endpoint failover bound the rest. Related: Where Decionis sits in the stack · How Decision Dossiers are verified · Can Decionis govern AI agent tool calls? Have a different architecture or integration question? Start a new discussion — we answer publicly whenever we can. |
It depends on the consequence of the action — deliberately, and it's written down rather than left to each integration.
The rule is: when policy cannot be evaluated, the default posture is decided by what happens if the action proceeds unevaluated, not by which surface the request arrived on.