Data & Privacy
Rolltop is local-first. Your work lives on your machine, in plain files you can read, back up, move, and version-control.
What stays on your machine
Conversations, settings, artifacts, scripts, flashcards, the calendar, and databases are all stored locally as plain text, YAML, or SQLite. There is no cloud sync of your data.
You'll find your data in the Rolltop user-data folder — for example, on macOS:
~/Library/Application Support/Rolltop. Conversations are YAML files you can open in
any editor.
What leaves your machine
Only two kinds of traffic leave your computer:
- AI requests — the messages and attachments you send for the cloud model you chose, relayed through Rolltop's gateway to the provider (Anthropic / OpenAI / Google / xAI / Replicate / Perplexity / ElevenLabs / AssemblyAI / Voyage AI). The gateway authenticates you, checks your credit balance, and forwards the request; it does not store your message content. Choose a local Ollama model and even this stays on your machine — a local conversation makes no network request at all. See Local Models.
- Authentication and billing — sign-in, session refresh, and credit usage.
Generated images and videos download straight from the provider's CDN to your machine.
Security
No provider API keys, ever
Rolltop's gateway holds the provider keys server-side and calls the provider on your behalf. There's no API key to paste when you set up the app, and none stored on your machine for anyone to extract. Credit limits are enforced at the gateway too — before a request is forwarded — so the app can't be modified to spend more than you have.
Everything else
- Credentials (your login session and OAuth tokens) are stored in your OS keyring, not in files.
- MCP server environment variables can be marked as secrets.
- The filesystem tool only touches folders you explicitly allow, with symlink-attack and path-traversal protection.
- Scripts run in a hardened sandbox: the file, network, and database permissions you approve are enforced — a script can't reach another database, follow a redirect to a domain you didn't allow, or escape its folder via a symlink.