.drako.yaml under the policies: key.
Generate an initial config from your scan:
DLP — Data Loss Prevention
DLP — Data Loss Prevention
Presidio-based PII/PCI scanning on every tool call payload. If the payload contains critical PII in
enforce mode, the action is rejected before it reaches any downstream API.Detected entity types: SSN, credit card numbers, email addresses, phone numbers, passport numbers, and more.| Field | Default | Description |
|---|---|---|
mode | audit | audit logs violations; enforce blocks the call |
sensitivity | medium | DLP sensitivity level — higher catches more at the cost of more false positives |
ODD — Operational Design Domain
ODD — Operational Design Domain
Declare exactly which tools each agent is permitted to use. Allowlisting, not denylisting — every tool not on the permitted list is blocked by default.
Three enforcement modes:
| Field | Default | Description |
|---|---|---|
enforcement_mode | audit | audit logs violations; enforce blocks them |
default_policy | allow | What to do when no agent rule matches the call |
permitted_tools | [] | Allowlist — any tool not listed is blocked |
forbidden_tools | [] | Denylist — listed tools are always blocked |
If both
permitted_tools and forbidden_tools are set for an agent, forbidden_tools takes precedence.audit— log violations, allow the callenforce— block the call, return a policy violation errorescalate— block the call and trigger a HITL escalation
Circuit Breaker — per-agent fault isolation
Circuit Breaker — per-agent fault isolation
Prevents one failing tool or agent from cascading failures across the rest of your system.Hierarchy: tool circuit breaker → agent circuit breaker → fleet haltWhen a circuit breaker trips, operations don’t die — they fail over to deterministic code, a simpler agent, a human operator, or a retry queue. State is preserved.
Pair the circuit breaker with
| Field | Default | Description |
|---|---|---|
failure_threshold | 10 | Number of failures before opening the circuit |
time_window_seconds | 300 | Sliding window for failure counting |
recovery_timeout_seconds | 60 | Cooldown before allowing trial requests |
policies.fallback to define what happens when a circuit opens — escalate to a human, swap to a backup agent, or preserve state for replay.Magnitude limits — spend and action caps
Magnitude limits — spend and action caps
Pre-action guardrails evaluated before execution: spend caps per action and session, data volume limits, and blast radius constraints.
In proxy mode, magnitude also enforces
| Field | Default | Description |
|---|---|---|
max_spend_per_action_usd | — | Max cost of a single tool call |
max_spend_per_session_usd | — | Max cumulative session spend |
max_records_per_action | — | Max records returned by a single tool call |
enforcement_mode | audit | enforce blocks calls that exceed limits |
max_actions_per_minute rate limiting per agent, returning HTTP 429 when exceeded.Intent fingerprinting — anti-replay protection
Intent fingerprinting — anti-replay protection
Two-gate cryptographic verification that prevents prompt injection from hijacking approved actions.
- Gate 1 — fingerprints the decision at the moment it’s made (SHA-256 + Ed25519)
- Gate 2 — verifies nothing changed between fingerprinting and execution
| Field | Default | Description |
|---|---|---|
mode | off | enforce blocks calls without a valid intent token |
anti_replay | true | Reject reused intent tokens |
intent_ttl_seconds | 300 | Token validity window |
Intent fingerprinting is available only via the SDK runtime (
govern()), not proxy mode.Collective intelligence — anonymous IOC sharing
Collective intelligence — anonymous IOC sharing
When one agent detects a threat, every agent benefits. Drako shares anonymous Indicators of Compromise (IOCs) across tenants.
- Six AI-native IOC types
- EigenTrust quality scoring — low-quality IOCs are filtered before propagation
- Sub-5s propagation — one detection in São Paulo protects a deployment in Berlin
- Anonymous — no agent identity or payload content is shared
_check_policy in the base middleware). No additional configuration is required to receive community-shared IOCs.To opt out of sharing (receive only, no contributions):Governance levels
Thegovernance_level field controls how policies are activated during drako upgrade:
| Level | Behavior |
|---|---|
autopilot | Audit mode. Logs all violations, blocks nothing. |
balanced | DLP enforce, ODD enforce, HITL rejects on timeout. |
strict | + intent verification, cryptographic audit, magnitude enforce. |
custom | No managed upgrade path — you control every field. |