Govern AI Agent Actions with VB-OS
Autonomous agents, whether AI-driven, rule-based, or hybrid, take actions with real-world consequences. VB-OS provides deterministic authorization boundaries around those actions.
The Problem
Section titled “The Problem”Probabilistic guardrails evaluate or filter agent outputs using model-dependent or probabilistic mechanisms. They can reduce undesirable outcomes, but their decisions do not provide deterministic replay guarantees.
VB-OS takes a different approach: separate the agent’s capability to act from the authority to act. The agent produces a recommendation. VB-OS independently determines whether that recommendation is authorized to execute — and that determination is deterministic, replayable, and model-independent.
Integration Pattern
Section titled “Integration Pattern”┌──────────────┐ ┌──────────────┐ ┌──────────┐│ Agent │────▶│ VB-OS │────▶│ Action ││ (recommends │ │ (authorizes │ │ (executes││ action) │ │ or defers) │ │ if │└──────────────┘ └──────────────┘ │ ASSERT) │ └──────────┘- The agent produces a recommendation (e.g., “execute trade”, “send notification”, “deploy update”)
- Your application submits the recommendation context as evidence to VB-OS
- VB-OS evaluates the evidence against the authorization boundary
- If ASSERT: the action proceeds
- If DEFER: the action is blocked, logged, and optionally escalated
Example Boundary
Section titled “Example Boundary”boundary_id: agent-action-gateversion: 1scope: production
require_evidence: agent_idrequire_evidence: action_typerequire_evidence: risk_levelrequire_evidence: authorization_tierrequire_type: risk_level: integerrequire_type: authorization_tier: integer
prohibit_evidence: raw_model_output
predicate: authorized_tier: authorization_tier >= 2predicate: risk_within_bounds: risk_level <= 50Implementation
Section titled “Implementation”from vbos import VBOSClient
client = VBOSClient(api_key="YOUR_API_KEY")
def execute_agent_action(agent_id, action, risk_level, auth_tier): result = client.verify( workload={ "agent_id": agent_id, "action_type": action, "risk_level": risk_level, "authorization_tier": auth_tier, }, project="agent-platform", boundary_ref="agent-action-gate", )
if result.decision == "ASSERT": perform_action(action) return {"status": "executed", "evaluation_id": result.evaluation_id} else: escalate_to_human(action, result.failure_reasons) return {"status": "deferred", "reasons": result.failure_reasons}Key Properties for Agent Governance
Section titled “Key Properties for Agent Governance”- Deterministic: the same agent context always produces the same authorization decision
- Replayable: every authorization decision can be reproduced for audit
- Model-independent: swap the agent model; the authorization boundary is unchanged
- Binary: ASSERT or DEFER, no confidence scores or partial approvals
- Fail-closed: missing context produces DEFER, not a best guess
Next Steps
Section titled “Next Steps”- AI Agent Governance: architectural overview of agent governance with execution authority
- Execution Authority vs. Guardrails: how deterministic execution authority differs from guardrail approaches
- Deterministic Authorization: authorization patterns
- Certification: certifying agent compliance
- Replay: reproducing agent authorization decisions
