Бот отправляет данные клиентов в нейросеть: как их обезличить
Если бот передаёт переписку во внешнюю нейросеть, туда уходят имена, телефоны и реквизиты. Как заменить их метками до отправки, вырезать персданные из свободного текста, вести журнал «что ушло в нейросеть», когда нужна локальная модель и что статья 12 152-ФЗ требует при трансграничной передаче. На примере трёх моих проектов.
Коротко (TL;DR)
- Если бот передаёт текст клиента во внешнюю нейросеть, туда уходят имена, телефоны, ИНН и всё, что человек сам написал. Это нужно убирать до отправки.
- Рабочая схема: метки вместо имён и реквизитов, вырезание персданных из свободного текста, расшифровка ответа уже на своём сервере, журнал «что ушло в нейросеть».
- Если модель стоит за границей и в неё уходят персональные данные, по 152-ФЗ это трансграничная передача: статья 12 требует уведомить Роскомнадзор до начала. Локальная модель снимает этот вопрос.
- Так сделано в трёх моих проектах: ИИ-бухгалтер над 1С, приложение руководителя команды и ИИ-администратор врача. Аудит сайта и бота по 152-ФЗ у меня от 15 000 ₽.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Аудит по 152-ФЗОбезличивание перед отправкой в нейросеть это шаг на вашем сервере, который заменяет имена, телефоны, почты, ИНН и счета в тексте на метки вида КЛИЕНТ_1 или ИНН_2, отправляет в модель уже такой текст, а ответ модели расшифровывает обратно у себя. Нейросеть видит задачу и цифры, но не видит, о ком речь. Ключ от меток остаётся у вас, а каждый запрос пишется в журнал, чтобы можно было показать, что именно ушло наружу.
Что именно ваш бот отправляет в нейросеть
Типичный ИИ-бот устроен так: человек пишет вопрос, бот добавляет к нему контекст из базы (история заказов, карточка клиента, записи) и отправляет всё одним запросом в модель. Если ничего не делать, в этот запрос попадают:
- ФИО и телефон из профиля, потому что «так ответ получится вежливее»;
- реквизиты: ИНН, КПП, СНИЛС, номера счетов, если бот работает с учётной системой;
- то, что клиент написал сам: «я Иванова, мой номер такой-то, у меня аллергия»;
- данные третьих лиц: коллег, родственников, контрагентов.
Закон определяет персональные данные широко: статья 3 152-ФЗ называет так любую информацию, относящуюся к прямо или косвенно определённому или определяемому человеку. Передача в нейросеть в этом смысле обычная обработка.
Что закон называет обезличиванием
В той же статье 3 (п. 9) обезличивание это действия, после которых без дополнительной информации нельзя определить, какому человеку принадлежат данные. Метки с ключом на вашем сервере под это определение подходят: ключ и есть та дополнительная информация, и наружу он не уходит.
Одна оговорка. У вас данные остаются персональными, ведь ключ у вас. Считается ли обезличенный текст в нейросети персональными данными для внешнего сервиса, прямого ответа в тексте закона я не нашёл. Поэтому я строю так, чтобы в модель не уходило ничего, по чему человека можно узнать, и не опираюсь на одну только метку. Если вопрос для вас принципиальный, его стоит разобрать с юристом.
Метки вместо имён и телефонов
Самый надёжный слой: вы заранее знаете, кто есть в вашей базе. Значит, имена клиентов, сотрудников, названия контрагентов и их реквизиты можно заменить по справочнику до того, как текст уйдёт.
Так я сделал в ИИ-бухгалтере над 1С. Перед отправкой контрагенты, организации, ФИО, ИНН, КПП, СНИЛС, счета, телефоны и почта заменяются метками вида КОНТР_1 или ИНН_2 по справочникам 1С и шаблонам. Ответ модели и аргументы её команд расшифровываются обратно уже на сервере. Модель может сказать «проверь оплаты КОНТР_3», и сервер сам поймёт, о каком контрагенте речь.
В приложении руководителя большой команды ИИ-секретарь собирает сводку по структуре. До модели доходят цифры и метки вида «Группа 1», имена подставляются в готовую сводку уже у нас.
Правила для меток, которые я соблюдаю:
- метка устойчива внутри одного запроса: один и тот же человек везде КЛИЕНТ_1;
- таблица соответствия живёт только в памяти сервера на время запроса или в защищённой базе;
- в логах приложения лежит обезличенный текст, исходный там не нужен.
Вырезание персданных из свободного текста
Справочник не спасает от того, что человек пишет сам. Для этого второй слой: поиск по шаблонам и словарям в тексте сообщения.
- Телефоны, почты, ники, номера документов ищутся шаблонами.
- Имена и фамилии ищутся по базе людей. В приложении руководителя функция вырезает в том числе одиночные имена в разных падежах.
- Что можно не отправлять вовсе, не отправляется. У ИИ-администратора врача-косметолога запись идёт кнопками, и в модель она не попадает. Свободные вопросы уходят, но имена, телефоны и почты вычищаются до отправки. На вопросы о тревожных симптомах бот отвечает без нейросети и направляет к врачу.
Для больших объёмов текста есть готовые инструменты поиска персданных. Один из них я разбирал отдельно в статье про Presidio, там же его плюсы и пределы для русского языка.
Локальная модель: когда данные вообще не выходят
Если модель стоит на вашем сервере, текст не покидает ваш контур. Это разумный выбор для медицины, бухгалтерии и любых случаев, где обезличивание ломает смысл ответа. Цена вопроса в железе и качестве: локальная модель слабее крупных облачных, и её надо проверять на ваших вопросах.
В ИИ-бухгалтере адрес локальной модели уже настраивается, но в этом режиме продукт я пока не проверял, и пишу об этом прямо. Как поднять модель у себя, есть в статье про Ollama на своём сервере.
Журнал «что ушло в нейросеть»
Обезличивание без журнала нельзя проверить. Поэтому каждый запрос к модели я пишу в журнал: время, какой сценарий его вызвал и какой текст ушёл после замены. В ИИ-бухгалтере бухгалтер открывает этот журнал по ссылке «Что ушло в нейросеть» прямо из интерфейса.
Второе, что делаю: проверку на утечки в автотестах. Тест берёт данные с известными именами и реквизитами, прогоняет сценарий и смотрит, не осталось ли их в отправленном тексте. В ИИ-бухгалтере такая проверка добавлена в сквозной тест. Если кто-то через полгода поменяет промпт и забудет про замену, тест упадёт до выкладки.
Ещё одна мелочь из практики: в журналы попадает больше, чем кажется. В приложении руководителя пришлось заглушить журнал HTTP-клиента, потому что токен бота стоит прямо в адресе запроса и попадал бы в логи.
Трансграничная передача и статья 12 152-ФЗ
По п. 11 статьи 3 трансграничная передача это передача персональных данных на территорию иностранного государства органу власти, иностранному физическому или юридическому лицу. Если бот отправляет персональные данные в нейросеть зарубежной компании, под это определение он попадает.
Что требует статья 12:
- ч. 3: до начала трансграничной передачи оператор уведомляет Роскомнадзор о намерении её осуществлять, отдельно от уведомления об обработке персональных данных;
- ч. 4: в уведомлении указываются цель и правовое основание, категории и перечень данных, категории людей, список стран и дата оценки того, как получатель обеспечивает конфиденциальность и безопасность;
- ч. 5: до подачи уведомления оператор получает от зарубежного получателя сведения о мерах защиты данных и об условиях прекращения обработки;
- ч. 10 и 11: в страны из перечня Роскомнадзора с адекватной защитой передавать можно после уведомления, в остальные нельзя до истечения сроков рассмотрения уведомления, кроме случаев защиты жизни и здоровья.
На практике у бизнеса два честных пути. Первый: в зарубежную модель уходит только обезличенный текст, и это видно по журналу. Второй: модель в России или на своём сервере. Редакция закона меняется, поэтому перед подачей уведомления сверяйте актуальный текст статьи 12.
Проверить, что у вас уже отправляется наружу, можно аудитом: я смотрю сайт, формы, бота и интеграции и даю список того, что исправить. Подробнее на странице аудита по 152-ФЗ.
Что говорить клиенту
Клиенту не нужна лекция про метки. Ему нужно три ответа, и их стоит написать в политике обработки данных и в коротком тексте рядом с ботом:
- Какие данные бот хранит и где. Например: имя и телефон лежат в базе на сервере компании.
- Что видит нейросеть. Например: только текст вопроса без имён, телефонов и почты.
- Как удалить свои данные. В приложении руководителя это кнопка «Удалить мои данные», которая обезличивает профиль.
Если используете стороннего подрядчика для обработки, оформляется договор поручения на обработку. Общие требования к ботам собраны в статье про 152-ФЗ для чат-ботов.
Как я это делаю
- Карта данных. Выписываю, какие поля бот берёт из базы и что пользователь может написать сам. Всё, что модели не нужно, не передаётся вовсе.
- Справочник меток. Имена, организации и реквизиты из базы заменяются метками, ключ остаётся на сервере.
- Шаблоны для свободного текста. Телефоны, почты, ники, номера документов, имена в разных падежах.
- Расшифровка у себя. Ответ модели и её команды возвращаются в метках, настоящие значения подставляет сервер.
- Журнал и тест на утечки. Каждый запрос в журнале, в автотестах проверка, что в отправленном тексте нет известных персданных.
- Запасной режим. Если модель недоступна, бот работает по правилам. В приложении руководителя без ключа ИИ сводка собирается без нейросети.
Сколько стоит обезличивание и аудит бота
- Аудит сайта по 152-ФЗ: от 15 000 ₽, от 2 дней. Включаю в него проверку, что бот и формы отправляют наружу.
- Бот в мессенджере: от 30 000 ₽, от 1 недели. Бот для бизнеса с оплатой, записью и CRM: от 80 000 ₽, от 2 недель.
- Автоматизация процессов и документов с ИИ: от 60 000 ₽, от 2 недель.
- Доработка готового бота по часам: от 3 000 ₽ в час. Поддержка: от 20 000 ₽ в месяц.
Если бот уже работает, обезличивание обычно добавляется доработкой. Сколько часов уйдёт, зависит от того, сколько мест в коде обращаются к модели.
Частые вопросы
Хватит ли просто попросить нейросеть не запоминать данные?
Нет. Просьба в промпте не меняет того, что данные уже ушли на чужой сервер. Защищает только то, что вы убрали до отправки.
Не испортит ли обезличивание ответы?
Для большинства задач нет: модели не нужно знать имя, чтобы посчитать долг или составить ответ. Где смысл держится на конкретных данных, лучше локальная модель.
Российская облачная модель решает вопрос?
Снимает вопрос трансграничной передачи, если данные обрабатываются в России. Обязанности оператора по 152-ФЗ остаются, и обезличивание всё равно уменьшает то, что может утечь.
Сколько времени занимает доработка?
Зависит от бота. В ИИ-бухгалтере обезличивание вышло отдельной версией после показа на форуме, вместе с журналом и тестом на утечки.
Коротко о главном
- Персональные данные убираются до отправки в нейросеть: метки по справочнику плюс вырезание из свободного текста.
- Ключ от меток и расшифровка ответа остаются на вашем сервере.
- Журнал «что ушло в нейросеть» и тест на утечки делают обезличивание проверяемым.
- Персональные данные в зарубежную модель это трансграничная передача по статье 12 152-ФЗ с уведомлением Роскомнадзора до начала. Локальная модель этот вопрос снимает.
Если ваш бот уже отправляет переписку в нейросеть и вы хотите знать, что там уходит, напишите мне в Telegram слово «МАСКА». Посмотрю, где данные выходят наружу, и предложу, как это закрыть.
Обезличивание данных в ИИ-боте
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Метки вместо имён, телефонов и реквизитов до отправки в модель
- Журнал «что ушло в нейросеть» и тест на утечки
- Локальная модель на вашем сервере
- Аудит сайта и бота по 152-ФЗ
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


