📡 MCP Radar

kpshinnik/docs_masked

Локальное обезличивание документов перед отправкой в LLM и обратная подстановка после ответа. Скилл, MCP-сервер и CLI.

11 stars
5 forks
Python
momentum ▲ 32.0
created 2026-08-18
on radar since 2026-08-19
star trend 6 → 11 since 2026-08-19
anonymizationclaudedocxgdprllmmcpmcp-serverpdfpiiprivacypythonredaction
View on GitHub ↗Homepage ↗

About docs_masked

Локальное обезличивание документов перед отправкой в языковую модель — и обратная подстановка после ответа.

Документ никогда не покидает машину в исходном виде. Персональные данные заменяются устойчивыми тегами (PERSON1, PHONE2, ADDRESS1), в модель уходит только текст с тегами, а полученный ответ восстанавливается локально по сейфу соответствий.

Работает как скилл для Claude Code, как MCP-сервер для любого другого агента и как обычная утилита командной строки.

1. Маска. Документ разбирается на текстовые фрагменты — абзацы, ячейки, узлы разметки. В каждом находятся персональные данные, каждое значение получает устойчивый тег. Один и тот же человек получает один и тот же тег по всему документу, включая падежные варианты и инициалы: «Иванов Иван Иванович», «Иванову» и «Иванов И.И.» — это один PERSON1.

2. Контроль утечки. Замаскированный текст повторно прогоняется через все детекторы плюс параноидальный проход: любой @, любая цепочка из семи и более цифр, любой телефоноподобный набор. Если что-то осталось — отправка блокируется исключением, а не предупреждением в логе.

3. Отправка. Наружу уходит только текст с тегами. Единственная точка выхода в сеть — функция llm.send(), и она обязана вызвать проверку до запроса. Каждая отправка пишется в журнал ~/.piishield/egress.jsonl: время, провайдер, модель, размер, sha256, статус проверки. Содержимое не пишется.

4. Обратная подстановка. Ответ модели проходит через сейф: теги заменяются на оригиналы. Для ФИО подставляется восстановленный именительный падеж — если в документе человек упомянут только как «Кузнецову Ивану Петровичу»,

From the project README.

Maintaining this server?

Add the radar badge to your README — it shows your project was picked up by MCP Radar and links to this page:

[![On MCP Radar](https://mcp.liqiwa.com/badge.svg)](https://mcp.liqiwa.com/s/kpshinnik--docs_masked.html)

Related MCP servers

iflytek/dolphin-mcp-pilot

Production-ready MCP server that lets AI agents build, schedule, run and recover Apache DolphinScheduler data pipelines - 53+ tools, beyond read-only.

⭐ 7Python
KernelLord/pickysteve

Skill router and context picker for Claude Code, Cursor, and Aider. Auto-picks the right skill for every prompt, with prompt-injection filtering for MCP.

⭐ 6Python
AlexanderBoger/SaveContext

Git LFS for your LLM context — 20x Context Savings — an MCP server that keeps big documents out of the model and returns byte-exact quotes for a fraction of the tokens.

⭐ 5Python
russeell/jobfindsme

🔥 AI 求职雷达|一句话同时搜 BOSS直聘 + 猎聘,找到匹配你简历的岗位。

⭐ 5Python
nometalalchemist/KitchenSink4Word

Word (.docx) MCP server with 189 tools: live editing, tables, citations, tracked changes, TOC, document assembly, charts, and more. Everything plus the kitchen sink.

⭐ 4Python
MuhittinYilmazer/akana

Self-hosted, local-first AI assistant server: swappable LLM providers, review-gated memory, an encrypted vault, and wake-word voice. No accounts, no telemetry.

⭐ 3Python

📬 Get the weekly radar in your inbox

The top new MCP servers of the week, every Monday. No spam, unsubscribe anytime.