@decionis/sdk enforceAndExecute
StrictThe action callback never runs: a timeout, invalid proof or an unreachable authority returns executed: false.
Checked against packages/sdk-node/src/ExecutionAuthority.ts
There is no single answer for every surface, and this page does not pretend there is. Each surface below states what it does with the action when it cannot get a decision, as the code does it today.
Failing to reach Decionis is never an authorization. No execution grant is issued without an evaluation, and an action that continues without one is ungoverned, never approved.
If Decionis cannot be reached, the action does not run. It is refused or held until an evaluation can happen.
Suits: Payments and treasury releases; Privileged infrastructure changes; Machine-initiated actions with no natural limit on loss.
If Decionis cannot be reached, the action may continue without an evaluation. It is ungoverned, not approved, and it is available only where a surface was configured for it.
Suits: A shopper at checkout, where the exposure per order is small and bounded.
The institution sets the behaviour per rule or per signal, for example holding an action for review when one input is unavailable.
Suits: Institution-defined rules.
Some surfaces only observe: they record a verdict but have no way to hold the action. They are marked observe only, so nothing here implies they enforce.
The SDK, the API, the AgentSafe gateway and the guards Decionis ships.
The action callback never runs: a timeout, invalid proof or an unreachable authority returns executed: false.
Checked against packages/sdk-node/src/ExecutionAuthority.ts
The call throws with no verdict, and the Express and Fastify gates stop before the route handler runs.
Checked against packages/sdk-node/src/Client.ts; src/Express.ts; src/Fastify.ts
The guard runs locally and blocks when its policy snapshot is missing, expired or unsigned.
Checked against packages/sdk-node/src/AgenticGate.ts
The request is refused with 503 and is not forwarded.
Checked against decionis/agent-safe-pipeline: packages/agentsafe/src/gateway/Gateway.ts
The action is blocked with 503 and not forwarded.
Checked against apps/api/src/routes/DecisionLifecycleRoutes.ts
In enforcement the checkout is refused with 503 and no grant. In Shadow Mode the answer comes back before any evaluation and never holds the checkout.
Checked against apps/api/src/routes/UcpRoutes.ts
The checkout is refused in every mode, with no grant.
Checked against apps/api/src/routes/AgenticRoutes.ts
In enforcement, admission is refused. In Shadow Mode, the default, requests are admitted and evaluated in the background.
Checked against apps/kubernetes/src/admission/AdmissionDecisionService.ts; src/config/PolicyConfig.ts
The handler does not run, and EventBridge records are dropped.
Checked against packages/aws-lambda-guard/src/Guard.ts; src/Config.ts
The agent's action group receives a blocked result.
Checked against packages/bedrock-guard/src/Wrap.ts
The tool call is denied on any gate error, local or remote.
Checked against apps/mcp/src/agent/LocalAgentGate.ts; apps/mcp/hooks/hooks.json
Anything other than an explicit approve returns 503, and the request does not reach the backend.
Checked against docs/marketplace/microsoft/azure-api-management/policies/decionis-gate-enforce.xml
Requests always reach the backend.
Checked against docs/marketplace/microsoft/azure-api-management/policies/decionis-gate-shadow.xml
The wrapped tool does not run, including in shadow mode.
Checked against packages/langchain-decionis/src/DecionisGateTool.ts
If the Decionis gate cannot be reached, a local fallback gate decides with fixed rules (allow, block, delay or escalate), and a request missing required fields is blocked.
Checked against decionis/Commerce: apps/sap/srv/decionis-client.js; apps/sap/docs/runtime-config.md
The governed Flow action stops and downstream updates are halted, in every mode. The shadow observers only record, after the record is saved.
Checked against apps/servicenow/app/script-includes/DecionisControlPlaneUtils.script.js; DecionisVerifyIntentAction.script.js
The action returns an error message and no decision. A Flow that requires continueAction to be true stops; a Flow that does not check it continues.
Checked against docs/marketplace/salesforce/starter-package/force-app/main/default/classes/DecionisActionGate.cls
The step retries once, then Zapier replays it; later steps in the Zap do not run until Decionis answers.
Checked against packages/zapier-decionis/creates/DecisionDossierClient.js
Make connects through its HTTP module. Decionis answers 502, and your scenario's error handling decides whether the next module runs.
Checked against apps/web/app/docs/automation-connectors/page.tsx (Make recipe); apps/api/src/routes/ProtocolRoutes.ts
The Decionis node throws and the workflow stops.
Checked against packages/n8n-nodes-decionis/nodes/Decionis/Decionis.node.ts
Webhooks carry signals in and decisions out; they never hold an action themselves. Senders should retry 5xx answers and timeouts with backoff.
Checked against apps/web/app/docs/webhooks/page.tsx
The extension shows decisions and verifies records offline; it does not hold container actions.
Checked against Registry scope (visibility and offline verification); extension source at github.com/decionis/docker
The connector never runs the action itself. If Decionis cannot answer, the tool returns an error and no authority card; what the assistant does next is up to the assistant and you.
Checked against apps/protocol/src/mcp/McpTools.ts
The connector never runs the action itself. If Decionis cannot answer, the tool returns an error and no authority card; what the assistant does next is up to the assistant and you.
Checked against apps/protocol/src/mcp/McpTools.ts
AuthZEN feeds Decionis a signal; it is not a gate. If Decionis is down, the SDK call it feeds decides, strict by default. If your PDP is down, no signal is sent and your policy's rule for a missing signal applies; the starter policy holds the action for review.
Checked against packages/sdk-node/src/AuthZenEntitlementProvider.ts; docs/architecture/authzen-input-adapter.md
Commerce Gate runs these connectors. Several keep a sale moving during an outage, where a blocked checkout would cost a present buyer more than an unchecked order. Each row says so, and how an order that went ahead is marked.
Checkout keeps enforcing the signed policy snapshot already pushed to the store, so an outage changes nothing until that snapshot expires after seven days. After that, or if the snapshot is missing, checkout is blocked.
Checked against decionis/Commerce: apps/shopify/extensions/*-hard-gate; app/lib/policies/RuleEnforcement.server.ts
If the store cannot reach Decionis, checkout continues by default.
Checked against decionis/Commerce: connectors/woo/plugin/includes/checkout/RuntimeClient.php; includes/orders/DossierMetadata.php
Listings are left as they are; the monitor never reprices or withdraws a listing without an answer.
Checked against decionis/Commerce: connectors/adapters/ebay/src/enforcement/Enforcer.ts; connectors/ebay/src/Monitor.ts
Checkout continues: the Magento hook is optional with a two-second timeout, and an engine error is answered as success.
Checked against decionis/Commerce: connectors/adobe/magento-module/etc/webhooks.xml; connectors/adobe/src/App.ts
Amazon has no way to hold an order, so Commerce Gate records decisions only. During an outage the order ships untouched.
Checked against decionis/Commerce: connectors/amazon/src/orders/AmazonOrderGate.ts
Orders are released without a margin check, after the buyer-remorse hold where one applies.
Checked against decionis/Commerce: connectors/tiktok/src/interception/OrderInterceptor.ts
Orders are acknowledged without a margin check. Refunds up to the fallback limit proceed, and larger refunds are held until the check is back.
Checked against decionis/Commerce: connectors/walmart/src/interception/OrderInterceptor.ts; src/policy/RefundPolicyGate.ts
Commerce Gate does not release the order; it stays in the seller's own Jumia workflow.
Checked against decionis/Commerce: connectors/jumia/src/interception/OrderInterceptor.ts; connectors/adapters/jumia/src/settings/JumiaSettings.ts
An engine error is answered as allow and the order proceeds.
Checked against decionis/Commerce: connectors/bigcommerce/src/App.ts
An engine error is answered as allow and the order proceeds.
Checked against decionis/Commerce: connectors/shopware/src/App.ts