8 мин · Декабрь 2024 · Борис, MLOps Engineer

Маскирование 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-проектами.