Skip to main content

Policy Architecture

In Svantic, everything is a policy. Governance rules, safety guards, approval workflows, and alert routing are all expressed as policies — a single, unified system for controlling what agents can do and who gets notified when they do it.

How Policies Work

Every operation in Svantic passes through the Policy Engine. When an agent invokes a tool, registers with the mesh, or triggers a platform event, the engine evaluates all matching policies in priority order and applies the first decisive enforcement. Policy evaluation: agent action triggers PolicyEngine, enforcement applied, notifications delivered The policy engine is the single control plane for governance, safety, and alerting. There is no separate “guardrails” system or “notification rules” system — it’s all policies.

Policy Anatomy

Every policy has:

Scope Types

Policies apply to one of three scopes:

Tool Policies (scope_type: "tool")

Evaluated on every tool invocation. These control what agents can do — block dangerous operations, require approval for sensitive actions, enforce resource budgets.

Admission Policies (scope_type: "admission")

Evaluated when an agent registers with the mesh. These control which agent types are allowed to join — open registration, allow-list, or audit mode.

Event Policies (scope_type: "event")

Evaluated when platform events occur (agent health changes, session lifecycle, dispatch failures). These are purely informational — they don’t block anything, they route alerts to the right channels.

Enforcement Types

Policies are evaluated in priority order. The first matching policy with a decisive enforcement (block or require_approval) stops evaluation. audit, allow, and notify policies continue evaluation so multiple can fire.

Evaluator Plugins

Governance policies use evaluator plugins to inspect the request and decide whether the policy matches. Svantic ships with five built-in evaluators: Each evaluator is configurable. For example, file_access accepts a denied_patterns array, resource_budget accepts per-turn limits, and bulk_operation accepts a threshold.

Flow-Level Safety

Beyond per-tool policies, Svantic enforces flow-level safety at the execution run level: These are always active and operate independently of tool-level policies.

Creating Policies

Dashboard: Navigate to Settings → Policies, click New Policy, and configure the scope, enforcement, evaluator, and channels. API:
Event policy (alerts):

Built-in Policies

Every tenant receives a set of built-in policies during provisioning. These can be toggled on/off but cannot be deleted: These provide sensible defaults out of the box. Customize thresholds and enforcement levels to match your requirements.

Managing Policies via API


Linking Channels

Any policy can deliver notifications through linked channels. Link channels when creating or updating a policy:

Common Event Types

For scope_type: "event" policies: