.projectstore / privacy
No server. No account. No telemetry.
ProjectStore runs on your machine, inside Claude Code or Codex. It collects nothing about you, your project or your vault, it reads no credential from your environment, and it has no server to send anything to. This page is the short form of the README section What ProjectStore runs, writes, sends and fetches.
What is sent, where and when
The npm registry, registry.npmjs.org or the registry your npm is set to. Setup, install and upgrade ask it for the newest release of ProjectStore, with no credentials, when they run from npm or from a git checkout; never from the copy Claude Code or Codex loads, and never in a dry run. The answer is kept on your machine for 24 hours. Setting PROJECTSTORE_NO_UPDATE_CHECK=1 turns the request off.
The same registry, for Codex. When setup, install or upgrade sets up Codex, npm fetches the Codex plugin's package from the registry your npm is set to, with npm's own settings and with no install script run.
ProjectStore's own code sends nothing else: the hooks, the MCP server, the band above the prompt and the status line open no connection, and every request above is made by a command you run. Two programs it runs may connect on their own. When the configure menu reads Codex's model list, Codex refreshes its catalog with your Codex login. The status line command you had before runs as you set it.
What stays on your machine
Your vault is plain Markdown in a folder you chose. Each artifact is written after you approve it. ProjectStore reads your git user.name to propose the default author; the binding keeps it, and each new artifact names it as its author, so it goes wherever the vault goes. The vault also keeps one small file per session, ignored by git, with its id, start time, project path, host name, process id and the vault files it read or edited last, with the tool and the time. A session's file is deleted at the next session start once it has been inactive for 24 hours.
Your project gets a .projectstore/ folder once it is bound, with the binding, the agents' models and each session's state, plus the agents block in AGENTS.md and CLAUDE.md. Its .claude/settings.local.json gets the status line when you turn it on, and this checkout's plugin registration when setup or install registers the npm copy. A project that is not bound gets nothing.
Your home directory holds ProjectStore's cache, ~/.cache/projectstore/, with the registry's answer, the model lists, which first-run welcomes you have seen, and the Codex package while a run installs it. Setup and install from npm also keep a projectstore/ folder under ~/.claude or ~/.codex, with the marketplace the agent installs ProjectStore from.
None of this is sent anywhere by ProjectStore. What your coding agent reads and sends to its model provider is up to the agent, under its own terms and permissions.
What Anthropic's directory reports
For a copy added from Anthropic's plugin directory, Claude, not ProjectStore, collects usage figures and shows the maintainer totals across accounts, computed once a day: installs, active accounts and retention; the share of accounts on each version; how often each skill, command, agent, hook and MCP server is used; load errors, and the MCP server's tool calls, errors and latency; and the listing's views and install clicks. Anthropic describes them in Track published plugin usage. A copy installed with npx, npm or the git marketplace is not counted.
This site
projectstore.dev is static pages served by GitHub Pages. It has no analytics and loads nothing from another site; its fonts are its own files. It keeps two choices in your browser, and nowhere else: the language you pick, in a cookie named ps_lang for a year, and the background tone, under ps_tone in local storage. GitHub, which serves the pages, keeps its own server logs under the GitHub General Privacy Statement.
Questions
Write to Evgenii Konev, SmartAndPoint, at ekonev@smartandpoint.com, or open an issue at github.com/SmartAndPoint/ProjectStore/issues. This page changes in the repository, with its history in git.