FiGuard
Policy enforcement for AI agents.
Built like financial infrastructure.
Pre-flight authorization for any agent action that touches money, tokens, or bounded resources — before anything moves.
Or try instantly: sandbox.figuard.io · no signup, no Docker
Spend tree — every authorization decision, every agent, every level of delegation.
The problem
Agents don't ask permission. They decide, execute, move on — then your logs tell you what happened.
That's not a guardrail. That's a receipt.
Without FiGuard
# Agent decides to act — nothing checks first
result = vendor_api.create_order(
amount=1890.00,
vendor="acme-supplies",
category="office_supplies",
)
# Executed.
# No budget check. No category enforcement.
# No audit record. Fleet has no idea. With FiGuard
auth = client.authorize(
session_token=budget.session_token,
agent_id="procurement_agent",
action_type="PURCHASE",
description="Acme office supplies order",
requested_amount=1890.00,
claimed_category="office_supplies",
idempotency_key="order-2026-001",
)
if auth.is_authorized:
result = vendor_api.create_order(
amount=auth.approved_amount,
)
client.confirm_event(
auth.event_id,
confirmed_amount=1890.00,
)
# DENIED — ALLOCATION_EXHAUSTED
# office_supplies: $800 / $800 consumed
#
# Nothing moved.
# Logged in ledger.
# Agent receives reason code.
# Fleet sees the updated balance. Works the same for payments, LLM tokens, API quotas, GPU hours, or any bounded resource.
Every agent decision. Authorized, logged, and explainable.
Three agents share one budget. Every request is checked before anything executes — approved, denied, and logged in real time. Simulation
Try the real enforcement engine: sandbox.figuard.io →
Get started
$pip install figuard from figuard import FiGuardClient
client = FiGuardClient(
api_key="sb_live_demo",
base_url="https://sandbox.figuard.io", # no Docker needed
)
budget = client.create_budget(
user_id="agent_001",
total_limit=500.00,
expires_in="24h",
authorization_expiry_seconds=300,
intent_context="travel booking session",
)
auth = client.authorize(
session_token=budget.session_token,
agent_id="travel_agent",
action_type="PURCHASE",
description="JetBlue SFO→JFK",
requested_amount=267.00,
idempotency_key="booking-001",
)
print(auth.decision) # AUTHORIZED
print(auth.approved_amount) # 267.0