Перейти к содержимому

Новости

ИИ пишет код, но не видит ваших клиентов: как мы защищаем данные в ИИ-разработке

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

Стеклянная перегородка с замком отделяет блок с кодом от стопки карточек клиентов — иллюстрация защиты данных в ИИ-разработке.

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

Платформа Антима обрабатывает звонки, переписку, расшифровки встреч и карточки клиентов наших заказчиков. Для российского бизнеса это персональные данные, и отвечает за них компания. Поэтому мы сразу задали правило: агент работает с кодом, а не с данными клиентов. Ниже — как это устроено и зачем.

Где утечка случается без злого умысла

Классическая утечка — это взлом или недобросовестный сотрудник. С ИИ-разработкой появился ещё один канал, гораздо более будничный: данные попадают в контекст нейросети.

Разработчик просит агента «посмотреть, почему не обработался звонок». Агент открывает базу, читает строку целиком — и в его рабочую память попадают имя клиента, телефон и расшифровка разговора. Дальше эти данные:

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

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

Почему это важно именно в России

Закон. По 152-ФЗ «О персональных данных» за безопасность данных отвечает оператор, то есть компания-заказчик и её подрядчики. Передача данных за рубеж требует отдельного уведомления Роскомнадзора, а об утечке нужно сообщить регулятору в течение суток. Запрос к зарубежной модели с персональными данными внутри формально может оказаться той самой трансграничной передачей.

Штрафы. С 30 мая 2025 года за утечки действуют оборотные штрафы: за повторный случай — до 3% годовой выручки. Сумма зависит от числа людей, чьи данные утекли. Для компании с базой звонков это уже не формальность.

Доверие. Клиент, который отдаёт на анализ записи разговоров своих менеджеров, должен быть уверен: эти записи не станут учебным материалом для чужой нейросети и не всплывут в чьём-то чате. Для B2B-сервиса это условие сделки, а не пожелание.

Отраслевые требования. Медицина, финансы и госсектор добавляют к общим правилам свои. Если подрядчик работает с ИИ-агентами без чётких границ, такой проект просто не пройдёт проверку безопасности заказчика.

Как мы это устроили

1. Разделили работу на классы по риску

Мы не запрещаем агентам всё подряд — иначе они бесполезны. Мы разделили операции по тому, к каким данным они прикасаются:

КлассЧто входитНужно ли разрешение
Обычная работакод, тесты, сборка, поиск по проектунет
Эксплуатациявыкатка обновлений, миграции, проверка серверов, обезличенные логинет
Скрипты с доступом к базеинтеграции, импорт, выгрузкида, на конкретный скрипт
Данные клиентовпрямые запросы к записям, сырые журналыда, на ограниченный срок
Секретыпароли, ключи, строки подключениязакрыты всегда

Девять задач из десяти агент решает без всякого доступа к данным. Работа не тормозит, а исключения видны и контролируются.

2. Разрешение даёт человек, и оно ограничено

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

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

3. Граница на уровне базы данных, а не только правил

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

Для разбора сбоев к этой учётной записи готовятся отдельные диагностические представления. Они показывают, на каком шаге и с каким типом ошибки упала задача, сколько было попыток и сколько заняло времени, но не показывают ни текста, ни имён. Агент видит, что «расшифровка остановилась на загрузке файла из-за таймаута», и не видит, чей это был звонок.

4. Данные клиентов зашифрованы и обезличены

Даже когда доступ выдан, данные клиентов остаются защищены. Они хранятся в зашифрованном виде, а всё, что попадает в поле зрения агента, сначала обезличивается: контакты, имена и тексты сообщений скрываются или заменяются. Там, где настоящие данные не нужны, мы подменяем их синтетическими, как в демо-компании ниже. Всю работу с персональными данными мы строим в рамках требований 152-ФЗ.

5. Логи — только обезличенные

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

6. Проверка интерфейса — на демо-данных

Чтобы проверить, как выглядит новая функция, агенту не нужен настоящий клиент. Для этого есть демо-компания с синтетическими звонками, сделками и сотрудниками. Агент проверяет интерфейс только на ней.

7. Порядок на случай ошибки

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

Какие риски это закрывает

РискЧем закрываем
Данные клиентов уходят поставщику моделиагент по умолчанию их не видит; доступ — по разрешению и на срок
Данные оседают в истории чатов и заметках агентаданные не попадают в контекст; при ошибке — порядок удаления
Утечка через журналы серверовобезличивание при чтении логов
Агент «случайно» прочитал лишнееклассы операций и разрешения, а следующим слоем — узкие права в базе данных
Агенту всё-таки нужен доступ к данным для разбора сбоядоступ на конкретный скрипт и на срок; данные зашифрованы, а то, что видит агент, обезличено
Утечка паролей и ключейсекреты закрыты для агента всегда, без исключений
Нельзя доказать, кто и когда имел доступжурнал выдач и срабатываний защиты
Защита мешает работе и её начинают обходитьклассы операций: обычная работа и выкатка идут без разрешений

Что это значит для заказчиков

Мы используем ИИ-разработку, потому что она даёт скорость: новые функции выходят за дни, а не за недели. Но скорость не должна оплачиваться данными клиентов. Наш подход простой: ИИ работает с кодом, человек принимает решения о доступе — точечно и на срок, данные клиентов шифруются и обезличиваются, а граница закреплена технически, а не только на словах.

Если вы внедряете ИИ-агентов в собственную разработку или выбираете подрядчика, который ими пользуется, задайте три вопроса:

  1. Видит ли агент реальные данные клиентов, когда пишет и проверяет код?
  2. Кто и как разрешает доступ, когда без данных не обойтись, и ограничен ли этот доступ по времени?
  3. Есть ли техническая граница, которая не зависит от того, послушается ли агент инструкции?

Если на какой-то из вопросов нет чёткого ответа, это повод его найти. Мы готовы поделиться опытом: пишите на hello@antimatter.ru.