Skip to main content

Policy Syntax Guide

Complete reference for policy JSON structure and fields.


Full Policy Schema

policy.json
{
"policy_id": "string",
"workspace_id": "string",
"version": "string",
"status": "draft | active | archived",
"content": {
"agent": {
"models": {
"allowed_providers": ["string"],
"allowed_models": ["string"],
"denied_models": ["string"]
},
"capabilities": {
"allowed_tools": ["string"],
"denied_tools": ["string"],
"require_tool_approval": "boolean"
}
},
"compliance": {
"frameworks": ["string"],
"require_audit_logging": "boolean",
"require_encryption": "boolean",
"data_residency": "string",
"retention_days": "number"
}
},
"hash": "string",
"signature": "string",
"signing_key_id": "string",
"created_at": "ISO8601",
"updated_at": "ISO8601"
}

Metadata Fields

FieldTypeDescription
policy_idstringUnique policy identifier (policy_...)
workspace_idstringTarget workspace (ws_...)
versionstringPolicy version number
statusenumdraft, active, or archived
hashstringBLAKE3 hash of content
signaturestringEd25519 signature
signing_key_idstringAdmin key that signed

content.agent.models

FieldTypeDescription
allowed_providersarrayPermitted LLM providers
allowed_modelsarrayPermitted model names
denied_modelsarrayExplicitly blocked models

Example

"models": {
"allowed_providers": ["openai", "anthropic"],
"allowed_models": [
"gpt-4",
"gpt-4-turbo",
"gpt-4o",
"claude-3-opus-20240229",
"claude-3-sonnet-20240229"
],
"denied_models": [
"gpt-3.5-turbo"
]
}
note

If allowed_models is empty, all models from allowed providers are permitted.


content.agent.capabilities

FieldTypeDescription
allowed_toolsarrayPermitted tool names
denied_toolsarrayBlocked tool names
require_tool_approvalbooleanRequire admin approval for new tools

Example

"capabilities": {
"allowed_tools": [
"calculator",
"web_search",
"http_request",
"file_read"
],
"denied_tools": [
"file_write",
"file_delete",
"shell_exec",
"send_email"
],
"require_tool_approval": true
}

content.compliance

FieldTypeDescription
frameworksarraysoc2, hipaa, gdpr, pci-dss
require_audit_loggingbooleanLog all agent actions
require_encryptionbooleanEncrypt data at rest
data_residencystringus, eu, asia-pacific
retention_daysnumberAudit log retention period

Example

"compliance": {
"frameworks": ["soc2", "hipaa"],
"require_audit_logging": true,
"require_encryption": true,
"data_residency": "us",
"retention_days": 90
}

Complete Example

policy.json
{
"policy_id": "policy_abc123",
"workspace_id": "ws_xyz789",
"version": "1",
"status": "active",
"content": {
"agent": {
"models": {
"allowed_providers": ["openai", "anthropic"],
"allowed_models": ["gpt-4", "gpt-4-turbo", "claude-3-opus-20240229"],
"denied_models": []
},
"capabilities": {
"allowed_tools": ["calculator", "web_search"],
"denied_tools": ["shell_exec"],
"require_tool_approval": false
}
},
"compliance": {
"frameworks": ["soc2"],
"require_audit_logging": true,
"require_encryption": true,
"data_residency": "us",
"retention_days": 365
}
},
"hash": "a1b2c3d4e5f6...",
"signature": "ed25519_sig_...",
"signing_key_id": "key_admin123",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}