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 секунд, вся цепочка

0:00 / 0:00
То же 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, …"