Risk Policies
Automatically detect suspicious spending patterns and take action—from alerting to freezing cards to suspending agents.How it works
| Step | What happens |
|---|---|
| Configure | Set detection rules at org, agent, or card level |
| Transact | Risk engine evaluates each transaction in real-time |
| Detect | Anomalies trigger configured actions |
| Respond | Alert, freeze card, or suspend agent automatically |
Presets
Start with a preset and customize from there:| Preset | Description | Use case |
|---|---|---|
permissive | Minimal detection, alert-only | Trusted agents, low-risk operations |
moderate | Balanced detection with alerts | Good starting point |
strict | Aggressive detection, auto-freeze cards | High-value transactions |
paranoid | Maximum protection, auto-suspend agents | Untrusted or new agents |
Detection rules
Duplicate detection
Catches agents accidentally repeating the same purchase.Velocity limits
Prevents runaway loops making too many transactions.Spend spike detection
Catches sudden spending surges compared to historical patterns.multiplier times the average over baselineDays.
Unattested spend
Responds when a transaction occurs without prior credential attestation.Intent mismatch
Responds when a transaction doesn’t match the declared spending intent.Cooldown violation
Detects transactions that occur too quickly after the previous one.Merchant drift
Detects when a multi-use card is used at an unexpected merchant.Actions
| Action | Behavior |
|---|---|
alert | Emit webhook, allow transaction to proceed |
freeze_card | Freeze the card after transaction completes |
suspend_agent | Suspend the agent and freeze all its cards |
Layered inheritance
Risk policies cascade: Org → Agent → CardOrganization level
Set defaults for all agents in your organization:Agent level
Override org defaults for a specific agent:Card level
Enable or disable specific rules for a card:Dry-run mode
Test your risk policies without taking action. Anomalies are detected and webhooks are emitted, but cards aren’t frozen and agents aren’t suspended.- Tune thresholds before going live
- Monitor what would trigger without disrupting operations
- Test new rules on production traffic safely
Webhook events
Risk anomalies emit webhook events:| Event | Description |
|---|---|
anomaly.duplicate | Duplicate transaction detected |
anomaly.velocity | Velocity limit exceeded |
anomaly.spend_spike | Spending spike detected |
anomaly.unattested | Unattested spend detected |
anomaly.intent_mismatch | Intent mismatch detected |
anomaly.cooldown | Cooldown violation detected |
anomaly.merchant_drift | Merchant drift detected |
card.auto_frozen | Card automatically frozen by risk engine |
agent.auto_suspended | Agent automatically suspended by risk engine |
Notes
- Risk evaluation runs synchronously on each incoming transaction webhook
- Actions are taken after the transaction completes (post-authorization)
- Dry-run mode is per-organization and applies to all detection rules
- Card-level overrides can only enable/disable rules, not change thresholds