ThinkingRoot Docs
Cloud vs Self-host

Cloud vs Self-host

What's open source, what the cloud adds, and how to choose.

ThinkingRoot is open-core. The cognition engine is open source and you can run it yourself; the cloud is a managed, multi-tenant home for that same engine. Nothing about the engine is held back — the cloud's value is operating it for you, safely, for many tenants.

The split

Open source (run it yourself)Cloud adds
The engine — compile, query, branch, healthGateway — one authenticated entry point (dual-mode auth)
root serve — the self-hostable daemonProvisioner — one isolated engine per project, lifecycle + GC
The root CLI and the desktop appSecrets vault — sealed-box encryption, inject at spawn
Language SDKsConsole — projects, playground, connectors, usage
Root Functions, Compiled Prompts, JIT, streaming branchesEgress allowlist, billing & metering, team/orgs

The engine is the only per-tenant isolation boundary, so capabilities that must be isolated (the Root Function executor, the branch engine) live in the engine, not the cloud. The cloud monetises the vault, UI, firewall, and metered access — not the engine.

Why the engine runs as a separate process

A hard technical constraint shapes the architecture: the engine and the cloud control plane both depend on a global links="sqlite3" slot (the engine via its graph store, the control plane via Postgres tooling). Cargo refuses two such crates in one binary, so the engine cannot be linked in-process. It runs as its own container/daemon, and the cloud talks to it over HTTP (REST + MCP). This is also exactly what makes per-project isolation clean — see Isolation.

Which should I use?

Use the cloud when…

You want zero ops: provisioning, isolation, secrets, billing, and the Console handled for you — and you want to ship a product, not run infrastructure.

Self-host when…

You need full data residency/air-gap, you're embedding the engine in a desktop or on-prem product, or you just want the open-source engine on your own box.

No lock-in by construction

Because the cloud is a hosted front for the open-source engine, code you write against a self-hosted root serve works against a cloud project unchanged — point it at the gateway and swap the loopback key for a tr_sk_… key.