Data Maskit

Data Maskit 0.12.1

Local privacy masking and real-time restoration gateway for LLMs.

  • By maskit
  • Open Source
  • Updated Oct 26, 2026
Download for Windows

About Data Maskit

Data Maskit is a local privacy gateway for large language model tools. It masks sensitive data in outgoing requests as structured placeholders before they leave your machine and restores them in real time as model responses stream back. It works with any tool that accepts a custom Base URL, such as Cursor, Claude Code, and Codex. All processing happens locally with zero telemetry.

💡 Why Maskit?
When using Cursor, Claude Code, Codex, Pi, OpenCode, ChatGPT, or any AI coding assistant, sensitive information can easily be transmitted to external LLM providers:
- 🔑 Credentials & Secrets: sk-proj-..., ghp_..., Cloud AccessKeys, JWT Tokens, private keys;
- 🌐 Internal Infrastructure: DB connection strings (mysql://root:[email protected]:3306/db), private IP addresses (10.x, 172.16.x, 192.168.x);
- 👤 Business Privacy (PII): Phone numbers, ID numbers, real names, credit cards, proprietary internal project names.
Maskit's Mission: Act as a transparent local privacy gateway between your developer tools and external AI providers — mask sensitive tokens before requests leave your machine, and restore them in real-time typewriter stream as answers arrive!

✨ Highlights & Feature Overview
🛡️ 1. Deep Masking with Multi-turn Consistency
- 19 Built-in Scanner Rules: API Keys/Tokens, PEM keys, DB connection strings, phone numbers, ID cards, emails, credit cards, private IPs;
- Custom Wordlists & Regex: Categorized custom dictionary for names, codenames, and proprietary business terms; full regex support;
- Sliding-window Placeholder Reuse: Placeholders remain consistent across long conversations. "Alice" is assigned the exact same token in turn 1 and turn 20, preserving model reasoning consistency.
⚡ 2. Millisecond SSE Stream Takeover (Native Typewriter Flow)
- Intercepts text/event-stream chunk by chunk;
- Automatically reassembles split tokens across chunk boundaries, maintaining native typewriter responsiveness without lag.
🔌 3. No Root CA Installation + Native Fallback Passthrough (Never Breaks Your API)
- Multi-port Reverse Proxy: Dedicated local ports per model channel (e.g. 18701 for OpenAI, 18703 for Anthropic). Change base_url to local port without installing untrusted self-signed root CAs;
- Fallback Passthrough Guarantee: If the proxy is stopped or closed, ports automatically fallback to raw transparent passthrough. Your coding tools will never experience unexpected connection dropouts!
📊 4. Real-time Logs, Security Audit & Cost Tracking
- Inspect full request/response diffs with one-click highlight mode;
- Detect prompt leaks, model-swapping, and destructive commands;
- Live token usage & model pricing cost estimation.
🔒 5. 100% Local Execution, Zero Telemetry
- All masking and unmasking happen inside your local process. No analytics, tracking SDKs, or cloud telemetry.

What's new in 0.12.1

更新摘要 / Summary
- 修复更新到 0.12.0 后日志页几乎每条请求都标「检测不完整」的问题,告警恢复正常。
- 修复部分请求会整条失败、客户端一直重试失败的问题,涉及工具定义、结构化输出与出口复检。
- 网关不再因为「检测到某个值可能没遮住」就拦截请求:现在只在日志里提示,请求照常转发,不会让微信机器人、编辑器助手这类服务整条不可用。
- Fixed nearly every request showing "incomplete scan" after updating to 0.12.0.
- Fixed requests failing outright and the client retrying forever.
- The gateway no longer blocks requests over a possibly unmasked value: it logs a note and forwards them, so chat bots and editor assistants stay online.
修复
- 「检测不完整」告警不再被长对话误触发:中文姓名补漏只扫前 32KB 是有界设计,此前它把整条请求判成降级,于是长对话(每轮重发整段历史)几乎每条都标黄;现在它仍可见,但不再算作检测未完成。
- 工具定义里 type 写成数组(["string","null"])或对象时不再整条报错:此前请求侧会直接失败(503),响应侧会让整段流式还原降级。
- 上游返回的 choices 不是数组时不再中断还原:此前这类畸形响应会让整段回复以未还原形态透传。
- The "incomplete scan" badge is no longer triggered by long conversations: the 32KB cap on Chinese-name detection is intentional, but it used to mark the whole request as degraded, so long conversations (which resend full history every turn) were almost always flagged.
- Tool definitions whose type is an array (["string","null"]) or an object no longer break the request: previously the request failed outright, and responses fell back to passing text through unmasked.
- Responses whose choices is not an array no longer interrupt restoration.
- 出口复检不再把「本来就该放过的写法」当成泄漏:同一个值在别处以更长数字串、带字母边界、结尾多一个点的形式出现时,规则本就主动放过它,此前会被判成泄漏并让整条请求失败(客户端重试也一样失败)。现在复检与扫描规则同口径,真泄漏仍然拦截。
- 出口复检不再被占位符「拼接」骗过:当对话正文里出现「部分被遮」的示例时,此前把占位符删掉会让两侧文字拼回原文,误判成泄漏;现在占位符按分隔符处理,不会拼出原文。
- The egress recheck no longer treats "forms the rules deliberately skip" as leaks: when the same value appears elsewhere as part of a longer digit run, with letter boundaries, or followed by a trailing dot, the rules intentionally skip it — this used to be flagged as a leak and fail the whole request (client retries failed too). The recheck now uses the same criteria as the scanner, while real leaks are still blocked.
- The egress recheck is no longer fooled by placeholder "splicing": when the conversation text contains a "partially masked" example, deleting the placeholder used to glue the surrounding text back into the original value and misreport a leak. Placeholders are now treated as separators, so no such value can be reconstructed.
- 出口复检默认改为「只记录、不拦截」:命中时日志里留下原因与残留明细,请求照常上行。阻断会让整条业务链路不可用,而漏掉的值可以事后从日志里补规则;需要旧行为的用户可显式开启拦截开关。
- 修复部分地址在含全角字符的文本里被误判为需要打码、而在纯英文文本里又不需要,导致同一条请求被反复拦截的问题。 …

Full release notes »

Technical details

Publishermaskit
Version0.12.1
Release date2026-10-26
LicenseAGPL-3.0
Installer typenullsoft
Architecturex64
Package IDxiaYuTian11.DataMaskit

Install Data Maskit from the command line

Install with Windows Package Manager
winget install --id=xiaYuTian11.DataMaskit -e
Update to the latest version
winget upgrade --id=xiaYuTian11.DataMaskit -e
Uninstall
winget uninstall --id=xiaYuTian11.DataMaskit -e
Silent install with the offline installer
"Maskit_0.12.1_x64-setup.exe" /S

aigatewaylarge-language-modelllmmaskingprivacy

Data Maskit version history

  • 0.12.0
  • 0.11.4
  • 0.11.3
  • 0.11.2
  • 0.11.1
  • 0.11.0
  • 0.10.1
  • 0.10.0
  • 0.2.7

Frequently asked questions

Is Data Maskit free?

Yes. Data Maskit is free and open-source software released under the AGPL-3.0 license.

What is the latest version of Data Maskit?

The latest version is 0.12.1, released on Oct 26, 2026.

Is it safe to download Data Maskit?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with a327aff1dd91437ac79bee712df9b8053fc5fc7b9181d8e6064d0222a4836fe5.

Which Windows versions does Data Maskit support?

Data Maskit runs on Windows and is available for 64-bit (x64) systems.

How do I install Data Maskit silently?

Run the offline installer with "Maskit_0.12.1_x64-setup.exe" /S, or install it with Windows Package Manager: winget install --id=xiaYuTian11.DataMaskit -e --silent.

How do I uninstall Data Maskit?

Open Settings › Apps › Installed apps, find Data Maskit and select Uninstall. From the command line, run winget uninstall --id=xiaYuTian11.DataMaskit -e.