The open-source control plane for operating AI workflows in production.

Think Kubernetes for agents and workflows. BoundFlow schedules, governs, and audits every run, so operational policy lives in the control plane, not hand-coded into every agent you build.

# Define a governed workflow
@worker.workflow("refund", version=1)
async def refund(ctx):
    await ctx.run_agent(analyst)
    return AwaitApproval(
        on_approve=Next("issue_refund"),
        on_reject=Complete(),
        justification="Approve $5,000 refund?",
    )

# Govern it from the control plane
await cp.set_workflow_lifecycle_policy(wf.id, [
    WorkflowRule(
        metric=WorkflowMetric.COST,
        threshold=5.00,
        action=SetVersion(target=1),
    ),
])

the 3-minute overview

what it does

What makes an agent hard to run unattended?

Non-determinism is what makes agents powerful, and risky the moment no one is watching every run. BoundFlow turns each of three operational concerns into policy, enforced by the control plane instead of exception code scattered across every agent.

Runtime Governance

Guardrails enforced live, mid-run: per-run cost caps, tool-call limits, token and latency ceilings, and model selection. Every execution is validated against policy before it proceeds.

max_cost_usd · max_llm_calls · tool_call_limits

Lifecycle Management

A workflow reacts to its own runtime signals over time: switching models, cooling down, pausing, or rolling back to a known-good version, without manual intervention.

SetModel · Cooldown · Pause · SetVersion

Durable Execution

Runs are checkpointed and leased across a fleet of workers; if one crashes, another resumes where it left off. Each operation returns one of a small, fixed set of outcomes; gated ones park and resume server-side.

Complete · Next · AwaitApproval · AwaitInput

BoundFlow is not a prompt framework, an inference provider, or an agent-builder. It is the operational layer around the agents you build.

Every runtime decision and lifecycle action (who or what made it, and why) is written to a durable, queryable audit log, not scattered across application logs.

self-healing lifecycle

Workflows that heal themselves.

BoundFlow evaluates each workflow's own signals, such as cost, failures, and approval rejections, against its lifecycle policy, and acts when a threshold is crossed: roll back to a known-good version, pause, or cool down. No human in the loop.

A periodic workflow's lifetime cost crossing its budget, and BoundFlow automatically rolling it back to the last good version
example: a periodic workflow's lifetime cost crosses its budget → automatic rollback to the last good version

watch

Overview and technical walkthrough.

Overview 10 min

Why AI workflows need a control plane, the architecture, and how governance works while workflows run in your own infrastructure.

Technical demo 13 min

A hands-on walkthrough: building workflows with operations and primitives, then defining, running, and auditing runtime and lifecycle policies.

architecture

Control plane and data plane, separated.

The BoundFlow backend is the control plane; workers run the agents in your own environment, with your own inference keys. It separates what an agent does from how it's operated in production. The backend schedules, dispatches, governs, and audits every run, and never sees your keys or your inference traffic.

BoundFlow architecture: ad-hoc agent operations, where operational logic is scattered and hand-built, versus BoundFlow, where policy lives in the control plane and customer workers execute under its governance in the data plane

Backend

Open source (Apache-2.0), self-hostable as a single container.

Python SDK

Open source (MIT). pip install boundflow.

Bring-your-own inference

Agents call the model with your key, in your worker. The backend never pays for tokens.

who it's for

Teams running agents unattended, past the demo stage.

You run LLM agents in production without a human watching every run, and something has already gone wrong, or you're waiting for it to.

You've hand-coded budget checks, retry limits, or approval flows into your agents, and want them declared as policy instead of scattered exception code.

You need an audit trail of every approval and policy decision, not something stitched together after an incident.

cloud · early access

Prefer not to run the control plane yourself?

BoundFlow Cloud is an early-access managed deployment of the control plane: same gRPC API, same pip install boundflow SDK. Inference stays bring-your-own; only the control plane is hosted. Early and design-partner-oriented while the first users onboard.

contact

Let's talk about how you're running agents today.

We're working closely with a small group of early adopters and design partners as we head toward 1.0. If that's you, we'd like to hear from you.