Что такое маскирование данных: block, redact, flag и vault

2026-09-11 · Андрей Цымбалюк · маскированиеПДн

Маскирование — это замена чувствительных данных на безопасные заглушки перед передачей. Есть три стратегии: block, redact, flag. Плюс обратимый vault, который позволяет вернуть значение обратно по ключу. Ниже объясню на пальцах, как это работает и почему обычный регексп тут не вывозит.

Простыми словами

Представьте, что отправляете документ курьером, но перед этим заклеиваете в нём всё лишнее стикерами. Номер паспорта — стикер. Телефон — стикер. Курьер видит только то, что нужно для дела, остальное скрыто.

Маскирование делает то же самое с текстом перед отправкой в нейросеть. Вы пишете в ChatGPT запрос с данными клиента, а маскировщик заменяет эти данные на заглушки ещё до того, как текст уйдёт наружу. Нейросеть получает текст без паспортов и телефонов, вы получаете ответ, который можно использовать.

Главное отличие от ручного «вырезать лишнее»: маскировщик находит данные сам. Вам не надо помнить, что СНИЛС — это 11 цифр, а номер карты проверяется по алгоритму Луна. Программа это уже знает.

Где это нужно? Везде, где текст уходит наружу: в нейросеть, во внешний сервис, в переписку с контрагентом. В Mask Gate есть веб-интерфейс, API и надстройка для Excel и Word. Файлы — txt, csv, docx, xlsx, pdf, плюс распознавание сканов и изображений через OCR.

Три стратегии: block, redact, flag

У Mask Gate три стратегии. Каждая подходит под свой тип данных.

СтратегияЧто делаетДля чего
blockЗапрещает передачу текстаСекреты, ключи, медданные
redactУдаляет значение, оставляет [REMOVED:категория]Паспорт, ИНН, СНИЛС, карты, контакты
flagПомечает, не трогая текстФИО, организации, суммы, IP

block — самая жёсткая. Если в тексте API-ключ, приватный ключ или медицинские данные, текст просто не уйдёт. Передача блокируется, сотрудник видит, что именно мешает.

redact — рабочая лошадка. Паспорт превращается в [REMOVED:паспорт], телефон в [REMOVED:телефон]. Смысл текста сохраняется, данных в нём больше нет. Обратно их не достать, удаление необратимое.

flag — самый мягкий вариант. Ничего не удаляется, просто ставится пометка. Так поступают с ФИО, названиями организаций, суммами, IP-адресами. Их часто можно передавать, но полезно видеть, что они вообще есть.

Логика простая: чем чувствительнее данные, тем жёстче стратегия. Медданные только block. Паспорт и карта — redact. ФИО и суммы — flag.

Вот как категории раскладываются по стратегиям в Mask Gate.

ГруппаКатегорииСтратегия
Секреты и ключиAPI-ключ, приватный ключ, SSH-ключblock
Медицинамедицинские данныеblock
Карты и платёжноеномер карты, CVV, срок действия, счётredact
Документы РФпаспорт, ИНН, СНИЛСredact
Контактытелефон, email, адресredact
Личноедата рожденияredact
Прочеегосномер авто, учётные данные, кодredact
МеткиОГРН, ОГРНИП, БИК, КПП, IP-адрес, суммыflag
Сущности (NER)ФИО, организация, локацияflag

Плюс свои фразы-маркеры, например название секретного проекта, свои regex-правила и список исключений.

Обратимая маскировка и vault

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

Для этого есть обратимая маскировка. Значение уезжает в зашифрованное хранилище — vault, а в тексте остаётся токен вида [VAULT:…]. Нейросеть видит токен вместо телефона, обрабатывает текст, а на выходе вы подставляете реальное значение обратно по ключу.

Vault шифруется алгоритмом AES-256-GCM. В аудит-лог и на диск попадают только токены, а не сами значения. Даже если кто-то получит доступ к хранилищу, без ключа он увидит набор зашифрованных байтов, а не паспорта клиентов.

Обратимость работает и в надстройке для Excel и Word: замаскировали документ, отправили на обработку, вернули значения обратно в файл.

Чего обычный регексп не ловит

Наивное решение — набросать регулярные выражения под паспорт и ИНН. Работает, пока данные написаны «честно», цифра к цифре. Как только человек хочет обойти проверку, регексп сдаётся.

Вот что приходится ловить на практике.

Гомоглифы. Латинская «а» вместо русской «а». Визуально одно и то же, для регекспа разные символы.

Zero-width символы. Невидимые вставки внутри номера. Текст выглядит как обычный паспорт, а по байтам между цифрами мусор.

Разбивка разделителями. Номер карты, набранный через пробелы, дефисы или точки.

Закодированные куски. Base64, percent-encoding, hex, HTML-entity. Данные закодировали, чтобы спрятать, а на той стороне они раскодируются обратно.

Mask Gate решает это на этапе нормализации, самом первом в пайплайне. Сначала текст чистят от обфускации: заменяют гомоглифы, выкидывают невидимые символы, собирают разбитые номера, декодируют закодированные куски и пересканируют их заново.

Дальше идут распознаватели: regex для структурированных форматов, сканер секретов, ключевые слова, пользовательские маркеры. Потом валидаторы, которые проверяют контрольные суммы: ИНН, СНИЛС, номер карты по Луну. Как я говорю: регулярка может соврать, контрольная сумма почти нет.

Затем NER — модель natasha ищет имена, организации, адреса. Она запечена в wheel-файл, при старте ничего не скачивается. Потом повторный скан: значения, написанные словами, и разбитые на несколько сообщений. В конце порог и выбор стратегии.

Весь проход быстрый: одиночное значение обрабатывается примерно за 0,1 мс, типовое сообщение на тысячу знаков за 5 мс. На моих eval-замерах recall 95%, precision 92%. Из ста настоящих паспортов и ИНН ловятся 95, из ста срабатываний 92 по делу, 8 ложная тревога.

Проверьте, как это работает на вашем тексте, бесплатно на maskgate.ru. Вставьте сообщение с паспортом или ИНН и посмотрите, какие категории сработают.

Честно про ограничения: маскирование не спасёт от мотивированного инсайдера, стеганографии и семантического перефраза, когда паспорт пересказывают своими словами. 100% защиты не бывает. Поэтому маскирование — это один слой защиты, а не замена регламентам и здравому смыслу.

Чем отличается от обезличивания

Обезличивание и маскирование часто путают. Разница в обратимости и цели.

Обезличивание делают навсегда. После него без дополнительной информации нельзя понять, чьи это данные [проверить: точное определение обезличивания из ст. 3 152-ФЗ]. Оно нужно для хранения и аналитики: данные перестают быть персональными, и с ними можно работать свободнее.

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

Маскирование временное. Данные либо удаляются на время передачи, либо прячутся в vault с возможностью восстановить. Цель не хранить данные, а безопасно передать их наружу, например в нейросеть.

Если грубо: обезличивание про «забыть навсегда», маскирование про «спрятать на время передачи». Для нейросетей подходит именно маскирование, потому что ответ часто нужен с реальными значениями на выходе.

Частые вопросы

Маскирование и шифрование — это одно и то же? Нет. Шифрование превращает данные в нечитаемый вид, но сами данные остаются в тексте. Маскирование заменяет данные на заглушки или убирает их совсем.

Можно ли восстановить данные после redact? Нет. Redact удаляет необратимо. Если нужно вернуть значение обратно, используйте обратимую маскировку через vault.

Ловит ли маскирование данные в файлах? Да. Mask Gate понимает txt, csv, docx, xlsx, pdf, плюс распознаёт сканы и изображения через OCR.

Что будет, если маскировщик ошибётся? В Mask Gate действует принцип fail-closed: любой сбой внутри анализа — это блок передачи, а не молчаливый пропуск. Лучше лишний раз остановить, чем пропустить паспорт.

Проверьте, что утекает из вашего текста, бесплатно на maskgate.ru. Вставьте рабочий отчёт или письмо и посмотрите, какие категории сработали. Без регистрации.

Проверьте свой текст перед отправкой в нейросеть — бесплатно на maskgate.ru.

Не является юридической консультацией. Проверяйте актуальную редакцию 152-ФЗ.