Мощный инструмент для автоматического обезличивания персональных данных (ПД) в соответствии с 152-ФЗ. Работает локально и в Docker. Идеально для интеграции с n8n, Zapier и LLM-агентами.
🇬🇧 English Description (Click to expand)
This service automatically detects and masks sensitive personal data in text, compliant with Russian Law 152-FZ. It uses specific regex patterns for Russian documents (Passports, SNILS, INN) and ML models (Spacy) for Named Entity Recognition.
Key Features:
- 25+ Entity Types: Russian Passports, Driver Licenses, Bank Cards, Names, Addresses, etc.
- Dual Mode: Works as an MCP Server (Model Context Protocol) for LLM agents or as a standalone HTTP API (FastAPI) for webhooks.
- Privacy First: Can be deployed on your own VPS/Hardware. No data leaves your perimeter.
- Docker Ready: Simple deployment via
docker-compose.
graph LR
User[User / External App] -->|HTTPS / JSON| Nginx[Proxy / Gateway]
Nginx -->|Port 8005| Docker[Docker Container]
subgraph "🔐 Secure Container"
Docker --> FastAPI[API Server]
FastAPI --> Presidio[Microsoft Presidio]
Presidio --> Spacy[Spacy Model ru_core_news_lg]
Presidio --> Regex[Custom Regex Rules]
end
Regex -->|Detect| PII[Sensitive Data]
Spacy -->|Detect| PII
PII -->|Anonymize| Safe[<PERSON>, <PASSPORT_RF>]
Safe -->|Response| User
Сервис распознает и заменяет более 25 категорий данных:
| Категория | Примеры | Замена (Placeholder) |
|---|---|---|
| 🗳 Государственные документы | Паспорт РФ, Загран, СНИЛС, ИНН, ОМС, Права | <PASSPORT_RF>, <SNILS>, <INN> |
| 👤 Личность и Контакты | ФИО, Телефоны, Email, Telegram ID | <PERSON>, <PHONE>, <EMAIL> |
| 💳 Финансы | Номера карт, IBAN, Крипто-кошельки | <BANK_CARD>, <BANK_ACCOUNT>, <WALLET> |
| 💻 Цифровой след | IP адреса, MAC, IMEI | <IP>, <MAC>, <IMEI> |
| 📍 Гео и Время | Адреса, Координаты (GPS), Даты | <LOC>, <GEO>, <DATE> |
Рекомендуемый способ для продакшна и интеграций (n8n, сайты).
git clone https://github.com/Pioneer113/mcp-152fz-anonymizer.git
cd mcp-152fz-anonymizerСоздайте файл с API ключами (обязательно для защиты):
cp api_keys.example.json api_keys.json
# Отредактируйте api_keys.json, вставив свой надежный ключdocker-compose up --build -dСервер запустится на порту 8005 (проверьте настройки Firewall!).
curl -X POST "http://localhost:8005/anonymize" \
-H "Content-Type: application/json" \
-H "X-API-Key: ВАШ_КЛЮЧ" \
-d '{ "text": "Меня зовут Иван, паспорт 4500 123456" }'Ответ:
{
"anonymized_text": "Меня зовут <PERSON>, паспорт <PASSPORT_RF>"
}Используйте этот режим для подключения к Claude Desktop, Cursor или разработки новых правил.
- Установка зависимостей:
./install.sh
- Активация окружения:
source venv/bin/activate - Запуск MCP сервера:
mcp run main.py
- Изоляция: Работает в Docker от непривилегированного пользователя (
uid:1000). - ReadOnly: Файловая система контейнера защищена от записи.
- Auth: Доступ к API только по ключам (
X-API-Key). - No Logs: Сервис не сохраняет обрабатываемые данные (stateless).
Вклад в развитие проекта приветствуется! Пожалуйста, ознакомьтесь с CONTRIBUTING.md перед созданием Pull Request.
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.