
Product
PHP and Composer Support Is Now in Beta
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.
@decionis/sdk-node
Advanced tools
Node SDK and service-boundary middleware for policy-gated Decionis execution.
@decionis/sdk-nodeNode SDK for the canonical Decionis policy-evaluation route.
npm install @decionis/sdk-node
It includes:
POST /v1/protocol/evaluate-decisionPOST /v1/authority/enforce-and-bindAPPROVE, or deny on REJECT, REVIEW, and ESCALATE by default.dist/For repository-backed packaging and publish automation, use the workflow documented in
docs/package-distribution.md.
import { createDecionisNodeSdk, createExpressPolicyGate } from "@decionis/sdk-node";
const client = createDecionisNodeSdk({
baseUrl: process.env.DECIONIS_BASE_URL!,
apiKey: process.env.DECIONIS_API_KEY!,
defaultRequest: {
policy_version: "payments-v1",
objective_profile: "risk_conservative",
mode: "ENFORCEMENT",
},
});
app.post(
"/payments/release",
createExpressPolicyGate({
client,
buildDecisionRequest: (req) => ({
org_id: process.env.DECIONIS_ORG_ID!,
decision_type: "PAYMENT_RELEASE",
amount: Number(req.body.amount),
workflow_key: "payment_release",
vertical_pack: "finance",
context: {
route: req.originalUrl,
actor_id: req.user?.id,
},
}),
}),
releasePaymentHandler,
);
SDK code packages action intent and binds execution through Decionis. Policy rules stay in the Authority API, not in the agent process.
import { createDecionisExecutionClient } from "@decionis/sdk-node";
const decionis = createDecionisExecutionClient({
authorityBaseUrl: process.env.DECIONIS_AUTHORITY_URL!,
});
await decionis.enforceAndExecute({
request: {
tenant_id: "tenant_demo",
actor: { id: "research_agent", type: "AI_AGENT", runtime: "mcp" },
action: { type: "SEND_PAYMENT", resource: "wallet.usdc", amount: 0.25, currency: "USD" },
downstream_target: {
system: "payment_api",
operation: "send_payment",
endpoint: "POST /payments",
},
},
execute: ({ executionToken }) =>
paymentApi.sendPayment({
amount: 0.25,
token: executionToken,
}),
});
Downstream services should verify and consume the token before mutating state:
import { createExpressExecutionTokenVerifier } from "@decionis/sdk-node";
app.post(
"/payments",
createExpressExecutionTokenVerifier({
authorityBaseUrl: process.env.DECIONIS_AUTHORITY_URL!,
buildVerificationRequest: (req) => ({
actor_id: req.body.actor_id,
action_type: "SEND_PAYMENT",
resource: "wallet.usdc",
amount: Number(req.body.amount),
currency: "USD",
downstream_target: {
system: "payment_api",
operation: "send_payment",
endpoint: "POST /payments",
},
}),
}),
paymentHandler,
);
FAQs
Node SDK and service-boundary middleware for policy-gated Decionis execution.
We found that @decionis/sdk-node demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.

Research
/Security News
Three compromised Rust crates pulled in a malicious dependency that downloaded and executed cross-platform malware during Cargo builds.