Головне
- Поєднуйте правила (ідентифікатори, телефони, IBAN) із моделлю NER для імен і місць.
- Видаляйте персональні дані під час завантаження та ще раз перед інференсом.
- Вимірюйте повноту на власних даних, а не на тестовому наборі.
- Журналюйте, що було видалено, ніколи не оригінальні значення, і пам'ятайте, що дані з видаленою інформацією все ще можуть бути персональними.
Видалення зменшує ризик, але не є автоматичною анонімізацією
Поєднуйте правила форматів для ідентифікаторів із розпізнаванням іменованих сутностей для імен і контексту. Маскуйте непотрібні персональні дані до індексування й викликів моделі, зокрема в запитах користувачів. Перевіряйте на власних документах і транскриптах. GDPR діє й надалі, якщо людину можна визначити за рештою тексту або окремою таблицею відповідностей.
Техніки
| Підхід | Добре для | Пропускає |
|---|---|---|
| Регулярні вирази / правила | Ідентифікатори, телефони, електронні адреси, IBAN | Імена, контекст у вільному тексті |
| Правила з перевіркою | IBAN, перевірені за контрольною сумою, DNI та NIE, перевірені за контрольною літерою | Усе без фіксованого формату |
| Модель NER | Імена, місця, організації | Рідкісні формати, коди предметної галузі |
| Пошук за словником | Відомі імена, відділи, коди продуктів і клінік | Усе, чого немає в списку |
| Гібрид | Обидва | Потребує налаштування для галузі |
Як замінювати знайдене
| Стратегія | Приклад | Коли використовувати |
|---|---|---|
| Проста маска | [REDACTED] | Значення не потрібне для завдання |
| Типізований заповнювач | [PERSON_1], [IBAN] | Моделі потрібно знати, що саме там було |
| Узгоджений токен | Та сама людина в документі завжди [PERSON_1] | Модель має стежити, хто що зробив |
| Узагальнення | Дата народження стає роком, поштовий індекс: регіоном | Деталь корисна, а точне значення: ні |
| Синтетична заміна | Реалістичне вигадане ім'я | Текст має читатися природно, але стережіться сплутати вигадані імена зі справжніми людьми |
Де має бути видалення даних
Видаляйте персональні дані один раз, коли дані потрапляють у систему, і ще раз безпосередньо перед будь-яким викликом моделі. Другий прохід ловить усе, що користувач вписав просто в промпт.
- Під час завантаження, до розбиття документів, створення ембедінгів і збереження.
- Перед кожним викликом моделі, як у промпті, так і в знайдених уривках.
- У журналах і трасах, щоб моніторинг не став другою копією сирих даних.
- У виводах, де модель може повторити те, чого не повинна.
Чому конвеєри мовлення складніші
У мовленні ідентифікатори вимовляються вголос. Телефон приходить як низка слів-цифр, ідентифікатор читають по літерах, а ім'я може бути неправильно розпізнане ще до того, як його побачить будь-яке правило. Розумний порядок: спершу транскрибувати, видалити персональні дані з тексту й лише потім передати його мовній моделі. Перевіряйте видалення на транскриптах, а не на набраному тексті, бо помилки різні.
Як виміряти, чи це працює
- Зберіть розмічений зразок власних документів чи транскриптів на всіх мовах, з якими ви працюєте.
- Позначте кожну персональну деталь, яку людина захотіла б прибрати.
- Запустіть видалення й порівняйте за сутностями.
- Спершу відстежуйте повноту, бо пропущене ім'я: це витік, а потім точність, бо надмірне видалення руйнує зміст.
- Повторюйте тест щоразу, коли змінюєте модель, правило чи мову.
- Щотижня вибірково перевіряйте реальні виводи в продакшені й додавайте знайдене до тестового набору.
Журналюйте, що було видалено, як-от тип сутності й позицію, але ніколи не оригінальні значення. Журнал видалення, повний оригінальних імен, нівелює власну мету.
Типові збої
| Збій | Причина | Виправлення |
|---|---|---|
| Рідкісне чи іноземне ім'я прослизає | NER навчено переважно на поширених іменах | Додати словник відомих людей і перевіряти для кожної мови |
| Назву ліків замінено, ніби це людина | Надто завзятий NER | Додати список винятків галузі й переглядати хибні спрацювання |
| Ідентифікатор, розірваний на два рядки, залишається | Правила застосовуються рядок за рядком | Нормалізувати пробіли перед зіставленням |
| Персональні дані в назвах файлів, метаданих чи URL | Очищено лише основний текст | Очищати метадані й санітизувати назви під час завантаження |
| Сирий текст у журналах | Журналювання відбувається до видалення даних | Перенести видалення перед журналюванням |
Розкажіть про документи, мови та ідентифікатори у вашому процесі. Спроєктуємо й перевіримо маскування до передавання даних моделі чи в журнали.
Обговорити маскування данихFAQ
Чи можна скасувати видалення даних?
Лише якщо ви зберігаєте відповідність. Зберігайте її окремо з суворішим доступом або не зберігайте взагалі.
Чи є дані з видаленою інформацією анонімними?
Не автоматично. Якщо решту тексту все ще можна пов'язати з особою, це залишаються персональні дані за GDPR, тож зберігайте решту запобіжників.
Чи потрібне видалення, якщо модель розміщена в ЄС?
Так, у більшості регульованої роботи. Розміщення в ЄС вирішує, де обробляються дані. Видалення обмежує те, що бачать модель, її журнали й оператор, а це зменшує шкоду від будь-якої помилки.
Джерела
- Регламент (ЄС) 2016/679 (GDPR), стаття 4(1) і (5) та преамбула 26
- Європейська рада із захисту даних, Настанови 01/2025 щодо псевдонімізації
- OWASP Top 10 для застосунків із LLM, розкриття чутливої інформації

Про автора
Erik Salo Akimov · Співзасновник · Інженерія
Erik очолює інженерію в ESADEX. Він проєктує платформи, інфраструктуру та засоби безпеки, що стоять за системами клієнтів.