ZuBrIQ Gateway
Персональные данные не доходят до LLM — маскирование PII на шлюзе
Прокси перед любой моделью: УНП, карты, счета, БИК, ИНН и ФИО клиентов заменяются синтетикой до отправки к LLM и восстанавливаются в ответах — включая потоковые. Работает с любым OpenAI-совместимым провайдером.
УНП
9 цифр с проверкой контрольного числа
ИНН
10/12 цифр с проверкой контрольной суммы
Карты
проверка номера, МИР / Visa / Mastercard
Счета и БИК
проверка ключа счёта и справочника банков
СНИЛС
11 цифр с проверкой контрольной суммы
ФИО
распознавание обращений и контекста
Переиспользуемые пары
Одно и то же значение всегда заменяется одной и той же синтетикой — связность данных сохраняется и внутри диалога, и между диалогами.
Fail-Closed
При сбое модуля маскировки запрос отклоняется — PII не утечёт к модели. Режим задаётся при подключении шлюза.
Стримы
Работает и в потоковых ответах: данные восстанавливаются на лету, по мере прихода ответа модели.
SIEM-события
Каждое обнаружение PII фиксируется в аудит-логе с привязкой к пользователю, модели и запросу — события готовы для SIEM.
Чем отличается от рынка
Универсальные маскировщики (Presidio) не решают задачу банка в СНГ
Универсальные маскировщики (Microsoft Presidio, встроенные PII-фильтры опенсорс-шлюзов) вырезают «похожее на персональные данные» по NLP-моделям. Это общий инструмент — для банковских реквизитов СНГ и диалогов с возвратом данных его мало.
| Критерий | Универсальные NER-маскировщики (Presidio) | ZuBrIQ Gateway |
|---|---|---|
| Реквизиты СНГ | Общие шаблоны без проверки. УНП, БИК, ключ расчётного счёта — нет. | Проверка контрольных чисел по официальным форматам реквизитов СНГ: валидный номер не пропустим мимо, невалидный не примем за PII. |
| Возврат данных клиенту | Замена навсегда (REDACTED/фейк). Восстановить оригинал в ответе нельзя. | Восстановление в ответах и стримах: клиент видит свои данные, модель — только синтетику. |
| Связность диалога | Одна фамилия подменяется каждый раз по-новому — модель теряет контекст. | Одно значение — одна синтетика на всём сроке работы: тот же УНП, та же подмена в любом диалоге. |
| Телефоны | Международный общий шаблон, много ложных срабатываний. | Проверка по актуальным кодам операторов Беларуси, России и Казахстана — минимум ложных срабатываний. |
| Скорость | NLP-модели, тяжёлый старт, для русского качества мало. | Детекция по форматам реквизитов, без GPU и внешних моделей: миллисекунды на запрос. |
| Контроль | Нет истории подмен. | SIEM-события на каждое обнаружение, журнал замен для службы безопасности, Fail-Closed по умолчанию. |
Presidio остаётся полезным для не-реквизитных сущностей (адреса, e-mail, даты) — подключается вторым слоем поверх Gateway, не вместо него.
Второй слой: Presidio — где он встаёт
Что делает
Распознавание не-реквизитных сущностей: адреса, e-mail, даты, номера документов без контрольных сумм. Набор сущностей расширяется под ваши форматы.
На каком уровне
После шлюза: реквизиты уже заменены, второй слой чистит остатки в том же запросе до отправки к модели. На ответы и восстановление данных не влияет.
Как подключается
Отдельный сервис рядом со шлюзом, включается настройкой при подключении. Опция, не включена по умолчанию.
Как это работает
Запрос с УНП и картой: 17 секунд, вся цепочка
То же curl-командой — для копирования
curl -s https://api.zubriq.by/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model": "gpt-4o-mini", "user": "user-42",
"messages": [{"role": "user",
"content": "Мой УНП 192628898, пришлите счёт."}]}'
# К модели уйдёт: "Мой УНП 732432413, …"
# В ответе вернётся: "Мой УНП 192628898, …"