Skip to main content

Policy-as-Code

Define AI governance rules as code and enforce them consistently across all your agents.

Policy Types

AxonFlow provides two types of policies:

Static Policies (Built-in)

Pre-configured security patterns managed by AxonFlow:

CategoryDescriptionExample
sql_injectionDetects SQL injection attemptsSELECT * FROM; DROP TABLE
pii_detectionIdentifies personally identifiable informationSSN, email, phone patterns
dangerous_queriesBlocks potentially harmful operationsMass deletions, schema changes
admin_accessRestricts administrative operationsSystem configuration changes

Static policies are always enabled and cannot be modified.

Dynamic Policies (Custom)

Customer-managed rules created through the API or Customer Portal:

TypeUse Case
access-controlRole-based access control
rate-limitToken limits and cost controls
contentFilter/modify LLM responses
piiCustom PII detection rules

Policy Structure

All AxonFlow policies use declarative YAML:

apiVersion: axonflow.io/v1
kind: Policy
metadata:
name: restrict-customer-data
description: Limit access to customer records
spec:
type: access-control
priority: 100
enabled: true
rules:
- action: deny
conditions:
resource: "database:customers:*"
user_role: "not:admin"
message: "Customer data access requires admin role"

API Endpoints

Static Policies (Agent)

# List all static policies
GET http://localhost:8081/api/v1/static-policies
X-Client-Secret: your-secret

Dynamic Policies (Orchestrator)

# List dynamic policies
GET http://localhost:8082/api/v1/policies

# Create a policy
POST http://localhost:8082/api/v1/policies
Content-Type: application/json

{
"name": "block-pii-in-responses",
"type": "content",
"priority": 100,
"enabled": true
}

Documentation

GuideDescription
Unified PoliciesPolicy architecture and concepts
Policy SyntaxComplete YAML syntax reference
Policy ExamplesReady-to-use policy templates
Testing PoliciesTest and validate policies

Policy Evaluation

Request → Static Policies → Dynamic Policies → [Pass] → LLM
↓ ↓
[Block] [Block/Mask]

Policies are evaluated in priority order. Higher priority policies run first.

Next Steps