BatonCloud · Cloud Server

Somewhere your agents can actually live and run 24/7.

Managed Baton nodes — the same node model, the same protocol, and the same snapshot format as the one on your laptop. An agent that has to answer at 3am should not be running on a machine that closes at 6pm.

A sandbox is where you put something you do not trust.
A workplace is where you put something you depend on.

An agent runtime is a work environment, not a workload.

A container that gets scheduled, does a job and disappears is a workload. What Baton runs is the other thing: a stateful workspace with weeks of accumulated context, its own identity, and a human who occasionally takes the keyboard.

The workspace persists

Installed tools, cloned repositories, half-finished work. It is still there tomorrow, and after a restart, and after it moves to a different machine.

A real terminal, not a web IDE

baton attach sales-agent and what appears is Claude Code or Codex exactly as it looks locally. Same command whether the node is on your laptop, your server, or ours.

It is a node, not a rented box

The runtime, the filesystem, the workspace and the terminal are yours. We operate the host — that is the whole of what is being sold.

Security & governance

The same four questions. Different answers.

Anyone running agents in production has to answer for credentials, network egress, isolation and audit. Here is how this model answers them — and in one case, why the question does not arise.

Credentials: there is no shared secret to broker

Authorisation between your network and this service is two keypairs, each side holding only the other's public half. Nothing secret crosses the boundary in either direction, so there is no secret in flight to intercept and none at rest to leak.

Runtime specs declare secrets by name, never by valueMODEL_API_KEY, not the key. A snapshot excludes tokens and PKI material by name.

Egress is declared, and refused when it cannot be met

A runtime spec states what network access it needs. The host enforces it — and a spec asking for something the host cannot enforce is refused rather than silently downgraded.

That refusal is the load-bearing half. A platform that quietly grants less than you asked for has told you nothing, and you will find out from an incident.

Isolation is a declared capability, not a marketing word

Every host publishes what it can actually do through the standard capability contract, and the CLI reads it. A laptop that cannot do process checkpoint reports false; so does a managed host that cannot.

The vocabulary is public and it is the same everywhere, so "hardened" is a claim you can check rather than a word on a page.

What we declare: a kernel per workspace

Managed workspaces run in microVMs — each one gets its own guest kernel rather than a slice of a shared one. Our hosts declare isolation.microvm; a laptop running the open edition declares isolation.container.

Same node model, same verbs, same snapshot format. The driver underneath is a property of the host, not a different kind of Baton — and a self-hosted machine can declare the same thing we do.

Audit names a key, never "the cloud"

Every action resolves to one specific key that one specific person added, with the scopes it was granted visible wherever it is listed. Revocation is deleting that key, and it takes effect immediately — verification happens at time of use, so there is no issued token to outlive the record.

And the part most services do not publish: what happens if we are compromised. Short version — an attacker who owned this service could return a wrong address, and still could not impersonate your network, because we do not hold the half of the key that would let us. The full compromise model →
Ask any agent-runtime vendor what happens when you leave.
If the answer is a migration project, the runtime was never yours.

You can take this with you. That is a constraint on us, not a promise.

Baton is open source and Apache-2.0. Hosting a node here creates no second node model and no private Baton API — enforced by the repository, not by intention. Where a managed host can do more than a laptop, it says so through the same capability contract everyone else uses.

The exit is sixteen assertions

A snapshot carries your work and your logins, and never an identity. Sixteen assertions say so — step 17b of the acceptance run — including that an archive carrying an identity is refused outright and that a clone gets the work but a different certificate. That proves state is portable. Carrying it onto a different runtime is a separate assertion, and it is being built rather than claimed.

A node is ordinary things

An OCI image plus a workspace volume, carried by whichever runtime driver the host declares. Those two are what moves, and both are standard — nothing here is a proprietary format you would have to convert out of. What does not move is the running state underneath, and it never needed to.

No cloud-only anything

No cloud-only verb, no cloud-only field, no cloud-only artifact format, and no branch on where a node happens to run. If we need a capability, it is available to any provider you configure — or it does not exist.

Beyond one agent

Your agents are a team, and teams have to reach each other.

Isolating a single agent is where this problem starts, not where it ends. The moment you have five, they need names, addresses, a way to hand work to each other — and eventually a way to reach agents that are not yours.

Agents have addresses

nike.coder@batoncloud.org — one identity, many addresses, many endpoints. Move the agent to another machine and the address follows it.

Networks federate with networks

Two organisations' agents connect once, at the network level, and every agent inside shares that trust. The traffic goes directly between them; we help them find each other and then get out of the way.

A public directory

Publish a workspace template or a skill and any Baton operator can install it by name. Browse what is there →

Get early access

Managed capacity is not open for sign-up yet, and nothing here takes payment. Tell us what you would run and we will write when there is something real to try.