Privacy
Bogen runs on your machine. It has no account, no server of its own and no cloud service. It sends no telemetry, usage statistics or crash reports, and it does not check for updates. It connects to the network when a design or an action you start needs it. The table lists those.
What leaves your machine, and when
| When | Destination | What is sent |
|---|---|---|
| A design uses a Google Fonts family, in the editor or in a render | fonts.googleapis.com, fonts.gstatic.com | Requests for that family's style sheet and font files. Fonts installed here, and fonts kept by Snapshot, are not requested. |
A design references an image or other resource on a public URL, such as <img src="https://..."> written by your agent | That address | An ordinary download. Images written that way are stored with the file, so later renders use the copy. |
| You or your agent capture a page or site with Snapshot, or extract a brand from a URL | The site, and the hosts its pages load from | What a browser sends when it opens the page, plus requests for robots.txt and the sitemap for a whole site. |
A layer repeats from data at a URL (Repeat, layer_repeat) | That address | An ordinary request for the JSON or CSV. |
| Your agent generates an image | api.openai.com or generativelanguage.googleapis.com | The prompt and size, with your own key. See Image generation. |
| You import from Figma | api.figma.com, and the image addresses Figma's API returns | Your personal access token, and the file's key. See Import from Figma. |
| Device sync is on | Your paired devices, over Tailscale only | Your files, assets, brands, libraries, change logs, named commits, and who has a file open there. Every request carries the device token. |
bogen peer deploy, integrations/macos/deploy.sh | The host you name, over ssh | The build and the integration scripts. |
| An agent works in Bogen | Your MCP client, and from there its provider | What the tools return: layer contents, comments, screenshots, brand data. Bogen does not filter it. |
Addresses that come from designs, captured pages and data go through a guard that refuses private and local addresses. Pages on this computer can be captured from the command line only, and pages on your private network not at all.
What stays local
- The server listens on
127.0.0.1:29990and refuses requests that come from another site or name another host. It listens beyond this machine only with--hostand a token, or on your Tailscale address with--tailnetorbogen peer pair, where every request needs the device token. - Your designs live in the data folder,
~/.local/share/bogenby default:
| What | Where |
|---|---|
| Files and brands | files/<id>.ydoc, with the list in index.json |
| Images, fonts and other assets, by content hash | assets/ |
| Change logs and commits | history/<id>/ |
| Thumbnails | thumbs/ |
| Run history, per file | runs/<id>.json |
| Model and effort choices | run-settings.json |
| Linked code projects, per device | code-projects.json |
| Keys, a saved Figma token, device and pairing settings | config.json, readable by you only |
| The background server's log | server.log |
- Code components from your projects are bundled on this machine and run in a sandboxed frame with no network access and an origin of its own.
- Nothing in a document starts a process. Comments, brands and files from other devices, from agents or from imports never start an agent run.
Image generation
Image generation needs your own key, for OpenAI or Gemini, and costs money on that account. Set OPENAI_API_KEY or GEMINI_API_KEY for the server, or put openaiApiKey or geminiApiKey in config.json in the data folder. Keys are never logged or returned to an agent. Without a key, your agent places images another way: a public URL, inline SVG or a CSS gradient.
AI agents
When you connect an MCP client, everything Bogen's tools return goes to that client: the structure and text of your designs, screenshots, comments and brand data. The client may send it on to its AI provider. The same goes for runs started from Ctrl+K and comments, which use your own claude or codex CLI and its account. Only connect clients you trust with the files.
Removing your data
Delete the data folder. bogen uninstall <client> takes Bogen out of an MCP client, and on Omarchy bogen omarchy uninstall removes the integration; neither touches your designs.