Block, route, or approve agent actions in real time in OpenAI Agents SDK agents — without rewriting your code, without adding a proxy to the request path.
The problem
OpenAI Agents SDK is great at what it does, but production-grade policy enforcement is bring-your-own. Most teams discover this when the first production incident hits, the first OpenAI bill arrives, or the first auditor asks for evidence.
Specifically:
- Built-in tracing is OpenAI-platform-bound and developer-focused
- No native cross-vendor model support in traces
- Policy enforcement (approval flows, spend caps) is bring-your-own
How Prefactor solves it
Prefactor wraps your OpenAI Agents SDK Agent and adds policy enforcement as a runtime layer. Specifically:
- require approval for tool calls affecting customer data
- block tool calls when PII appears in args
- enforce per-agent spend caps
- rate-limit specific agents
- policy-as-code for compliance teams
Install and integrate
pip install prefactor-openai-agents
from openai_agents import Agent, run
from prefactor import Prefactor
pf = Prefactor(api_key="pf_live_...")
agent = pf.wrap(Agent(...), agent_id="customer-support-v1")
result = await run(agent, input="...")
Specific use cases
- Require approval for tool calls affecting customer data
- Block tool calls when pii appears in args
- Enforce per-agent spend caps
- Rate-limit specific agents
- Policy-as-code for compliance teams
FAQ
Does this add latency? Per-span instrumentation adds ~2-5ms. Telemetry ships asynchronously. No synchronous network call in the agent's hot path unless you enable blocking policy enforcement.
Can I configure this per-agent? Yes. Policy Enforcement settings are per-agent — different agents can have different policies, sampling rates, retention, etc.
Is this compatible with other observability tools? Yes. Prefactor exports OpenTelemetry; works alongside Datadog, Langfuse, LangSmith, and others.
Related
Start free
[Get started free →] [Book a demo →]