Reference page. This is the canonical inventory of every built-in policy, its category, and its default action. Use it to look up what ships out of the box before you write a custom policy. New to policies? Start with Policy-as-Code and Policy Hierarchy.
AxonFlow ships with 79 built-in system policies:
69 pattern-based system policies evaluated by the Agent for low-latency enforcement
10 condition-based system policies evaluated by the Orchestrator for context-aware governance
These policies give engineers a strong production baseline for LLM security, PII protection, prompt-injection defense, secret detection, and runtime compliance controls.
System policies are immutable (tier=system) — you cannot edit or delete them, but Enterprise customers can override their action or disable them per organization (see Customizing System Policies).
Actions are governance-profile-driven
The Action column below is the default profile action — the out-of-the-box posture (ADR-036, v6.2.0+). In the default profile, SQL injection, PII, and sensitive-data detections warn (the request flows through unchanged but the detection is recorded), while the unambiguously dangerous classes block: admin-table access, Indonesian KTP, and prompt-injection ship as block. Singapore PII ships as redact.
This is deliberate (observe-first): false positives that hard-block legitimate traffic teach users to bypass the system. To harden enforcement, switch profiles or set per-category env vars — e.g. AXONFLOW_PROFILE=strict makes PII/SQLi/sensitive-data block, and PII_ACTION=redact / SQLI_ACTION=block flip individual categories. See Governance Profiles for the full dev / default / strict / compliance matrix. Enterprise customers can additionally override any single policy's action per organization.
Pattern-based total: 69 · Condition-based total: 10 · All system policies: 79.
"Secret/unsafe-code" detection
Generic secret detection (API keys, tokens, passwords, connection strings) ships as the sensitive-data category below. Language-specific code secret/unsafe patterns (e.g. provider-specific API-key formats, eval()/pickle) are surfaced today only as audit metadata on generated-code responses, not as enforced policies. Enforced agent-traffic code-secret/unsafe-code detection is tracked as potential net-new work, not a shipped system policy.
4 patterns detecting indirect prompt-injection attempts in free-text that flows into the model (OWASP LLM01). These guard merchant/user-controlled fields and ship as block.
ID
Name
Severity
Action
Description
sys_dangerous_injection_override
Prompt Injection — Instruction Override
High
Block
"Ignore/disregard previous instructions" and similar overrides
sys_dangerous_injection_role_override
Prompt Injection — Role Reassignment
High
Block
Attempts to reassign the assistant to a privileged/jailbreak persona
sys_dangerous_injection_system_exfil
Prompt Injection — System Prompt Exfiltration
High
Block
Attempts to reveal/print/repeat the system prompt or hidden instructions
Indonesia KTP/NIK detection for OJK / BI / UU PDP compliance. The Community shared engine seeds the KTP menu entry as block; the Enterprise Indonesia PII detector additionally enforces NIK, NPWP, phone, and major-bank account patterns at runtime with NIK validation.
Condition-based policies use context-aware rules evaluated by the Orchestrator. These provide runtime governance for risk, compliance, cost, and access control.
# All system policies curl"http://localhost:8080/api/v1/static-policies?tier=system" # Filtered by category curl"http://localhost:8080/api/v1/static-policies?tier=system&category=security-sqli"