What are the core concepts in Enforgate?
A handful of pieces fit together to turn a tool call into a controlled, audited action.
Gateway
The gateway is the service your agent talks to. It exposes two surfaces: a POST /v1/check endpoint that returns a verdict for a single call, and an MCP endpoint at /mcp that proxies your Connected Tools. Both require a Bearer API key.
API keys
An API key authenticates an agent to the gateway and selects the policy its calls are evaluated against. Keys are stored as a sha256 hash plus a short display prefix; the secret itself is shown only once, at creation.
Policies
A policy is an ordered set of rules. Each rule matches a tool name (with * / ? globs) and optional argument conditions, and yields a decision. Policies have a priority and a default decision. See writing policies.
Verdicts
Evaluating a call produces a verdict: one of three decisions:
allow: the call proceeds (and is forwarded to the connected tool in proxy mode).deny: the call is refused.require_approval: a human is notified and must approve or deny it (or it times out). The gateway never holds the connection open waiting on them — it returns apendingreference id immediately; see setting up approvals.
If no rule matches and no default decision is set, the engine denies. Enforgate fails closed.
Connected Tools
A Connected Tool is an MCP server you register for a key. The gateway connects to it (over stdio or streamable HTTP) and re-exposes its tools namespaced as <name>__<tool>. See connecting MCP servers.
Audit log
Every evaluated call is recorded: the server and tool, a hashof the arguments (never the raw values), the verdict, the matching rule, and the outcome. The dashboard's live feed and overview are views over this log.
Approvals & temporary allowlists
A require_approval verdict creates an approval: a pending record with a single-use token, resolved entirely in the background — the original request/connection already returned. A human approves or denies it from a notification (or the in-app inbox). On approval they can grant a temporary allowlist entry so matching calls are auto-allowed for 1, 8, or 24 hours. See setting up approvals.
