📡 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

dontpayfull/AInotate

Annotated screenshots for AI agents: Skitch-style arrows, numbered steps, boxes, labels, solid redaction

⭐ 6Python
tastenkasperle/scrub-vault

Zero-dependency in-memory PII airgap & reversible masking proxy for Cloud LLMs (GDPR Art. 32 compliant MCP server)

⭐ 4Python
RayenMlayeh/jevcrawl

MCP server and CLI that crawls websites for AI agents: finds the answer page 2x more often than Crawl4AI, 10x cheaper per answer than letting Claude crawl.

⭐ 23Python
jiawei686/jev-ultrafast-mcp

Hand a whole browser task off in one call: a decision model drives the page server-side, so a flow costs one call, not a turn per click. Ref-based element tables, code-checked assertions, zero-model m

⭐ 18Python
00200200/usagetrim

Keep the signal. Cut the noise. Local CLI + MCP — fold verbose tool output for Claude Code, Codex, Cursor & Desktop.

⭐ 11Python
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

📬 Get the weekly radar in your inbox

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