FAQ
The questions we get most often
Where your data lives, how keys are stored, what it costs, and what a sandbox is. Four groups, then you can start. Deeper troubleshooting lives in the docs.
Data & privacy
Is my data mixed with other users?
No. Tenants are isolated at row level: sessions, messages, model configs, skills and sandboxes all carry a tenant_id, and RLS enforces the filter inside the database — a missing application filter still cannot read another tenant's rows.
Tenant admins and platform admins are separate roles, and cross-tenant access is audited.
How are model keys stored?
Envelope encryption before they touch the database: each record gets its own DEK, the DEK is wrapped by a KEK, and the ciphertext carries a version and key id so KEKs can be rotated. The API only returns a mask, and api_key-like fields are redacted in logs and audit entries.
In production, a missing KEK refuses the write rather than falling back to plaintext.
Do you train on my conversations?
No. We do not train models on user conversations. Third-party model calls are governed by their own terms; the data-flow notes in the docs spell out what leaves the platform and when.
Can I export or delete my data?
Sessions and messages can be exported; deletion follows the retention policy and removes sandboxes and preview artefacts along with the session.
Exact steps and retention windows are in the docs under Data & security.
Models & usage
Which models are supported?
Any OpenAI-compatible endpoint (/v1/chat/completions): OpenAI, DeepSeek, Qwen, Kimi, OpenRouter, or a local vLLM / Ollama gateway. Each config can set its own thinking parameters and default model.
The public pool only serves models we pick; it never touches your key.
How is the 20,000-token pool counted?
By tokens (input plus output), accumulated per tenant per UTC calendar day and reset at midnight UTC.
When it runs out, new runs are refused with a prompt to add your own key; existing sessions and history are unaffected.
What are the concurrency limits?
2 concurrent requests on the public pool, 3 with your own key, and 2 concurrent sandboxes. Over the limit you get an immediate message rather than a queue.
If my own key is "unlimited", why is concurrency capped?
"Unlimited" means we do not cap tokens — your provider bills you directly. The concurrency cap protects runtime and sandbox capacity, not billing.
Sandboxes
What is a sandbox, and do I need one?
A sandbox is an isolated environment created on demand, where agents run commands, install dependencies, read and write files, and start servers. It is discarded when done.
Not every task needs it: pure conversation or reading docs does not; tests, builds and screenshots do.
Where does code run? Does it touch my machine?
In an isolated instance, never through your browser or your machine. The instance is reclaimed when the session ends, and files follow the session retention window.
Getting started
What do I need to start?
An email address and, optionally, a model key. Without a key you can still use the public pool end to end. No credit card at any point.
Can I self-host?
Yes. The repository is open source and supports Docker and your own Kubernetes. Self-hosting is not subject to the quotas described here; the quickstart in the docs is the shortest path.
How do I sign in?
Email code or password via Clerk today, with a dedicated tenant created on first sign-in. Admins can additionally enable TOTP.
Still stuck?
The docs troubleshoot by symptom across login, models, sessions, sandboxes, MCP and skills. Issues are welcome on GitHub.