Приватность

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

Замена имён на «Иванова» не обезличивает текст, а ломает ответ модели. Разбираем категории данных с вердиктом «можно / нельзя», даём процедуру псевдонимизации из четырёх шагов и способ проверить результат.

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

Проблема начинается посередине: нужно попросить облачную модель разобрать реальный договор, переписку с клиентом или медицинскую выписку. Здесь работает не «удалить всё подозрительное», а замена по правилу — иначе вы получите либо утечку, либо бесполезный ответ на кашу из прочерков.

#Что понадобится

  • Понимание того, что вообще уходит провайдеру в одном запросе: не только набранный вами текст, но и системная инструкция и подмешанные фрагменты памяти. Состав разобран в статье про то, что уходит в облако при работе с языковой моделью.
  • Файл соответствий — обычный текстовый файл или заметка, где вы держите пары «настоящее значение → псевдоним». Он остаётся у вас и наружу не уходит никогда.
  • Пять минут на первую настройку. Дальше словарь псевдонимов переиспользуется, и обезличивание занимает секунды.

#Таблица категорий: что можно отправлять

Смотреть надо на правую колонку — она объясняет, почему вердикт именно такой. Категории, где стоит «нельзя», не спасает никакая аккуратность формулировок: их нельзя отправлять в исходном виде, а не «нежелательно».

Категория Вердикт Почему
Пароли, ключи API, токены, коды из СМС Нельзя Это действующие учётные данные. Попав в чужой лог, они работают у того, кто их прочитал
Паспорт, СНИЛС, ИНН, реквизиты карты Нельзя Прямые идентификаторы и платёжные данные; ценность для злоупотребления максимальная, польза для задачи нулевая
Здоровье, взгляды, интимная жизнь Нельзя Специальная категория по ст. 10 152-ФЗ; порог обработки выше обычного
ФИО, телефоны, адреса, email третьих лиц Только псевдонимом Это чужие данные, а не ваши. Согласия на отправку вам никто не давал
Названия компаний, номера договоров Только псевдонимом Косвенно определяют и вас, и контрагента; часто попадают под соглашение о неразглашении
Суммы, даты, сроки без привязки к лицу Обычно можно Сами по себе никого не определяют; вместе с двумя другими деталями — уже определяют
Технический текст, код без секретов Обычно можно Проверьте отдельно: в конфигах регулярно сидят ключи и внутренние домены

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

#Почему «Иванов» не работает

Самая распространённая практика — заменить фамилии на «Иванов», «Петров», компанию на «ООО Ромашка» и считать текст обезличенным. Она ломается сразу по трём причинам.

Замена непоследовательна. В длинном тексте один и тот же человек к третьему абзацу превращается то в Иванова, то обратно в Марию Петровну — глаз замыливается. Достаточно одного пропуска, чтобы вся работа обнулилась: остальные упоминания привязываются к нему по контексту.

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

Замена необратима для вас. Модель вернула разбор с «Ивановым» и «Петровым», а восстановить, кто есть кто, вы уже не можете. На договоре с шестью сторонами ответ становится непригодным.

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

#Шаг 1. Соберите словарь до первой отправки

Выпишите все сущности, которые в тексте встречаются: людей, организации, проекты, номера, домены. Каждой присвойте метку вида PERSON_1, ORG_1, PROJECT_1, DOC_1. Правила две:

  • метка не должна быть похожа на настоящее значение — латиница и подчёркивания как раз потому, что так она не выглядит именем;
  • метка закрепляется за сущностью навсегда, а не на один запрос. Через месяц тот же клиент — снова ORG_1, и старую переписку с моделью можно продолжить.

#Шаг 2. Замените механически, а не глазами

Замена делается поиском с заменой в редакторе, а не вычитыванием. Человек пропускает вхождения, регулярное выражение — нет. Отдельно пройдитесь по формам одного слова: «Мария», «Марии», «Марию», «М. Петрова» — это четыре разных вхождения одной сущности, и все четыре должны стать PERSON_1.

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

#Шаг 3. Уберите то, что определяет косвенно

После замены имён текст всё ещё может определять человека. Проверьте четыре типа остатков:

  • Уникальные роли. «Единственный сотрудник, работающий с китайскими поставщиками» определяет не хуже фамилии — обобщите до «сотрудник отдела закупок».
  • Точные даты в связке. «Вышел из декрета 12 марта, уволился 3 апреля» — редкая комбинация. Огрубите до месяца, если задача это допускает.
  • Редкие числа. Сумма контракта с точностью до копейки гуглится. Округлите или замените на AMOUNT_1.
  • Цитаты. Дословный фрагмент письма ищется поиском целиком. Пересказывайте, если суть задачи не в формулировке.

#Шаг 4. Восстановите ответ у себя

Ответ модели придёт с теми же метками. Обратная замена — тем же поиском по словарю, только в другую сторону. Именно этот шаг делает процедуру рабочей, а не декоративной: вы получаете разбор реального договора с реальными именами, а провайдер видел только ORG_1 и PERSON_2.

#Проверка результата

Три проверки перед отправкой, в этом порядке — они отсекают разные ошибки.

  1. Поиск по исходным значениям. Возьмите каждую строку из левой колонки словаря и найдите её в подготовленном тексте. Любое совпадение — незавершённая замена. Отдельно поищите цифры: номера телефонов и договоров пропускают чаще всего.
  2. Чтение с чужой позиции. Прочитайте текст так, будто вы посторонний с доступом в интернет. Можете ли вы по нему найти конкретную компанию или человека? Если да — вернитесь к шагу 3.
  3. Проверка на пригодность. Задача всё ещё решаема? Если смысл рассыпался, вы обезличили лишнее — верните то, что никого не определяет: суммы, сроки, технические детали.

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

#Что может пойти не так

Словарь утёк вместе с текстом. Самая обидная ошибка: файл соответствий приложен к тому же запросу «чтобы модель понимала контекст». Это отменяет всю процедуру целиком. Словарь не уходит наружу ни при каких обстоятельствах.

Обезличили промпт, но не память. Ассистент с памятью подмешивает в запрос релевантные фрагменты прошлых разговоров, и там имена лежат в исходном виде. Обезличенный промпт уезжает вместе с необезличенным контекстом. Что именно стоит пускать в память, а что нет, разобрано в статье про память и приватность.

Забыли про вложение. Скриншот таблицы, PDF договора, кусок лога — всё это уходит провайдеру полностью, и никакая замена в тексте сообщения на них не распространяется. Файл обезличивается отдельно или не отправляется.

Обезличивание применили к тому, что нельзя отправлять вообще. Пароль, заменённый на PASSWORD_1, — это правильно. Пароль, «слегка изменённый», — это утечка пароля. Верхние три строки таблицы заменяются меткой или не отправляются, третьего варианта нет; отдельно про деньги — в разборе финансовых данных и ассистента.

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

#Помогает ли обезличивание, если я работаю под соглашением о неразглашении?

Снижает риск, но не решает вопрос. Соглашение обычно запрещает раскрытие информации третьим лицам, и вопрос в том, считается ли отправка обезличенного текста облачному провайдеру раскрытием — это зависит от формулировок вашего договора и требует проверки у юриста. Разбор типовых ситуаций — в статье про NDA и облачный ИИ.

#Не проще ли поставить локальную модель и не обезличивать вообще?

Для чувствительных задач это самое надёжное решение: текст не покидает машину, если ассистент и модель развёрнуты на одном железе, и процедура не нужна вовсе. Плата известна: небольшая локальная модель объективно слабее топовой облачной в сложных рассуждениях. Разумный режим — локальная модель как основная для приватного и облако с обезличиванием там, где нужна мощность. Граница между режимами разобрана в материале про приватный ИИ и локальное хранение.

#Считается ли текст обезличенным, если я убрал только фамилии?

Как правило, нет. Определить человека можно косвенно — по должности, месту, датам и редким деталям, и закон говорит именно о «прямо или косвенно определяемом» лице (п. 1 ст. 3 152-ФЗ). Убранная фамилия при сохранённом «руководитель ИТ в компании из трёх человек» ничего не меняет. Шаг 3 процедуры выше существует ровно для этого.

#Что делать, если персональные данные уже ушли в облако?

Прекратить отправку, посмотреть в текущей редакции документов провайдера, как запросить удаление истории, направить запрос и сохранить ответ. Если речь о ключах или паролях — отзывать и менять немедленно, не дожидаясь ответа: попавший в чужой лог секрет считается скомпрометированным. Правовые последствия оценивает юрист.

#Нужно ли обезличивать данные о себе самом?

Юридически вы вправе распоряжаться своими данными и передавать их кому хотите. Практически стоит помнить, что провайдер по вашим запросам собирает портрет — не потому, что злонамерен, а потому что запросы у него хранятся. Личное решение; правила из таблицы про пароли и реквизиты остаются в силе и для собственных.

#Вывод

Если вы работаете локальной моделью — процедура не нужна, обезличивать нечего. Если задача уходит в облако и содержит чужие данные — заводите словарь устойчивых меток и меняйте механически, а не глазами: это единственный вариант, который и защищает текст, и оставляет ответ пригодным. И держите в голове две вещи: словарь наружу не уходит никогда, а псевдонимизация не выводит данные из-под закона — она лишь снижает цену ошибки. Что именно уезжает провайдеру помимо вашего текста и как это ограничить — в разборе требований 152-ФЗ к ИИ-ассистентам.

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт