Files and privacy

braids reads every message you have exchanged with Claude Code. That is worth being precise about.

It makes no network calls

There is no HTTP client and no listener in it. You do not have to take that on trust:

go list -deps ./cmd/braids | grep net/http
# (no output)

braids does not call a model and has no API key. The only program that talks to Anthropic on your machine is Claude Code itself.

One thing does reach the network, and only when you ask it to: the installer. Pressing v on the map runs the same curl … | sh line the docs print, in your terminal, after printing it. braids does not fetch anything itself, has no timer, and never checks anything in the background.

What it writes

PathWhatMode
~/.braidseverything braids owns0700
~/.braids/index.dbthe search index, holding message text0600
~/.braids/*.jsonnames you chose, archive flags, fork origins0600
~/.braids/bindeleted files, kept 14 days0700

The index holds the full text of every message it has read, so it is created private and tightened on every open. An earlier version left it world readable at 0644.

Those modes are POSIX modes. Windows has no equivalent bits, so braids cannot set them there: what it writes is protected by the permissions on your user profile directory instead, which braids neither sets nor checks. The tests that assert modes say so rather than passing where the guarantee does not hold.

What it never writes

braids never writes to a transcript the harness owns. Branching, merging and promoting all write new files. The sources are opened read only, and the tests hash them before and after.

It also leaves file modes alone. Curating memories rewrites markdown files, and it preserves the mode each file had rather than imposing one.

Deleting braids

braids hooks --remove
rm "$(command -v braids)"
rm -rf ~/.braids

Everything braids knows is derived from ~/.claude. Remove it and you lose a view, never a conversation.