Approval Chain
Route high-risk AI decisions to human approvers.
Flow
AI Action → Gate Check → Approval Required → Human Review → Execute/RejectCreating Approval Requests
When a gate check returns require_approval:
typescript
const gateResult = await sovr.gate.check({
action: 'send_contract',
context: { value: 100000, recipient: 'client@corp.com' }
});
if (gateResult.decision === 'require_approval') {
console.log(`Approval needed: ${gateResult.approvalId}`);
}Approver Configuration
yaml
approval_chains:
- name: contract_approval
actions:
- send_contract
- sign_agreement
levels:
- role: legal_counsel
timeout_hours: 4
- role: cfo
timeout_hours: 24
- name: data_deletion
actions:
- delete_customer_data
levels:
- role: data_protection_officer
- role: ciso
require_all: trueApproval Methods
| Method | Use Case |
|---|---|
| Async approval via link | |
| Dashboard | Real-time in SOVR UI |
| Slack/Teams | Bot integration |
| API | Custom integration |
Timeout Handling
yaml
timeout_policy:
action: escalate # or: deny, allow_with_flag
escalate_to: manager
notify:
- security@company.com