Run Aegisora on your own agents in a scoped, time-boxed pilot.Apply now

Quickstart

Send one agent action to Aegisora and read the decision. Evaluation requires a workspace with an active execution entitlement. Without a matching policy the workspace default applies, which is BLOCK unless you change it.

Pilot access

Pilot workspaces are set up by Aegisora. You receive an invitation by email; accept it to join your workspace, then open API keys in the dashboard. Keys look like aeg_live_ followed by 48 hex characters and are shown once.

Send an action

curl -s -X POST https://aegisora.org/api/v1/evaluate \
  -H "Authorization: Bearer $AEGISORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent":"finance-operator","action":"invoice.read","resource":"invoice:sample-001","risk":20}'

Read the decision

{
  "decision_id": "...",
  "effect": "BLOCK",
  "reason": "...",
  "policy_id": null,
  "approval_id": null,
  "execution_id": null,
  "trace_id": "...",
  "evidence_hash": "...",
  "agent_registered": true
}

effect is ALLOW, BLOCK or ESCALATE. ESCALATE creates an approval and returns approval_id. Every decision returns an evidence_hash you can verify later.

Node helper (optional)

Download aegisora.mjs. A single file with no dependencies.

import { Aegisora } from "./aegisora.mjs";

const aegisora = new Aegisora({ baseUrl: process.env.AEGISORA_BASE_URL });

// The callback runs only when the decision is ALLOW.
// BLOCK and ESCALATE throw AegisoraDecisionError.
const result = await aegisora.guard(
  { agent: "finance-operator", action: "invoice.read", resource: "invoice:sample-001", risk: 20 },
  async (decision) => doTransfer(decision.decision_id)
);

What to expect

01

Send

Your agent calls the evaluate endpoint before it executes an action.

02

Decide

Aegisora returns ALLOW, BLOCK or ESCALATE. Your code continues only on ALLOW.

03

Verify

Each decision writes an evidence record you can check later.