What are Policy Packs?
Policy packs are pre-built, production-ready collections of security rules designed for specific AI agent use cases. Instead of writing guardrails from scratch, you can extend a policy pack and customize only what you need. Each pack contains:- Input validation rules - Block or require approval for dangerous tool calls
- Output redaction rules - Automatically redact PII from tool responses
- Best practice defaults - Security configurations vetted for production use
Available Policy Packs
Coding Agent
Baseline guardrails for AI coding assistants and development agents
Financial
Guardrails for payment processing and money transfer operations
Deployment
Safety controls for CI/CD and production deployment tools
Data Access
Protection for database queries and data retrieval operations
Browser Automation
Safety defaults for web scraping and browser control agents
Communication
Guardrails for email, messaging, and notification tools
How to Use Policy Packs
Extend a Policy Pack
Use theextends field in your veto.config.yaml to inherit all rules from a pack:
veto.config.yaml
Override Individual Rules
You can disable or customize specific rules from the pack:veto.config.yaml
Add Custom Rules
Extend the pack with your own additional rules:veto.config.yaml
Pack Reference Format
All policy packs use this format:Pack Naming Convention
All built-in policy packs use the@veto/ namespace:
@veto/coding-agent@veto/financial@veto/deployment@veto/data-access@veto/browser-automation@veto/communication
Programmatic Usage
Load policy packs programmatically in TypeScript:Best Practices
Start with the most specific pack
Start with the most specific pack
If your agent has a primary function (e.g., financial operations), extend that pack first. You can layer additional rules on top.
Test in log mode first
Test in log mode first
Before deploying to production, run in
mode: "log" to see what would be blocked:Customize thresholds for your use case
Customize thresholds for your use case
Policy packs use reasonable defaults, but you should tune thresholds (amounts, row counts, etc.) based on your specific requirements.
Monitor rule effectiveness
Monitor rule effectiveness
Use
veto.getHistoryStats() to track which rules are triggering most often:Next Steps
Browse Policy Packs
Explore detailed documentation for each pack
Write Custom Rules
Learn the complete rule YAML syntax

