Инженерия

Удаление персональных данных в конвейерах ИИ: техники, компромиссы и где это размещать

В процессах ИИ сочетайте правила и распознавание сущностей, чтобы маскировать ненужные персональные данные до индексирования и вызовов модели, и проверяйте пропуски.

Erik Salo AkimovErik Salo Akimov Сооснователь · ИнженерияОпубликовано · Обновлено · 5 мин чтения

Главное

  • Сочетайте правила (идентификаторы, телефоны, IBAN) с моделью NER для имён и мест.
  • Удаляйте персональные данные при загрузке и ещё раз перед инференсом.
  • Измеряйте полноту на собственных данных, а не на тестовом наборе.
  • Журналируйте, что было удалено, никогда не оригинальные значения, и помните, что данные с удалённой информацией всё ещё могут быть персональными.

Удаление снижает риск, но не является автоматической анонимизацией

Сочетайте правила форматов для идентификаторов с распознаванием именованных сущностей для имён и контекста. Маскируйте ненужные персональные данные до индексирования и вызовов модели, включая запросы пользователей. Проверяйте на своих документах и транскриптах. GDPR действует и дальше, если человека можно определить по остальному тексту или отдельной таблице соответствий.

Техники

ПодходХорошо дляПропускает
Регулярные выражения / правилаИдентификаторы, телефоны, электронные адреса, IBANИмена, контекст в свободном тексте
Правила с проверкойIBAN, проверенные по контрольной сумме, DNI и NIE, проверенные по контрольной буквеВсё без фиксированного формата
Модель NERИмена, места, организацииРедкие форматы, коды предметной области
Поиск по словарюИзвестные имена, отделы, коды продуктов и клиникВсё, чего нет в списке
ГибридОбаТребует настройки для области

Как заменять найденное

СтратегияПримерКогда использовать
Простая маска[REDACTED]Значение не нужно для задачи
Типизированный заполнитель[PERSON_1], [IBAN]Модели нужно знать, что именно там было
Согласованный токенОдин и тот же человек в документе всегда [PERSON_1]Модель должна следить, кто что сделал
ОбобщениеДата рождения становится годом, почтовый индекс: региономДеталь полезна, а точное значение: нет
Синтетическая заменаРеалистичное вымышленное имяТекст должен читаться естественно, но остерегайтесь принять вымышленные имена за настоящих людей

Где должно быть удаление данных

Удаляйте персональные данные один раз, когда данные попадают в систему, и ещё раз непосредственно перед любым вызовом модели. Второй проход ловит всё, что пользователь вписал прямо в промпт.

  • При загрузке, до разбиения документов, создания эмбеддингов и сохранения.
  • Перед каждым вызовом модели, как в промпте, так и в найденных фрагментах.
  • В журналах и трассах, чтобы мониторинг не стал второй копией сырых данных.
  • В выводах, где модель может повторить то, чего не должна.

Почему конвейеры речи сложнее

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

Как измерить, работает ли это

  1. Соберите размеченную выборку собственных документов или транскриптов на всех языках, с которыми вы работаете.
  2. Отметьте каждую персональную деталь, которую человек захотел бы убрать.
  3. Запустите удаление и сравните по сущностям.
  4. Сначала отслеживайте полноту, потому что пропущенное имя: это утечка, а затем точность, потому что чрезмерное удаление разрушает смысл.
  5. Повторяйте тест всякий раз, когда меняете модель, правило или язык.
  6. Каждую неделю выборочно проверяйте реальные выводы в продакшене и добавляйте найденное в тестовый набор.

Журналируйте, что было удалено, например тип сущности и позицию, но никогда не оригинальные значения. Журнал удаления, полный оригинальных имён, сводит на нет собственную цель.

Типичные сбои

СбойПричинаИсправление
Редкое или иностранное имя проскальзываетNER обучен в основном на распространённых именахДобавить словарь известных людей и проверять для каждого языка
Название лекарства заменено, будто это человекСлишком рьяный NERДобавить список исключений области и просматривать ложные срабатывания
Идентификатор, разорванный на две строки, остаётсяПравила применяются строка за строкойНормализовать пробелы перед сопоставлением
Персональные данные в названиях файлов, метаданных или URLОчищен только основной текстОчищать метаданные и санитизировать названия при загрузке
Сырой текст в журналахЖурналирование происходит до удаления данныхПеренести удаление перед журналированием

Расскажите о документах, языках и идентификаторах в вашем процессе. Спроектируем и проверим маскирование до передачи данных модели или в журналы.

Обсудить маскирование данных

FAQ

Можно ли отменить удаление данных?

Только если вы храните соответствие. Храните его отдельно со строже ограниченным доступом или не храните вовсе.

Являются ли данные с удалённой информацией анонимными?

Не автоматически. Если оставшийся текст всё ещё можно связать с лицом, это остаются персональные данные по GDPR, поэтому сохраняйте остальные предохранители.

Нужно ли удаление, если модель размещена в ЕС?

Да, в большинстве регулируемой работы. Размещение в ЕС решает, где обрабатываются данные. Удаление ограничивает то, что видят модель, её журналы и оператор, а это уменьшает вред от любой ошибки.

Источники

  1. Регламент (ЕС) 2016/679 (GDPR), статья 4(1) и (5) и преамбула 26
  2. Европейский совет по защите данных, Руководство 01/2025 по псевдонимизации
  3. OWASP Top 10 для приложений с LLM, раскрытие чувствительной информации
Erik Salo Akimov

Об авторе

Erik Salo Akimov · Сооснователь · Инженерия

Erik возглавляет инженерию в ESADEX. Он проектирует платформы, инфраструктуру и средства безопасности, стоящие за системами клиентов.

Читайте дальше

Похожие статьи

Все статьи
LLM и RAG6 мин чтения

RAG и GDPR: права доступа, хостинг и удаление

Для использования RAG с персональными данными по GDPR определите законную цель, фильтруйте поиск по правам доступа, ограничивайте данные для модели и отслеживайте каждую копию.

Artem Synytskyi·
Speech-to-text5 мин чтения

Речь в текст на собственных серверах или в облаке для здравоохранения: практическое сравнение

Выбирайте локальную транскрипцию, когда политика требует собственного контроля и вы способны её поддерживать, или облако ЕС, если проверенный сервис лучше подходит нагрузке.

Artem Synytskyi·
Комплаенс5 мин чтения

DPIA для проектов с ИИ: когда нужна оценка воздействия на защиту данных и что в неё включить

Оценка воздействия на защиту данных нужна до обработки с помощью ИИ, которая, вероятно, создаёт высокий риск для людей с учётом данных, цели, масштаба и последствий.

Artem Synytskyi·

Создайте проект ИИ или ПО с соблюдением требований

Опишите процесс и нормативные требования. Отвечаем в течение четырёх рабочих часов и обычно готовим объём работ и архитектуру примерно за пять дней.