Our take
- Activity
- 80
- Community
- 24
- Issues
- 77
- Pull requests
- 64
+29 stars in the last 30 days
- Closes issues faster than 81% of the projects we track
- Releases more often than 76% of the projects we track
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
339Forks
50Change since Nov 13, 2026: +1 stars·0 forks
Overview
Maskit sits between AI tools and model services, masking sensitive data locally before requests leave the machine and restoring it in returned responses. Its goal is to let developers use external models without sending recognizable credentials, personal information, or configured business terms as-is.
It supports API clients configured with a custom base URL as well as a browser extension for selected web AI services. Maskit is most relevant when using third-party models with code or documents that may contain sensitive information, and when users can accept an additional local gateway in their request path.
Key Features
- Scans requests for built-in categories such as API keys, bank cards, database connection strings, email addresses, identity numbers, landlines, and mobile numbers.
- Replaces detected values with placeholders and reuses mappings across turns so the model can refer to the same entity consistently.
- Supports custom sensitive terms and regular expressions, with additional rule categories available to enable.
- Can use an optional local ONNX model to identify names, organizations, and addresses in free text.
- Proxies OpenAI- and Anthropic-compatible traffic through configurable local base URLs and restores placeholders in streaming responses.
- Includes a Chrome and Edge extension for selected AI websites, with site-specific coverage and attachment limitations described in the README.
- Provides request event logs, security audit features, and a desktop interface, with Docker deployment also documented.
Use Cases
- Developers using Cursor, Claude Code, Codex, or similar tools can route API traffic through Maskit when prompts may include credentials or internal project details.
- Teams operating a self-hosted gateway can apply local masking before requests are forwarded to an external model provider.
- Users of supported browser-based AI services can use the extension for prompt masking without changing an API base URL.
- Developers handling repeated conversations can use stable placeholder mappings to preserve references to the same sensitive entities across turns.
Getting Started
For a source checkout, install the Python requirements, build the frontend, and start the panel:
git clone https://github.com/xiaYuTian11/maskit.git
cd maskit
pip install -r requirements.txt
cd frontend && npm install && npm run build && cd ..
python engine/panel.py
Then configure an AI client to use a Maskit local base URL. See the README for setup options, Docker and desktop releases, ports, and browser-extension instructions.
Considerations
- Masking runs locally and adds processing to the request path. The README notes that semantic recognition can increase CPU use and is disabled by default.
- Detection depends on configured rules and optional local NER. The project cautions that some safety checks cover only plain-text forms and are not comprehensive protection.
- Browser-extension coverage varies by website. The README states that some sites do not have tested support, and attachments are not masked on every supported site.
- The documented fallback behavior can pass requests through without masking when the engine or extension is unavailable unless blocking is enabled. Review the fail-open settings before relying on it for sensitive data.
- The AGPL-3.0 license has obligations relevant to modified or integrated deployments. Review the license before using Maskit in a closed-source product.
Found this useful?
Share it with someone who would like maskit.