Сервис псевдонимизации с предсказуемым поведением
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