Маскирование PII: чек-лист для финансового сектора
Практический чек-лист для соответствия 152-ФЗ при работе с персональными данными в ML-проектах.
Введение
Финансовые организации работают с огромными объемами персональных данных (ПДн). При разработке ML-моделей — от скоринга до анализа обращений клиентов — необходимо соблюдать требования 152-ФЗ "О персональных данных".
В этой статье — практический чек-лист для обеспечения compliance без блокировки ML-инициатив.
Что считается PII в России
Согласно 152-ФЗ, к персональным данным относятся:
| Категория | Примеры | Риск |
|---|---|---|
| ФИО | Иванов Иван Иванович | Средний |
| Паспортные данные | Серия, номер, кем выдан | Высокий |
| Адрес | Регистрация, фактический | Средний |
| Телефон, email | +7 (999) 123-45-67 | Средний |
| ИНН, СНИЛС | Налоговый номер, страховой | Высокий |
| Банковские данные | Номер карты, счета | Высокий |
| Биометрия | Фото, голос, отпечатки | Высокий |
Стратегии маскирования
1. Замена (Substitution)
Замена реальных значений на сгенерированные, но валидные по формату. Сохраняет структуру данных для тестирования.
# До Иванов Иван Иванович, паспорт 4515 123456 # После Петров Петр Петрович, паспорт 4515 999999
2. Частичное маскирование (Partial Masking)
Скрытие части данных. Стандарт для банковских карт и телефонов.
# До +7 (999) 123-45-67 4276 5500 1234 5678 # После +7 (999) ***-**-67 4276 55** **** 5678
3. Токенизация (Tokenization)
Замена на уникальные токены с возможностью обратного преобразования. Требует защищенного хранилища маппингов.
# До ИНН: 7707083893 # После ИНН: [TOKEN_a7f3d2]
4. Удаление (Deletion)
Полное удаление поля. Используйте, если данные не нужны для ML-модели.
ML-специфичные требования
Обучающие данные
Данные для обучения должны быть анонимизированы или обезличены. Согласно 152-ФЗ, обезличенные данные не считаются персональными.
Логи моделей
Логи запросов к ML-моделям не должны содержать PII. Используйте хеширование ID пользователей.
Модели с памятью
LLM и некоторые эмбеддинг-модели могут "запоминать" тренировочные данные. Проводите аудит на утечку PII через model inversion attacks.
Чек-лист compliance
Юридические требования
Технические меры
ML-специфичные
Инструменты
| Инструмент | Назначение | Особенности |
|---|---|---|
| Presidio (Microsoft) | Обнаружение и маскирование PII | Кастомизируемые recognizers, поддержка русского |
| spaCy + NER | Извлечение сущностей | Обучаемые модели для специфичных доменов |
| Faker | Генерация синтетических данных | Русская локализация, валидные форматы |
| HashiCorp Vault | Токенизация и управление секретами | Enterprise-grade, аудит доступа |
# Пример: маскирование с Presidio from presidio_analyzer import AnalyzerEngine from presidio_anonymizer import AnonymizerEngine analyzer = AnalyzerEngine() anonymizer = AnonymizerEngine() text = "Звонил Иванов И.И., телефон +7 (999) 123-45-67" # Анализ results = analyzer.analyze(text=text, language="ru") # Маскирование anonymized = anonymizer.anonymize(text=text, analyzer_results=results) # Результат: "Звонил [PERSON], телефон [PHONE_NUMBER]"
Ответственность за нарушения
Штрафы по 152-ФЗ для юридических лиц:
| Нарушение | Штраф |
|---|---|
| Обработка без согласия | до 500 000 ₽ |
| Нарушение прав субъекта ПДн | до 75 000 ₽ |
| Несоблюдение требований к защите | до 500 000 ₽ |
| Утечка ПДн (в том числе через ML-модель) | до 500 000 ₽ + судебные иски |
Заключение
Compliance с 152-ФЗ — не препятствие для ML, а требование к качеству архитектуры. Внедрите маскирование на этапе сбора данных, автоматизируйте проверки и документируйте процессы — это сэкономит время при аудитах.
Нужна помощь с внедрением? Свяжитесь с нами — у нас есть опыт работы с финансовыми организациями и compliance-проектами.