// VORION ECOSYSTEM vorion.org/ cognigate.dev/ agentanchorai.com/ aurais.net apache-2.0 · engine v0.1.0
▸ The runtime enforcement layer for autonomous agents

Decide first. Act second.

A policy decision point that wraps any tool call your agent makes — human-in-the-loop enforcement with the audit trail to support SB 26-189 documentation and record-retention obligations. Sub-120ms decision target. Cryptographic receipts. TypeScript SDK. Apache-2.0. Reference implementation of the BASIS standard.

$ npm install @vorionsys/cognigate-sdk ⧉ COPY
TypeScript SDK today · more languages planned
P50: ~38MS P99 BUDGET: <120MS APACHE-2.0 BASIS REFERENCE IMPL
agent.ts
// wrap any tool call. that's it.
import { Cognigate } from "@vorionsys/cognigate-sdk";

const client = new Cognigate({
  apiKey: process.env.COGNIGATE_API_KEY,
});

const { result } = await client.governance.evaluate(
  "agent-123",
  "Read customer data from the sales database"
);

// → result.decision: ALLOW · DENY · ESCALATE · DEGRADE
// every decision recorded as a hash-chained proof.
// LIVE DECIDED IN 38MS
P50 · 38 P99 · 112

// A FEW LINES · WORKS WITH ANY AGENT FRAMEWORK

// 01 · why a gate, not a wrapper

Decision before action. Receipt after.

Most "agent safety" tools are post-hoc — they log what happened. Cognigate decides what happens. Five things, every call.

[01]

Authenticate the caller

Verify agent identity (signed nonce, mTLS, OIDC — your choice). No anonymous calls reach a tool. Cryptographic, not header-based.

// gate verifies before evaluating
caller: "agent:claude-procurement"
sig:    "ed25519:9f2a…b41c"
attest: "basis://aa/T3/2026.04.18"
[02]

Evaluate scope vs. policy

Match the requested action against the agent's declared scope and your runtime policy. WASM-compiled — same policy runs in the gate, in the SDK, in your CI lints.

policy:
  market-scout:
    allow:
      - db.read("orders", "trades")
      - db.write("orders", max_rows: 10)
    deny:
      - db.write("customers")
      - net.outbound("*")
[03]

Apply guardrails

Rate limits, blast radius caps, time-of-day windows, kill-switch checks. All declarative. All per-agent. Hot-reload without restart.

[04]

Issue or deny

Return ALLOW (with a scoped, expiring capability token) or DENY (with a structured reason). Some calls escalate to a human; the SDK surfaces it as an awaitable.

ALLOW · 38ms · receipt 0x9f2a…b41c
action
db.write(orders, rows=3)
capability
cap_2nQ8…fA1 · expires 38ms
[05]

Sign the receipt

Append to the chain. Cryptographic, append-only, replayable. AgentAnchor reads it for tier attestation. Aurais reads it for security telemetry.

// 02 · performance

Fast enough that you'll forget it's there.

Design targets for the reference gate — single-region, default policy, no caching tricks. These are the budgets we build to; measure your own deployment.

// MEDIAN TARGET
~38ms

Authorize + sign + return, end to end. The budget we design the reference gate to.

// P99 BUDGET
<120ms

Tail-latency budget — under the threshold for any user-facing flow.

// THROUGHPUT
14k rps

Per gate node. Linear horizontal scale. Zero shared state.

// AVAILABILITY
99.99%

Cloud SLO. Self-hosted depends on your ops.

// CONFORMANCE

Public test harness. Run it before you ship.

A full conformance + unit suite. Pass to claim T3 readiness.

GREEN
FULL SUITE · HEAD
Run the suite →
// 03 · SDKs

TypeScript SDK today. More languages planned.

@vorionsys/cognigate-sdknode · 1.0.6
pythonplanned
goplanned
rustplanned
javaplanned
.netplanned
rubyplanned
phpplanned
elixirplanned
swiftplanned
kotlinplanned
cliplanned

// UNTIL THEN: THE ENGINE IS A REST/OPENAPI SERVICE — ANY HTTP CLIENT WORKS. API REFERENCE →

// 04 · changelog

Current releases.

engine v 0.1.0
Cognigate engine, live at cognigate.dev. Running version reported on the status page.
sdk v 1.0.6
@vorionsys/cognigate-sdk on npm. TypeScript client for the hosted API.
SDK releases on npm →

Wrap your first tool call in a few lines.

Apache-2.0. Self-host or use the cloud. Conformance suite is free, forever.

$ npm install @vorionsys/cognigate-sdk ⧉ COPY
Read the docs ★ on GitHub