ZuBrIQ Gateway

Персональные данные не доходят до LLM — маскирование PII на шлюзе

Прокси перед любой моделью: УНП, карты, счета, БИК, ИНН и ФИО клиентов заменяются синтетикой до отправки к LLM и восстанавливаются в ответах — включая потоковые. Работает с любым OpenAI-совместимым провайдером.

Как это работает

Модель видит только синтетику — клиент получает свои данные

Ваше приложение

сервис, чат или агент · OpenAI-совместимый API

Шлюз ZuBrIQ

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

УНП, ИНН, карты, счета, ФИО и телефоны · заменяются синтетикой

Модель

любая модель шлюза · видит только синтетику

ответ модели ↓

Восстановление

синтетика → ваши данные в ответах и стримах

ответ с вашими данными → Ваше приложение

Сбой маскирования — запрос не уходит к модели · каждое срабатывание — событие для SIEM

🆔

УНП

9 цифр с проверкой контрольного числа

🇷🇺

ИНН

10/12 цифр с проверкой контрольной суммы

💳

Карты

проверка номера, МИР / Visa / Mastercard

🏦

Счета и БИК

проверка ключа счёта и справочника банков

🧾

СНИЛС

11 цифр с проверкой контрольной суммы

🧑

ФИО

распознавание обращений и контекста

♻️

Переиспользуемые пары

Одно и то же значение всегда заменяется одной и той же синтетикой — связность данных сохраняется и внутри диалога, и между диалогами.

🚪

Fail-Closed

При сбое модуля маскировки запрос отклоняется — PII не утечёт к модели. Режим задаётся при подключении шлюза.

🌊

Стримы

Работает и в потоковых ответах: данные восстанавливаются на лету, по мере прихода ответа модели.

📋

SIEM-события

Каждое обнаружение PII фиксируется в аудит-логе с привязкой к пользователю, модели и запросу — события готовы для SIEM.

Чем отличается от рынка

Универсальные маскировщики (Presidio) не решают задачу банка в СНГ

Универсальные маскировщики (Microsoft Presidio, встроенные PII-фильтры опенсорс-шлюзов) вырезают «похожее на персональные данные» по NLP-моделям. Это общий инструмент — для банковских реквизитов СНГ и диалогов с возвратом данных его мало.

  • Реквизиты СНГ

    Presidio

    Общие шаблоны без проверки. УНП, БИК, ключ расчётного счёта — нет.

    ZuBrIQ Gateway

    Проверка контрольных чисел по официальным форматам реквизитов СНГ: валидный номер не пропустим мимо, невалидный не примем за PII.

  • Возврат данных клиенту

    Presidio

    Замена навсегда (REDACTED/фейк). Восстановить оригинал в ответе нельзя.

    ZuBrIQ Gateway

    Восстановление в ответах и стримах: клиент видит свои данные, модель — только синтетику.

  • Связность диалога

    Presidio

    Одна фамилия подменяется каждый раз по-новому — модель теряет контекст.

    ZuBrIQ Gateway

    Одно значение — одна синтетика на всём сроке работы: тот же УНП, та же подмена в любом диалоге.

  • Телефоны

    Presidio

    Международный общий шаблон, много ложных срабатываний.

    ZuBrIQ Gateway

    Проверка по актуальным кодам операторов Беларуси, России и Казахстана — минимум ложных срабатываний.

  • Скорость

    Presidio

    NLP-модели, тяжёлый старт, для русского качества мало.

    ZuBrIQ Gateway

    Детекция по форматам реквизитов, без GPU и внешних моделей: миллисекунды на запрос.

  • Контроль

    Presidio

    Нет истории подмен.

    ZuBrIQ Gateway

    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, …"