Удаляйте лишние персональные данные до запроса LLM
Минимизируйте поля, защищайте карту замен и проверяйте исходящий запрос и журналы.

Сначала меньше данных
Для классификации обращения модель может не нуждаться в полном профиле клиента. Явно выберите необходимые поля, а идентификатор записи оставьте локально. Новое поле базы тогда не попадет в запрос автоматически. Принцип минимизации описан в статье 5 GDPR, но применимость закона зависит от обстоятельств. Это технический разбор, не юридическое заключение.

Замены на сервере
Если текст содержит ненужные имя, почту или телефон, замените их перед отправкой. Используйте синтетические примеры, а не настоящие клиентские записи. Карту вроде EMAIL_1 → исходное значение храните отдельно, с ограниченным доступом, сроком жизни и областью конкретного разрешенного запроса. Не включайте карту в prompt или журналы. Псевдонимизация не гарантирует анонимность: сочетание оставшихся фактов может указать на человека.
Ответ тоже недоверенный
Восстанавливайте только ожидаемые placeholders текущего запроса и только для получателя, которому разрешено видеть данные. Неожиданный маркер не должен подтянуть чужую запись. Обрабатывайте пропущенные и измененные маркеры без раскрытия данных. В журнал записывайте безопасную версию, а не восстановленный ответ. Регулярные выражения находят лишь некоторые форматы; имена и свободный текст требуют дополнительных ограничений или проверки.
Секреты, условия и тест
API-ключи, пароли, токены и сырые заголовки не нужны модели. Стек ошибки или строка подключения тоже могут содержать секрет. Если секрет уже раскрыт, используйте предусмотренное провайдером отозвание или замену; не пересылайте его другой модели. Проверьте условия именно используемого API: хранение запросов и ответов, обучение, удаление, диагностику. Проверьте также retry, error tracking и сохраненные диалоги своего приложения. На синтетических данных испытайте имена, разные телефоны, повторяющиеся значения, неожиданные placeholders и отказ фильтра. Если нельзя подтвердить безопасную отправку, запрос не отправляется. Успешный тест относится к этим примерам и не доказывает полное распознавание всех идентификаторов.