Возможности
Защита данных (PII)
AITUNNEL сам находит персональные данные в запросах и либо подменяет их синтетикой перед отправкой в модель, либо блокирует запрос. В коде приложения ничего менять не нужно — настройка живёт на API-ключе.
Зачем
Модель — внешний сервис. Если в промпт попали реальные персональные данные, они уходят провайдеру. На шлюзе это можно отсечь: модель не видит оригиналы, риски по 152-ФЗ ниже.
Текущие настройки ключа — в GET /aitunnel/key, объект pii.
Режимы
Маскировка — основной режим. Найденные значения заменяются синтетикой того же формата: ИНН с контрольной суммой, карта с алгоритмом Луна. Запрос уходит в модель уже подменённым. В ответе AITUNNEL ставит оригиналы обратно. Клиент видит свои данные, модель — нет.
Блокировка — если что-то нашлось, запрос до модели не доходит. Клиент получает HTTP 400. Так удобно ловить ошибки в сервисах, где персональных данных в промптах быть не должно.
{
"error": {
"message": "Request blocked: PII detected — passport, phone",
"type": "pii_blocked",
"code": "pii_blocked",
"param": null
}
}Какие данные ищутся
| Тип | Примеры |
|---|---|
user@example.com | |
| Телефон | +7 (900) 123-45-67 |
| Паспорт РФ / загран | 4509 123456 |
| СНИЛС | 112-233-445 95 |
| ИНН | 10 или 12 цифр |
| ОГРН / ОГРНИП | 13 / 15 цифр |
| Банковская карта | алгоритм Луна |
| JWT / API-ключ | eyJ…, sk-…, ghp_… |
| Адрес | ул. Ленина, д. 5 |
| ФИО | Иванов Иван Иванович, Иванов И.И. |
Одиночное имя без отчества («Иван Петров») намеренно не считается ФИО — меньше ложных срабатываний. Такие случаи можно добавить в свой словарь.
Как включить
Откройте ключ
Панель → Ключи, затем нужный ключ.
Включите маскирование
Переключатель «Маскирование персональных данных». Выберите режим: подмена или блокировка.
Отметьте типы
По умолчанию включены все. Можно оставить только ИНН и паспорт, если остальное в вашем контексте не важно.
Сохраните
Те же настройки можно применить к другим ключам одной кнопкой.
Свой словарь
Для значений, которые стандартные детекторы не ловят: внутренние коды клиентов, кодовые имена. До 50 пар «слово → замена». Пустая замена — слово просто вырезается. Словарь работает вместе с выбранными типами; в режиме маскировки замены тоже восстанавливаются в ответе.
Заголовки ответа
Если маскировка сработала, в ответе будут заголовки:
| Заголовок | Значение |
|---|---|
X-AITunnel-Masked | true |
X-AITunnel-Masked-Types | inn,phone,passport |
Если ничего не нашли — заголовков нет. Стриминг stream: true поддерживается.
Ограничения
Что не покрыто
Иностранные имена и зарубежные документы — детекторы заточены под российские форматы. Данные в картинках, аудио и PDF не обрабатываются, только текст сообщений. Маппинг «синтетика → оригинал» живёт только на время одного запроса и сразу уничтожается.