Skip to Content
ProductionOverview

Production hardening

This section covers what to turn on when you put an agent in front of real users on real infrastructure: spending caps, rate limits, per-user rights, secrets, audit trails, serving and evals. Everything here is opt-in; the framework’s defaults already work for single-tenant scripts and demos.

The whole section is organised around a single theme: safe multi-tenancy. One shared Agent (and one Memory, one Budget, one AuditLog) backing N users requires more than just passing user_id= everywhere; it requires bounded state, per-user caps, scoped permissions, observable extraction, and pluggable secret resolution.

What you turn on, listed

ConcernOpt-in
Per-user quotaBudgetConfig(per_user_max_*)
Per-user request rateAgent(rate_limiter=TokenBucketRateLimiter(...))
Tenant-specific permissionsPerUserPermissions(policies=, default=)
Human-in-the-loop for destructive toolsAgent(approval_handler=...)
Bounded in-process stateDefaults active; tune max_users / user_idle_ttl_seconds
Vault-backed API keysAgent(tuning=Tuning(secrets=VaultSecrets(...)))
Auto-extract metricsAgent(telemetry=OTelTelemetry(...))
Per-user auditFileAuditLog(...) (attribution is automatic)
Load-test isolationbench/multi_tenant.py

Pair this with the production checklist for the broader operational concerns (durable runtime, persistent memory, sandbox, etc.). Upgrading from 0.9? See Loomflow 0.9 → 0.10.

Last updated on