Local tier
The landing page makes the local tier one third of the privacy argument, so it is worth being exact about what it is. It is a third inference tier: instead of BEAM's server calling a model provider on your behalf, or calling one with your own key, your own machine answers.
Turning it on
In the terminal:
model local
That command is the opt-in. It is per device — the flag and the selected model live in a beam_local_flags entry in that browser or that desktop app, and it does not follow you to another machine. There is no account-level entitlement to request.
BEAM expects an Ollama server at http://localhost:11434. If something else is listening — LM Studio, llama.cpp's server, vLLM, a GPU box on your LAN — you can point BEAM at it, and the endpoint is auto-detected as either Ollama-native or OpenAI-compatible (/v1/chat/completions) at probe time. The Ollama-native dialect is the managed default: it is the only one with the pull / import / show lifecycle the setup flow uses, so model management refuses honestly on the other.
In the desktop app the request runs in Electron's main process over IPC, which means no CORS, no private-network gate, no open port for a browser to hop through, and the probe can start ollama serve for you. In a browser tab it is a direct fetch to localhost, which is the weaker of the two paths and is kept as a fallback. One consequence worth knowing: a browser fetch cannot tell "Ollama is not running" apart from "Ollama refused the origin" — both arrive as the same error — so the setup copy gives you both fixes rather than guessing.
What it does, and what it does not
Inference stays on your machine. In this tier the prompt is sent to your own server and nothing about the AI call reaches BEAM's server, a model provider, or the anonymizing relay. There is no key to carry and nothing to tokenize, because on this local tier nothing leaves your machine to scan.
Workspace sync is unchanged. This is the part the landing page cannot say in three words. The local tier changes where inference happens; it does not change how your workspace is stored or synced. Your tasks, docs and messages still sync to BEAM's server under exactly the rules on the Encryption page — content fields sealed on your device when encryption is on, structure and ordering in the clear either way, and nothing sealed at all if you never turned encryption on.
Local work does not draw down your model-work allowance. Inference on your own hardware costs BEAM nothing, so it is priced at a structural zero rather than a quoted vendor rate, and it does not count against the monthly allowance.
It is one model, not a council. This is the correction the landing page needed: local mode is a single-provider tier. Your own model answers instead of the cloud council — it does not fill three chairs. Council fan-out across local models is a later phase, and until it ships, council is a cloud path.
Tools are not in this phase. The local tier covers the ask path with streaming. Tool calls arrive in a later phase; the context cap and the tools gate are both read from what your model actually reports about itself rather than assumed.
Nothing here is on by default. The flag ships off. It is a construction scaffold on its way to universal-on, not a per-account entitlement, and it will be removed rather than promoted when the tier stabilizes.
See also: Encryption · Security · Flagship tier