ncode

Desktop docs Data and privacy

ncode Desktop Maintain

Data and privacy

ncode has no account and no cloud of its own. This page says exactly what it keeps, where, and what leaves your Mac.

What stays on your Mac#

ncode is local-first. There is no account to create and no ncode server in the middle: everything it keeps is on your Mac.

  • One SQLite database, ~/Library/Application Support/SwarmCode/swarm_code.db, holds your conversations, runs, agent steps, settings, provider and search keys, MCP settings, schedules and usage. See where your keys are kept.
  • Pasted or dropped images are saved as files in attachments inside ~/Library/Application Support/SwarmCode; global memory and global commands live in the same folder.
  • Project memory, custom commands, workflows and agent definitions you add to a project live in its .swarm_code folder, next to your code.

What leaves your Mac, and where it goes#

Only what the features you set up need:

DestinationWhat is sentWhen
Your model providerthe conversation, instructions, and whatever the agents read or produced (file contents, command output)every model turn
The search engines and readers you enabledsearch queries and page addresseswhen an agent searches or reads a page through a reader
Any web page an agent opensan ordinary web requestwhen an agent uses web_fetch
The MCP servers you addedthe tool calls agents make to themwhen an agent uses one of their tools

Opening a designed research report may also load web fonts from Google Fonts.

Commands the agents run on your Mac get a cleaned environment by default, so secrets in your shell variables are not handed to them.

Where your keys are kept#

Provider keys, search-engine keys and the environment variables or headers you give an MCP server are stored in the local ncode database on your Mac, ~/Library/Application Support/SwarmCode/swarm_code.db. They are not stored in the macOS Keychain.

What that means for you:

  • Protect the database like the rest of your home folder: it holds your keys. Anyone who can read your files can read them.
  • The provider list shows a key only in masked form, and when fetching a model list fails, the key is removed from the endpoint's error text before you see it.
  • Commands an agent runs get a cleaned environment by default: variables whose names look like secrets are hidden from them. GITHUB_TOKEN and GH_TOKEN are kept unless you change the list.
  • Deleting a provider or an MCP server deletes its stored secrets with it.

Logs#

The app writes a log file for troubleshooting: up to three files of 5 MB each in your Logs folder (see the names below). It records the app's own events and errors. If you share it when reporting a problem, read it through first.

Removing your data#

  • One conversation: delete it from the sidebar.
  • Old data in bulk: see Storage and cleanup.
  • Everything: quit ncode and delete ~/Library/Application Support/SwarmCode, plus the research and log folders listed under Names. This also removes the data of the ncode terminal app, which shares it.
  • A project's own files: delete the .swarm_code folder in that project.

Names#

Names you may still see#

ncode had a different name before this release. The app and the command are new, but a few places keep the earlier name so your data, your projects and your scripts keep working. You do not need to rename anything.

WhatName that stays
The app's data folder~/Library/Application Support/SwarmCode
The database~/Library/Application Support/SwarmCode/swarm_code.db
The per-project folder.swarm_code in each project
Your own agent definitions~/.swarm_code/agents/
The earlier appSwarmCode.app (replace it with ncode.app)
The earlier terminal commandswarmcode (still works, as an alias of ncode)
Environment variablesNCODE_… are read first; the older SWARM_… names still work

Two more paths still carry the earlier name:

  • Deep research writes each research to ~/.swarmcode/research/<id>/.
  • The app's logs are in ~/Library/Logs/SwarmCode/.