Проект: PII Anonymizer API

Система обработки конфиденциальных данных с сохранением структуры текста

Задачи проекта:

Реализованные функции:

🔐 Безопасность данных

  • Автоматическое обнаружение PII (имена, телефоны)
  • Генерация уникальных псевдорандомных токенов
  • Шифрованное хранилище маппинга
  • TTL для автоматической очистки данных

🚀 Производительность

  • Асинхронная обработка запросов
  • Пуллинг Redis-соединений
  • Оптимизация NLP-пайплайна
  • Распределенная обработка

Технологический стек:

Backend

  • Python 3.11 + Quart
  • Redis 7.0 (acloud)
  • Docker + Docker Compose

NLP

  • Natasha (извлечение имен)
  • Phonenumbers (валидация телефонов)
  • Собственные эвристики

Инфраструктура

  • Мониторинг: Grafana
  • Деплой: Docker Compose

Деплой и настройка

# Запуск через Docker Compose version: '3.8' services: redis: image: redis:alpine ports: - "6379:6379" volumes: - redis_data:/data app: build: . ports: - "5000:5000" environment: - REDIS_HOST=redis depends_on: - redis volumes: redis_data:

Примеры работы API

POST /anonymize ➔ { "sanitized": "[NAME_acd41b], тел. [PHONE_92cc5d]", "session_id": "eaf696e9-7723-493f-a78a-deca6e2834e2" } POST /restore ➔ { "restored_text": "Иван, тел. 89161234567" }