Project Hub - Privacy and Security
Which data Project Hub stores locally, what the plugin does externally, which protection rules apply to file attachments and what to consider with team use or sharing.
Project Hub - Privacy and Security
Which data is stored
Project Hub stores everything locally on your machine (or wherever you point db_path and docs_root):
| Data | Location |
|---|---|
| Projects, contacts (name, role, email, phone, company, notes), notes, active project selection | SQLite database db_path |
| Markdown copies of notes and file attachments | docs_root |
| Knowledge documents, custom project types, reports, exports, configuration | ~/.project-hub/ |
The data is stored unencrypted in normal files. The access rights of your user account and file system apply. Contacts and notes contain personal data of third parties, and you are responsible for processing it lawfully.
What goes outside
- The MCP server itself opens no network connections and sends no telemetry.
/project-hub:setupdownloads the Python packages once via pip.- Converting attachments to Markdown runs locally.
- An HTML report loads the Chart.js library from
cdn.jsdelivr.netwhen opened in the browser. Browser and CDN exchange the usual connection data, project content does not travel over this connection. - Content that a skill reads (contacts, notes, knowledge documents, attached texts) becomes part of your conversation with Claude and is therefore transmitted to the Claude service. This applies to any use of Claude Code, not only to this plugin.
Protection rules for attachments
- Only files below your home directory are copied.
- Paths with hidden folders or files (for example
~/.ssh/or~/.aws/) are rejected so credentials do not end up in a project folder by accident. - Directories and special files are not copied.
Path validation for knowledge documents
The knowledge document tools validate only the topic (topic): it must not lead out of the project type's folder. The project type (project_type), by contrast, is appended unvalidated as a folder name to the knowledge directory, and the folder is created on every call, including read-only calls. A project type containing path separators or .. can therefore point to directories outside the knowledge directory. In normal operation the type comes from your projects or the type list. Do not pass on unchecked type names from third-party sources, such as imported projects.
Team use and sharing
- A shared database has no user management and no per-project permissions. Anyone with access to the file sees and changes all projects.
- A JSON export contains all contacts and notes of the project in plain text. Check what it contains before passing it on.
- Deleting a project (
tool_delete_project, oroverwriteon import) removes data and the docs folder without a recycle bin.
Security reports
Do not report vulnerabilities publicly. Use the private vulnerability reporting of the GitHub repository markus-michalski/project-hub.