Skip to content
Get AI Business OS

Privacy and Your Data

PRIMA Memory

PRIMA Memory works on your computer. It reads conversation files that already exist, writes an index and some summary files into your workspace, and makes one download from the internet, which carries none of your conversation content. This page states each of those in full.

Source What it reads Scope
Claude Code conversations The .jsonl files in ~/.claude/projects/<encoded-workspace-path>/ The current workspace only
Shared project log Markdown entries in <workspace>/.claude/state/sessions/ The whole log, including colleagues’ entries if the workspace syncs between people
VS Code Copilot Chat Copilot transcripts inside VS Code’s workspaceStorage folder Every VS Code workspace on your user account
Codex Session files in ~/.codex/sessions/ Sessions recorded in this workspace or a folder inside it, plus sessions that recorded no folder

Two of these sources reach beyond the current workspace. VS Code Copilot Chat records no workspace path, so PRIMA Memory reads every Copilot transcript on your account in every workspace where it runs. Codex sessions that recorded no working folder also appear in every workspace.

PRIMA Memory only reads these files and never changes, moves or deletes them. Claude Code, VS Code and Codex manage their own files, so deleting a conversation is something you do in those tools or their folders.

To find the shared project log, PRIMA Memory checks a set override, then the workspace root that Claude Code reports, then the CLAUDE_PROJECT_DIR and PRIMA_WORKSPACE_DIR variables, and then the folder it started in. In Claude Code mode the search ends there. PRIMA Memory does not scan your home folder, your documents or your cloud-sync folders for another workspace’s log.

What Where Contents
Index database <workspace>/.prima-memory/index.db, with the index.db-wal and index.db-shm files that SQLite keeps beside it A copy of the text of every exchange it has indexed (your message and Claude’s reply), with the session ID, time, project folder, git branch, source label, the author’s name for shared log entries, and the embedding vectors
Session extracts <workspace>/.prima-memory/extracts/<project-id>/ Markdown summaries of substantial sessions, including the full text of each session’s last ten exchanges
Embedding model cache node_modules/@xenova/transformers/.cache/ inside the folder where PRIMA Memory is installed The downloaded model, tokenizer and configuration files
Startup and error log Standard error, which Claude Code may keep in its MCP logs Diagnostic lines described below

The index database and the extracts hold the same text as your conversations, so treat the .prima-memory/ folder with the same care as the conversations themselves. The AI Business OS installer adds .prima-memory/ to the workspace .gitignore, which keeps the folder out of git commits. A cloud-sync service such as OneDrive or Google Drive does not read .gitignore, so if your workspace sits in a synced folder the .prima-memory/ folder syncs with it.

At startup PRIMA Memory writes lines beginning [prima-memory] to standard error. They include the folder the server started in, the paths it resolved for each source and for the index, the number of files it found, and the coverage of the index. They also list the names of any environment variables that begin with CLAUDE_ or PRIMA_. The log never includes the values of those variables, because some of them hold access tokens.

Error lines can name a session ID, the path of a conversation file and the length of a message. The startup lines contain no message text.

The PRIMA Memory code makes no network requests of its own. The one network access comes from @xenova/transformers, the library that runs the embedding model, when it downloads the model.

  • What it downloads: the quantised all-MiniLM-L6-v2 model in ONNX format, with its tokenizer and configuration files, about 23 MB in total.
  • Where from: https://huggingface.co/Xenova/all-MiniLM-L6-v2/resolve/main/
  • When: the first time PRIMA Memory needs to embed text. That is the first semantic or combined search, the first rebuild_index, or a rebuild that resumes when the server starts. The library downloads only when the model is not already in its local model folder or its cache.
  • How often: once, because later runs load the model from the cache folder. If you delete that folder, the library downloads the model again the next time it needs it.
  • What it sends: an ordinary request for each model file, with the user agent transformers.js/2.17.2; is_ci/false;. Like any download, the request reaches Hugging Face from your internet address.
  • Access tokens: if HF_TOKEN or HF_ACCESS_TOKEN is set in the server’s environment, the library sends that value to Hugging Face as an access token with the download. PRIMA Memory itself needs neither variable.

The download carries no conversation text, no search query, no file name and no account detail. PRIMA Memory computes embeddings on your computer with a WebAssembly runtime that loads from the installed package. A keyword-only search (mode: "keyword") does not load the model at all. PRIMA Memory needs no API key and no account.

In Claude Code mode each workspace keeps its own index inside its own .prima-memory/ folder, and reads only its own Claude Code conversations. Two workspaces on one computer never share an index and never see each other’s Claude Code conversations. The exceptions are the VS Code Copilot Chat transcripts and the Codex sessions with no recorded folder described above.

To delete everything PRIMA Memory has stored for a workspace, follow these steps.

  1. Close Claude Code in that workspace so the server stops and releases the database.
  2. Delete the .prima-memory/ folder at the root of the workspace, using Finder or your file manager.
  3. Start Claude Code again in the workspace when you want to use PRIMA Memory.

On the next start PRIMA Memory creates an empty index. It fills the index again as you search, or all at once if you run rebuild_index.

Removing Deleted Conversations From the Index

Section titled “Removing Deleted Conversations From the Index”

When you delete a Claude Code conversation file, its copied text stays in index.db, because PRIMA Memory only adds to the index as you search. Run rebuild_index to clear the index and embed only the conversation files that still exist. A rebuild does not touch the extracts, so delete any extract files you no longer want from the .prima-memory/extracts/ folder yourself.

Delete the .cache folder inside node_modules/@xenova/transformers/ in the PRIMA Memory install folder. The library downloads the model again the next time PRIMA Memory needs it.