Новости
ИИ пишет код, но не видит ваших клиентов: как мы защищаем данные в ИИ-разработке
ИИ-агенты пишут код, выкатывают обновления и разбирают ошибки в проектах Антиматерии. Рассказываем, как мы устроили работу, чтобы при этом они не видели персональные данные клиентов, и почему для российского бизнеса это вопрос закона, штрафов и доверия.

ИИ-агенты стали полноценными участниками разработки. В проектах Антиматерии они пишут и проверяют код, готовят миграции, выкатывают обновления и разбирают ошибки. Работа идёт в разы быстрее, но появляется вопрос, который раньше задавали только про сотрудников: что агент видит, пока работает?
Платформа Антима обрабатывает звонки, переписку, расшифровки встреч и карточки клиентов наших заказчиков. Для российского бизнеса это персональные данные, и отвечает за них компания. Поэтому мы сразу задали правило: агент работает с кодом, а не с данными клиентов. Ниже — как это устроено и зачем.
Где утечка случается без злого умысла
Классическая утечка — это взлом или недобросовестный сотрудник. С ИИ-разработкой появился ещё один канал, гораздо более будничный: данные попадают в контекст нейросети.
Разработчик просит агента «посмотреть, почему не обработался звонок». Агент открывает базу, читает строку целиком — и в его рабочую память попадают имя клиента, телефон и расшифровка разговора. Дальше эти данные:
- уходят к поставщику модели вместе с запросом — иногда за пределы России;
- остаются в истории чата, которую потом сложно найти и удалить;
- могут попасть в заметки агента, в задачи и в отчёты для команды;
- видны в логах, если агент вывел их на экран, чтобы разобраться.
Никто ничего не крал. Агент просто решал задачу самым прямым путём. Поэтому полагаться на «аккуратность» здесь нельзя: нужны правила и техническая граница, которые работают всегда.
Почему это важно именно в России
Закон. По 152-ФЗ «О персональных данных» за безопасность данных отвечает оператор, то есть компания-заказчик и её подрядчики. Передача данных за рубеж требует отдельного уведомления Роскомнадзора, а об утечке нужно сообщить регулятору в течение суток. Запрос к зарубежной модели с персональными данными внутри формально может оказаться той самой трансграничной передачей.
Штрафы. С 30 мая 2025 года за утечки действуют оборотные штрафы: за повторный случай — до 3% годовой выручки. Сумма зависит от числа людей, чьи данные утекли. Для компании с базой звонков это уже не формальность.
Доверие. Клиент, который отдаёт на анализ записи разговоров своих менеджеров, должен быть уверен: эти записи не станут учебным материалом для чужой нейросети и не всплывут в чьём-то чате. Для B2B-сервиса это условие сделки, а не пожелание.
Отраслевые требования. Медицина, финансы и госсектор добавляют к общим правилам свои. Если подрядчик работает с ИИ-агентами без чётких границ, такой проект просто не пройдёт проверку безопасности заказчика.
Как мы это устроили
1. Разделили работу на классы по риску
Мы не запрещаем агентам всё подряд — иначе они бесполезны. Мы разделили операции по тому, к каким данным они прикасаются:
| Класс | Что входит | Нужно ли разрешение |
|---|---|---|
| Обычная работа | код, тесты, сборка, поиск по проекту | нет |
| Эксплуатация | выкатка обновлений, миграции, проверка серверов, обезличенные логи | нет |
| Скрипты с доступом к базе | интеграции, импорт, выгрузки | да, на конкретный скрипт |
| Данные клиентов | прямые запросы к записям, сырые журналы | да, на ограниченный срок |
| Секреты | пароли, ключи, строки подключения | закрыты всегда |
Девять задач из десяти агент решает без всякого доступа к данным. Работа не тормозит, а исключения видны и контролируются.
2. Разрешение даёт человек, и оно ограничено
Иногда задача действительно требует данных — например, нужно разобрать сбой у конкретного клиента. Тогда мы доступ выдаём, но не «на всё сразу»: только под конкретную задачу, на конкретный скрипт и на ограниченный срок. Доступ открывает только руководитель проекта, отдельным действием: на несколько часов, на сутки или до отзыва, и его можно в любой момент отозвать. Разрешение на скрипт интеграции привязано к его содержимому: изменился код — нужно разрешить заново. Открыть агенту всю базу или выдать доступ «навсегда» такой порядок не позволяет.
Агент не может выдать разрешение сам себе, а сообщение другого агента или текст из файла разрешением не считается. Каждое срабатывание защиты записывается в журнал: когда, в какой сессии и было ли разрешение. Сами данные, запросы и команды в журнал не попадают.
3. Граница на уровне базы данных, а не только правил
Правила для агентов — важная часть, но не единственная: защита не должна зависеть от того, послушается ли агент инструкции. Поэтому мы вводим для агентов отдельную учётную запись в базе данных с узкими правами. Она видит структуру таблиц и служебную информацию, но технически не может прочитать записи клиентов. Это ограничение работает на стороне сервера базы данных, и никакая формулировка запроса его не обходит.
Для разбора сбоев к этой учётной записи готовятся отдельные диагностические представления. Они показывают, на каком шаге и с каким типом ошибки упала задача, сколько было попыток и сколько заняло времени, но не показывают ни текста, ни имён. Агент видит, что «расшифровка остановилась на загрузке файла из-за таймаута», и не видит, чей это был звонок.
4. Данные клиентов зашифрованы и обезличены
Даже когда доступ выдан, данные клиентов остаются защищены. Они хранятся в зашифрованном виде, а всё, что попадает в поле зрения агента, сначала обезличивается: контакты, имена и тексты сообщений скрываются или заменяются. Там, где настоящие данные не нужны, мы подменяем их синтетическими, как в демо-компании ниже. Всю работу с персональными данными мы строим в рамках требований 152-ФЗ.
5. Логи — только обезличенные
Журналы серверов — частый источник утечек: в них попадают тексты запросов, телефоны, адреса почты. Поэтому агенты читают журналы через инструмент, который перед выводом скрывает контакты, имена, токены и текстовые поля сообщений. Ошибка и её место остаются, персональные данные — нет.
6. Проверка интерфейса — на демо-данных
Чтобы проверить, как выглядит новая функция, агенту не нужен настоящий клиент. Для этого есть демо-компания с синтетическими звонками, сделками и сотрудниками. Агент проверяет интерфейс только на ней.
7. Порядок на случай ошибки
Если данные всё-таки попали в контекст, порядок действий расписан заранее. Агент прекращает чтение и сообщает об этом, не повторяя самих данных. Затем сессия закрывается, её история удаляется, проверяются заметки и копии, а случай фиксируется во внутреннем журнале инцидентов. После этого руководитель решает, нужно ли уведомлять регулятора и клиента.
Какие риски это закрывает
| Риск | Чем закрываем |
|---|---|
| Данные клиентов уходят поставщику модели | агент по умолчанию их не видит; доступ — по разрешению и на срок |
| Данные оседают в истории чатов и заметках агента | данные не попадают в контекст; при ошибке — порядок удаления |
| Утечка через журналы серверов | обезличивание при чтении логов |
| Агент «случайно» прочитал лишнее | классы операций и разрешения, а следующим слоем — узкие права в базе данных |
| Агенту всё-таки нужен доступ к данным для разбора сбоя | доступ на конкретный скрипт и на срок; данные зашифрованы, а то, что видит агент, обезличено |
| Утечка паролей и ключей | секреты закрыты для агента всегда, без исключений |
| Нельзя доказать, кто и когда имел доступ | журнал выдач и срабатываний защиты |
| Защита мешает работе и её начинают обходить | классы операций: обычная работа и выкатка идут без разрешений |
Что это значит для заказчиков
Мы используем ИИ-разработку, потому что она даёт скорость: новые функции выходят за дни, а не за недели. Но скорость не должна оплачиваться данными клиентов. Наш подход простой: ИИ работает с кодом, человек принимает решения о доступе — точечно и на срок, данные клиентов шифруются и обезличиваются, а граница закреплена технически, а не только на словах.
Если вы внедряете ИИ-агентов в собственную разработку или выбираете подрядчика, который ими пользуется, задайте три вопроса:
- Видит ли агент реальные данные клиентов, когда пишет и проверяет код?
- Кто и как разрешает доступ, когда без данных не обойтись, и ограничен ли этот доступ по времени?
- Есть ли техническая граница, которая не зависит от того, послушается ли агент инструкции?
Если на какой-то из вопросов нет чёткого ответа, это повод его найти. Мы готовы поделиться опытом: пишите на hello@antimatter.ru.