Загружаем кейс...

Загрузка навигации...

Корпоративная ИБ · Работа с ПДн

Кейс: Pseudonymizer MVP

Одностраничное веб-приложение в Docker-контейнере для автоматического обезличивания чувствительных данных в документах: гибридная детекция, детерминистичные плейсхолдеры, сессии для обратимого восстановления и отдельный JSON API для интеграций (в т.ч. почтовых воркеров).

Hybrid Regex + spaCy NER, автоопределение языка
5+ Форматов входа (txt, docx, pdf, md, xlsx)
API Сессии, async jobs, мониторинг, email-интеграция

Документы нельзя свободно передавать в LLM и в смежные системы

В корпоративных сценариях в текстах постоянно встречаются ФИО, контакты, ИНН, номера договоров и собственные таксономии (коды площадок, названия юрлиц). Ручная вычистка не масштабируется; простая замена по списку пропускает контекст и ломает согласованность плейсхолдеров внутри одного файла.

ПДн и коммерческая тайна Многоформатные вложения Интеграции без «дырявого» API

Сервис псевдонимизации с предсказуемым поведением

MVP упакован в Docker: веб-интерфейс с drag-and-drop, предпросмотром и выгрузкой, плюс набор REST-эндпоинтов на FastAPI. Детекция строится как пайплайн: регулярные правила для телефонов, e-mail, ИНН и номеров договоров дополняются spaCy-моделями для сущностей типа PERSON; кастомные типы подтягиваются из JSON-словаря и живут в отдельной SQLite-базе с резервным копированием перед записью.

Замена детерминистична: одно и то же значение в рамках документа всегда получает один и тот же плейсхолдер (на базе стабильного хэша), что упрощает ревью и последующее восстановление. При опциональном API-ключе создаётся сессия с маппингом; для крупных файлов срабатывает асинхронная очередь с опросом статуса задания вместо блокирующего ответа.

Укрупнённый поток:

1
Загрузка
Файл в UI или API; проверка размера и лимитов; при большом объёме — постановка в очередь (202 + job id)
2
Детекция
Гибридный детектор с приоритетами типов; для PDF — постраничный режим на крупных файлах
3
Маппинг
Единый маппер значений → плейсхолдеры; статистика по типам сущностей в ответе
4
Выдача
Предпросмотр, скачивание, конвертация формата; при сессии — восстановление исходника по session_id
5
Наблюдаемость
Prometheus-метрики, UI мониторинга, отдельные лимиты для email-интеграции
Python 3.11 FastAPI · Uvicorn spaCy (ru/en) SQLite Docker Compose slowapi

Не только «найти и заменить», но и эксплуатация

В продукте заложены фазы аутентификации для UI и отдельные правила для интеграционных префиксов, rate limiting с ключом по хэшу API-ключа или IP, TTL и очистка сессий, дедлайны и семафоры на тяжёлые задачи, а также страницы настроек словаря и мониторинга с осознанным разделением: что требует ключа, что доступно оператору инстанса только из доверенной сети.

Для сценариев «LLM поверх обезличенного текста» предусмотрен поток чата с подстановкой только плейсхолдеров и отдельная процедура восстановления — чтобы не смешивать сырой PII и внешние модели в одном запросе без явного шага.

Готовый контур для пилота ИБ и интеграторов

Команда получает воспроизводимый артефакт: один репозиторий, понятный compose-сценарий с TLS для локальной проверки, Swagger для контрактов и выделенный API для пакетной обработки почты — без раскрытия внутренних ключей и путей в публичном описании портфолио.

Нужен похожий контур под ваши регламенты?

Могу помочь с архитектурой детекции, политиками хранения маппингов и границами доверия между UI, API и внешними LLM.

Обсудить проект