MorphogenДокументация

Маскирование ПДн

Как не отправлять персональные данные модели: заголовок X-PII-Masking, что маскируется и какие есть ограничения.

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

Как включить

Заголовок X-PII-Masking решает судьбу каждого запроса:

ЗначениеЧто происходит
onзапрос маскируется
offмаскирования нет, ошибки не будет, даже если опция не подключена
не передандействует настройка организации, без подключённой опции маскирования нет

Также принимаются true, false, 1 и 0. Если передать on, а опция не подключена, придёт 403 pii_masking_not_enabled: запрос не уйдёт модели без маскирования, пока вы считаете себя защищёнными.

curl https://api.morphogen.ru/v1/chat/completions \
  -H "Authorization: Bearer $MORPHOGEN_API_KEY" \
  -H "X-PII-Masking: on" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "max_tokens": 100,
    "messages": [{"role": "user", "content": "Составь приветствие для Ивана Иванова, телефон +7 912 345-67-89"}]
  }'

В ответе приходит заголовок X-PII-Masking: applied, если маскирование применено, и off, если нет. Проверяйте его в коде, если защита обязательна.

Что маскируется

Только текст сообщений, на русском и частично на латинице. Сервис находит:

  • ФИО, телефоны, email;
  • паспорта, СНИЛС, ИНН физических лиц, водительские удостоверения, документы иностранцев;
  • номера банковских карт, счета физических лиц и ИП;
  • адреса, даты рождения;
  • секреты: API-ключи, пароли, токены.

Реквизиты организаций (расчётный счёт, БИК, КПП, ОГРН, ИНН юрлица) не относятся к персональным данным и по умолчанию не маскируются.

Гарантии.

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

Что не маскируется

  • Картинки, аудио, определения инструментов, аргументы и результаты вызовов инструментов уходят модели как есть. Поддерживается только текстовое содержимое сообщений.
  • На /v1/embeddings, /v1/audio/transcriptions, /v1/images/generations и с моделью картинок в /v1/chat/completions маскирования нет. Явный X-PII-Masking: on даёт 400 pii_masking_unsupported_endpoint.
  • На /v1/videos заголовок игнорируется: запрос проходит, а промпт уходит провайдеру без маскирования. Не отправляйте персональные данные в промпте видео.
  • Аргументы вызовов инструментов в ответе не демаскируются.

Поток и отказоустойчивость

В потоковом режиме значения возвращаются на место по мере прихода токенов. Если сервис маскирования недоступен, запрос получает 503 и не уходит модели: незамаскированный текст не отправляется никогда. Такой запрос не оплачивается.

Ошибки

КодПричина
400 invalid_pii_masking_headerзначение заголовка не из списка
400 pii_masking_unsupported_endpointon на эндпоинте без маскирования
403 pii_masking_not_enabledопция не подключена организации
503 service_unavailableсервис маскирования недоступен

Все коды: Ошибки. Заголовки: Заголовки.

На этой странице