Architecture Overview
OrcFlows is a Go monorepo with three deployable binaries, a SvelteKit frontend, and a set of supporting infrastructure services.
Temporal Execution Model
OrcFlows uses Temporal as its durable execution engine — every workflow run is a real Temporal workflow, and every step is a Temporal activity. This is what gives OrcFlows reliability properties that a typical request/response automation engine doesn't have.
Multi-Tenancy & Data Model
OrcFlows is multi-tenant at the database layer: nearly every table carries a tenant_id foreign key, and every API request resolves a tenant from the caller's JWT (or, for public routes, from a workflow-scoped API key/UUID). There is no shared-data path between tenants.
Sandbox & Security
Workflow steps that execute arbitrary code or shell commands — the code node and the agent's terminal/writefile/readfile/list_files tools — never run on the API server or worker host. They run inside a dedicated, isolated Docker container per execution, managed by internal/sandbox (sandbox.Manager).
Deployment
This page covers running OrcFlows beyond a local make start — building production binaries, what each piece of infrastructure is for, and what to swap out for a hardened deployment.