The approval & audit layer for AI agents
Your agents are getting good enough to act — issue refunds, delete records, send email, ship deploys, move money. Eda is the layer that decides whether they’re allowed to. Before a consequential tool call, your agent asks Eda; Eda answers approved, blocked, or pending a human — and writes every decision to an immutable audit log.
import { Eda } from "@eda-holding-inc/sdk";
const eda = new Eda({ apiKey: process.env.EDA_API_KEY! });
const decision = await eda.check({
agent: "support-agent",
action: "refund_customer",
params: { amount: 120, customerId: "cus_8842" },
});
if (decision.status !== "approved") {
throw new Error(decision.reason); // blocked, or waiting on a human
}
await stripe.refunds.create({ charge: "ch_…", amount: 120_00 }); // safe nowNew here? The fastest path is Quickstart — a working gate in about two minutes. Or press ⌘K and ask Gideon, our AI assistant, to wire Eda into your exact stack.
Why teams put Eda in front of their agents
Write a rule once — “refunds over $500 need a human” — and every agent obeys it.
No scattering if statements across your codebase.
High-risk actions pause for approval. A teammate approves in the dashboard; your code resumes exactly where it left off.
Human-in-the-loop, built inEvery check — allowed or blocked, with who/what/why — is logged immutably. Answer “what did the agent do, and who let it?” months later.
A real audit trailVercel AI SDK, LangChain, OpenAI & Anthropic tool calls, MCP, or a bare function. If it runs in JavaScript, Eda gates it.
Drops into any stackHow it fits together
Your agent decides to act
An LLM produces a tool call — refund_customer({ amount: 120 }).
Eda checks it first
You call eda.check({ agent, action, params }). Eda evaluates your policies
(deterministic, sub-10ms), optionally scores risk with a model, and returns a
decision.
The decision routes the action
Approved → run it. Blocked → don’t, and tell the model why. Pending →
a human approves or denies in the dashboard; checkAndWait() resolves when they do.
Everything is logged
The action, its parameters, the decision, the policy that matched, and the approver all land in the audit trail — visible in the dashboard.
Pick your path
Zero to a live, gated action in ~2 minutes.
Quickstart →Point the CLI at your repo; it finds the risky calls and writes the gates for you.
Let AI do it: eda init →Decisions, policies, approvals, risk scoring, and the audit log.
Core concepts →Every method, option, and error — with examples.
SDK reference →Eda is built by Eda Holding, Inc. · edahq.com · Dashboard · Questions? Press ⌘K for Gideon.