Define the process
Connect inputs, processing and decisions through a pipeline.
Define a pipeline, pick compatible implementations and run it through the approvals and systems you already have.
Connect inputs, processing and decisions through a pipeline.
Use the backends you choose, with limited connections and permissions.
Follow run status, outputs and recorded decisions.
Install a domain's workflows, pick compatible implementations and set up your environment. Business rules stay separate from vendor connections.
The pipelines, mappings, policies and domain inputs that describe your process.
Inputs, settings, outputs and reports mean the same thing whichever implementation runs.
Installable code that connects models, data systems, tools and compute services.
Which implementation runs each step in your environment, and how it connects.
Cairn decides when a step may run and records what happened. Your tools do the work. The line between the two is written down for every integration.
How a fine-tuning run moves through a typical stack. Cairn runs the gates and keeps the record; each tool does its own job.
Every step, score, cost and approval is kept in the run record.
Cairn submits, polls and cancels through one engine protocol. Your engine schedules, retries and holds the data.
Cairn prices the run first, acquires with a lease and releases on cancel. The provider owns the machine.
Cairn decides when to register or promote, after the human gate. Your tracker and server own the versions and the process.
Cairn owns the store contracts and the artifact relay. You own the bucket and the database server.
Every model call goes through a single gateway with redaction and a budget. The provider owns the API.
Cairn owns which runtime runs agentic graphs, the queries it issues and what it posts. Each tool owns its history, data and vault.
Integration depth varies: some paths are production-proven, some are integration-tested, and recovery guarantees differ by backend. The integration boundaries in the documentation list each one.
Read the documentation ↗What platform and ML teams ask first. If yours isn't here, ask it on the call.
Yes. The cairn CLI declares, runs and watches pipelines: cairn pipeline, cairn flow, cairn connect, cairn deploy, cairn worker. Anything the console does, the CLI does.
Yes, an HTTP API with an OpenAPI spec. Launch a pipeline (POST /pipelines/launch), inspect runs, approve or advance a gated step, download artifacts. The console is built on the same API.
Both ways. Cairn runs an MCP server, so Claude, Cursor or your own agents can launch and inspect runs; and Cairn's agentic steps can call your MCP tools.
Yes. Inbound events and webhooks start pipelines and feed production scores back. Outbound, run events stream to your listener and notifications go to Slack.
A Python SDK composes and launches pipelines with the same gates and record as the CLI and the API.
On your infrastructure. Docker Compose for a single box, a Helm chart for Kubernetes. SQLite to start, PostgreSQL in production.
Nowhere new. Data stays in your storage (S3, MinIO, GCS, your databases) and jobs run on your engines. Cairn keeps the record: what ran, what it cost, who approved.
Bring your own, or rent through connected providers (RunPod, Vast.ai, Modal). Either way a run is priced against a budget before it is submitted.
Apache 2.0 licensed and self-hosted. Early access now; the source opens with the public release.
The run stops at that gate. Nothing downstream is submitted, the evidence is recorded, and a person decides whether to fix, retry or drop it. A model is never promoted past a failed evaluation.
Every pipeline carries a budget. Jobs are priced before they start, refused above the limit, and the actual spend is recorded next to the estimate.
Pipelines name their approvers. A gated step waits for one of them, and the approval is recorded with the run. There is no bypass in the pipeline.
No. Those keep doing their jobs. Cairn sits above them, decides when a step may run, and keeps the record across all of them.
Yes, in one YAML file that composes installed steps. It gets the same budget, gates, approvals and record. Operators are installable Python packages.
One gateway for every model call, with redaction and a budget; providers include OpenAI, Anthropic, Ollama and LiteLLM. Secrets come from Infisical or the environment, never from the pipeline file.
Each run has a downloadable bundle: inputs, outputs, artifacts, scores, cost and approvals.
Follow the quickstart to get a control plane with demo data running, or book a call and we set up the first governed run of one pipeline you already own.
Apache 2.0 licensed, self-hosted. The quickstart gets a control plane with demo data running; a call gets your first pipeline onto it.