Buff Guardrails
Модели не нужен паспорт вашего клиента, чтобы написать ему ответ
Шлюз между сотрудниками и ИИ-моделью: убирает персональные данные и секреты из запросов и возвращает их в ответ. Сотрудник работает в Claude Code, Claude Desktop или любом другом клиенте как обычно, модель видит обезличенный текст, данные не покидают компанию.
Возражение 01
«Из-за персональных данных ИИ у нас запрещён»
Или разрешён — и каждый сам решает, что вставлять в чат.
Модели не нужны настоящие данные
Люди несут в модель письмо клиента, выгрузку из CRM, лог с паролем в стектрейсе. Запрет не работает — работу уносят в личный ChatGPT. Блокирующий фильтр не работает — получается тот же запрет, только с раздражением. Guardrails исходит из простого наблюдения: чтобы написать клиенту ответ, модели достаточно знать, что здесь стоит имя, а здесь — телефон. Поэтому шлюз ничего не блокирует: он заменяет данные нумерованными заглушками, отдаёт модели и возвращает настоящие значения в ответ.
Что вставил оператор
Здравствуйте! Меня зовут Коновалова Марина Ильинична, заказ №4471920 так и не приехал. Мой телефон +7 (921) 334-18-07, почта marina.konovalova@example.com, адрес доставки: г. Казань, ул. Чистопольская, д. 61, кв. 14.
Что получила модель
Здравствуйте! Меня зовут <PERSON_1> <PERSON_2>, заказ №4471920 так и не приехал. Мой телефон <PHONE_NUMBER_1>, почта <EMAIL_ADDRESS_1>, адрес доставки: г. <LOCATION_1>, ул. <LOCATION_2>, д. 61, кв. 14.
Что получил оператор
Здравствуйте, Коновалова Марина Ильинична! Благодарим за обращение. Мы очень сожалеем, что заказ №4471920 так и не приехал. Пожалуйста, подтвердите ваш адрес доставки: г. Казань, ул. Чистопольская, д. 61, кв. 14.
Это реальный прогон через небольшую модель gemma3:4b на процессоре. Один и тот же человек в письме — одна и та же заглушка, поэтому модель рассуждает о нём связно, а восстановление однозначно. Номер дома в модель ушёл: базовый распознаватель видит названия, но не номера — точная модель закрывает и их, об этом ниже.
Возражение 02
«Что именно он находит? Регулярки ловят телефоны, а дальше?»
ФИО в косвенных падежах, адреса и номера документов без подписи — обычное место провала.
Документы — правилами с контрольными суммами, имена и адреса — моделью
Нейросеть не знает алгоритм контрольной суммы СНИЛС и может принять номер заказа за ИНН. Правило знает: сумма сходится — ИНН, не сходится — нет. Поэтому документы, карты, телефоны, email, ключи и пароли находят правила за десять миллисекунд. Имена и адреса правилами не описать — их ищет модель распознавания, которую вы выбираете при установке: быстрая spaCy или точная ruBERT. Если модель и правило спорят, побеждает правило.
Документы РФ
Паспорт, СНИЛС, ИНН, ОГРН и ОГРНИП, КПП, ОМС, водительское удостоверение — по форме и контрольной сумме.
Платежи
Номера карт Visa, Mastercard и «Мир» по алгоритму Луна, CVC, счета, БИК, IBAN.
Контакты
Телефоны российские, международные и NANP, email, IP-адреса, URL, даты рождения.
Секреты
Ключи AWS, GitHub, GitLab, OpenAI, Anthropic, Slack, Stripe, Telegram, JWT, приватные ключи PEM, пароли в URL и в присваиваниях.
Имена и адреса
ФИО в любых падежах, города, улицы и дома — модель распознавания, быстрая или точная на ваш выбор.
Ваши слова
Названия клиентов, кодовые имена проектов, номера договоров и внутренние домены — из вашего словаря.
Возражение 03
«Как убедиться, что он работает на наших текстах?»
Не на примерах из презентации, а на своём письме и своём логе.
Демо: вставьте текст и посмотрите, что уйдёт в модель
Вместе со шлюзом ставится страница демо: вставляете любой текст, видите замаскированную версию и список найденного с типами, переключаетесь между восемью готовыми наборами — поддержка, HR, банк, код, логи, договор, корпоративные данные — и, если модель настроена, прогоняете текст через неё и получаете ответ с восстановленными данными.
← прокрутите кадр →
Возражение 04
«Сколько это внедрять?»
Обычно такой проект — квартал с интегратором.
Три команды и три вопроса
Скрипт установки спросит, какую модель использовать — запустить на этой машине, указать адрес вашей или пока обойтись без неё, — насколько тщательно искать имена и адреса и на каких портах открыть шлюз и демо. Дальше он сам скачает и запустит всё необходимое и проверит себя: замаскирует тестовое письмо, пропустит через шлюз и убедится, что в ответе всё восстановилось.
git clone https://github.com/buffsystems/buff-guardrails.git
cd buff-guardrails
./install.shDocker
Linux, macOS или Windows с Docker Desktop. Видеокарта не нужна: правила и базовая модель распознавания работают на процессоре.
Память
8 ГБ для шлюза и демо. Если модель будет работать на этой же машине — от 16 ГБ.
Модель
Ollama в комплекте, vLLM для машины с видеокартой NVIDIA или адрес модели, которая уже есть в компании. Можно начать и без модели — только маскирование и демо.
Шлюз понимает API Anthropic и OpenAI. Claude Code достаточно трёх переменных окружения:
export ANTHROPIC_BASE_URL=http://localhost:4000
export ANTHROPIC_AUTH_TOKEN=sk-...
export ANTHROPIC_MODEL=defaultClaude Desktop и Cowork, Buff Code и любой SDK подключаются так же — пошагово для Windows, macOS и Linux, с экспортом настроек для раздачи сотрудникам: docs/clients.md
Возражение 05
«А если он что-то пропустит?»
Честный ответ важнее красивой цифры.
Что шлюз делает, а чего не делает
Слабое место базового варианта — адреса: spaCy на русском видит названия улиц и городов, но не номера домов. На живых переписках он находит 60 имён и 51 адрес из ста, точная модель ruBERT — 92 и 98, ценой 150 миллисекунд на запрос вместо 11. Если сотрудники работают с обращениями клиентов, выбирайте ruBERT — это один пункт в установщике.
- Не блокирует запросы и не ведёт реестр инцидентов: это не DLP, а слой между сотрудником и моделью, который делает обычную работу безопасной.
- Не заменяет правовые основания обработки: он снимает передачу данных третьему лицу, остальное — ваши регламенты.
- Не обещает ста процентов: цифры измерены на открытых наборах и воспроизводятся командой make bench в репозитории.
- Открытый код под лицензией MIT: что именно и как маскируется, можно проверить, а не поверить.
Остальные вопросы
Что спрашивают о Buff Guardrails
Это ещё один прокси, через который пойдут наши данные?
Нет. Шлюз ставится на вашей машине и наружу не ходит: модели распознавания скачиваются при первом старте и дальше работают офлайн. Внешний адрес модели появится, только если вы сами его укажете.
Какие модели можно использовать?
Любую с OpenAI-совместимым API. В комплекте Ollama — например, gemma3 на процессоре — и vLLM для машины с видеокартой NVIDIA; можно указать адрес модели, которая уже работает в компании.
Что с английскими текстами и смешанными логами?
Движок понимает русский и английский, так что английские фрагменты внутри русского письма или лога обрабатываются. Качество мы измеряли на русских данных — на них набор и рассчитан.
Можно добавить свои слова — названия клиентов, проектов?
Да. Корпоративный словарь в YAML: названия клиентов, кодовые имена проектов, номера договоров и внутренние домены маскируются наравне с остальным и так же восстанавливаются в ответе.
Это часть Buff или отдельный продукт?
Отдельный открытый набор, Buff для него не нужен. Он работает с любым клиентом, который ходит в OpenAI или Anthropic API: Claude Code, Claude Desktop и Cowork, Buff Code, ваши скрипты.
Где задать вопрос или сообщить об ошибке?
В issues репозитория buff-guardrails на GitHub. Поддержка по договору — в составе Enterprise.
С чего начать
Поставьте шлюз и вставьте в демо своё письмо
Нужны Docker и 8 ГБ памяти. Через несколько минут после ./install.sh у вас адрес шлюза для Claude Code и демо, в котором видно, что уйдёт в модель.
Открытый код, лицензия MIT. Вопросы и ошибки — в репозитории на GitHub