Замена персональных данных на пути от ваших программ к языковым моделям.
Ваши программы обращаются к российским и зарубежным языковым моделям (LLM) через один адрес шлюза, а не к каждому поставщику отдельно.
Прежде чем текст уйдет к модели у поставщика, шлюз заменяет найденные в нем персональные данные, номера счетов и карт кодами, а в ответе возвращает настоящие значения.
У каждой программы свой ключ доступа с лимитами расхода. Каждый запрос шлюз записывает в журнал, без текстов запросов и ответов.
Шлюз работает в облаке БизнесМатики в России или на ваших серверах, в том числе без выхода в интернет.
Программа здесь - это чат-бот, который отвечает клиентам, сервис, который разбирает письма клиентов, или другая система вашей компании, которая сама отправляет текст языковой модели. Обращение - это один запрос программы к модели через шлюз и ответ на него. Ситуации ниже - это наша оценка типичных случаев, а не результат исследования.
Программы уже отправляют поставщикам моделей текст целиком
Проблема
Например, программа, подключенная к модели напрямую, отправляет поставщику письмо клиента вместе с фамилией, телефоном и номером заказа.
За эти данные отвечает ваша компания как оператор персональных данных, а какие данные ушли и к какому поставщику, обычно нигде не собрано.
Что делает шлюз
Поставщик модели получает текст, где найденные данные заменены кодами, и по коду понимает только категорию данных, например «телефон».
Программа получает ответ уже с настоящими значениями.
Служба замены находит не все значения. Сколько она нашла на синтетическом наборе и где замена не помогает, сказано в разделе «Какие данные заменяются».
Служба безопасности не пускает персональные данные к моделям у поставщиков
Проблема
Из-за запрета проекты с языковыми моделями часто стоят, или их переводят на модель, которая работает на ваших серверах и обычно отвечает хуже моделей у поставщиков.
Что делает шлюз
Администратор вашей компании назначает ключу каждой программы класс данных, например «персональные данные» или «коммерческая тайна».
Правила шлюза заранее определяют для каждого класса, может ли запрос уйти к модели у поставщика. Если может, он уходит только после замены. Если нет, он идет только к модели на ваших серверах, а если ее нет, программа получает отказ.
Журнал обращений показывает службе безопасности, какая программа обращалась к моделям и какие категории данных заменялись, без текстов запросов.
Ключи поставщиков и расход у каждой команды свои
Проблема
Часто каждая команда подключает свою программу к поставщику модели своим ключом.
Тогда вы не видите в одном месте, сколько расходует каждая программа и какие данные отправляет, и не можете заранее поделить бюджет между командами.
Что делает шлюз
Ключи доступа к шлюзу программам выдает администратор вашей компании, а не команда, которая пишет программу.
У каждого ключа свой лимит на минуту, сутки и месяц. Так бюджет делится между программами заранее, а когда лимит исчерпан, запросы программы получают отказ, и перерасхода нет.
Если программу нужно отключить, администратор отзывает ее ключ, и следующий запрос с этим ключом получает отказ.
Расход по каждому ключу администратор видит в ежемесячном отчете.
Как проходит один запрос
Шлюз стоит между вашими программами и поставщиками языковых моделей. Модель у поставщика - это модель за пределами серверов, где работает шлюз, российская или зарубежная. Ниже пример одного запроса к такой модели и его путь по шагам.
Программа отправила
Клиент Анна Павловна Смирнова, телефон +7 916 123-45-67, просит перенести доставку на пятницу. Составь ответ клиенту.
Модель получила
Клиент ⟦PERSON-NAME:7f3a9c21b4e8d05f⟧, телефон ⟦PHONE:9b02e6d4c1a7f358⟧, просит перенести доставку на пятницу. Составь ответ клиенту.
Программа получила
Анна Павловна Смирнова, доставку перенесли на пятницу. Курьер позвонит накануне по номеру +7 916 123-45-67.
Пример составлен для страницы, данные в нем вымышленные. Код состоит из названия категории данных латиницей и шестнадцати знаков, из которых значение не вычислить. По названию категории модель понимает, что перед ней имя или телефон, и отвечает по смыслу.
1
Шлюз узнает программу по ключу
Программа отправляет запрос шлюзу вместе со своим ключом доступа, там же, где передают ключ поставщику.
В облаке шлюзом пользуются разные компании, и у каждой свои ключи, лимиты и журнал. Компанию шлюз определяет по ключу, а не по запросу, поэтому программа не может выдать себя за другую компанию.
Если ключ отозван, программа получает отказ.
2
Шлюз проверяет лимит
Если лимит ключа исчерпан, шлюз отказывает еще до замены.
Перед вызовом модели шлюз откладывает под запрос объем текста из лимита, а после ответа списывает из лимита фактический объем. Поэтому даже одновременные запросы не выходят за лимит.
3
Шлюз решает, куда можно отправить запрос
По классу данных компании, классу ключа и правилам шлюз еще до замены решает, может ли запрос уйти к модели у поставщика.
Если не может, запрос без замены идет только к модели на ваших серверах и эти серверы не покидает. Если такой модели нет, программа получает отказ.
4
Служба замены ставит коды вместо данных
Служба замены - это часть платформы Svaya. Она работает на тех же серверах, что и шлюз, поэтому ради замены текст никуда не отправляется.
Найденные ключи к другим системам, пароли и закрытые ключи шифрования шлюз удаляет из текста и ставит на их место пометку ⟦SECRET⟧. Шлюз их не сохраняет и в ответ не возвращает.
Если среди найденных данных есть те, которые правила не пускают к модели у поставщика, шлюз отменяет вызов, и программа получает отказ.
Если служба замены или журнал недоступны до вызова модели, шлюз отказывает, и к модели не уходит ничего.
5
Модель отвечает, шлюз возвращает значения
Программа называет в запросе класс модели (сильный, стандартный или легкий), а какую модель этого класса вызвать, задано в настройке шлюза. Модель получает текст с кодами.
Если модель вписала в ответ код, которого в этом запросе не было, шлюз ставит на его место пометку «[данные недоступны]». Так в ответ не попадут данные из другого запроса.
На место кодов этого запроса шлюз ставит настоящие значения, в том числе в ответе, который приходит по частям, и в данных, которые модель готовит для вызова функций вашей программы.
Шлюз записывает в журнал строку, где указано, какая программа обращалась, какие категории данных заменены и чем закончилось обращение. Текстов запросов и ответов в журнале нет.
Тексты запросов и ответов шлюз не хранит. Пары «код и значение» одного запроса служба замены держит в зашифрованном виде и удаляет, когда запрос завершен. Если запрос оборвался из-за сбоя, пары удаляются не позже чем через 10 минут.
Какие данные заменяются
Шлюз заменяет 20 категорий персональных данных и реквизитов, одинаково для всех компаний. Восемь категорий он не заменяет, и настройки, которая их включает, у шлюза нет. Если в этих категориях есть значения, которые нужно заменять, например названия ваших юридических лиц, ваш администратор вносит их в словарь компании.
Фамилия, имя, отчествоДата рожденияАдресНомер автомобиляНомер карты лояльностиНомер заказа
ИНН и ОГРН
ИНН человека и организацииОГРН и ОГРНИП
Не заменяются
Название организацииГород, регион и другие географические названияБИККППОКПОКадастровый номерНомер судебного делаДоменное имя
Найденные ключи к другим системам, пароли и закрытые ключи шифрования шлюз удаляет из текста без отдельной настройки. Такой секрет шлюз узнает по виду записи и по слову рядом, например «пароль», а секрет без такого слова может уйти к модели. Сколько секретов находит шлюз, не замерялось.
Словарь компании - это два списка, которые ведет ваш администратор. В список «заменять» он вносит названия ваших юридических лиц, объектов и номенклатуры, в список «не заменять» названия продуктов и номера типовых договоров, похожие на данные. Заменяется только запись, совпадающая со словарем, а то же название в другом падеже может не замениться, поэтому словарь стоит проверить в пилоте.
Сведения о здоровье, убеждениях и другие особые категории персональных данных служба замены не распознает. Для программ с такими текстами администратор назначает ключу класс данных, с которым запрос к модели у поставщика не уходит. Тогда запрос идет только к модели на ваших серверах, а если ее нет, как в облаке, программа получает отказ.
Дату, записанную цифрами, служба замены может принять за дату рождения и заменить, и тогда модель не сможет посчитать по ней срок.
Настоящее значение возвращается в той форме, в какой впервые встретилось в тексте, поэтому в ответе может получиться «письмо для Иван Петров» вместо «для Ивана Петрова». Поэтому программе или сотруднику стоит проверять такой текст перед отправкой клиенту.
Где замена не помогает
Замена ищет в тексте конкретные значения, например номер или фамилию, а не смысл. Поэтому деловой текст без персональных данных уходит к модели у поставщика дословно.
Пересказ и описанияСделку, описанную своими словами, поставщик модели может узнать и после замены имен, реквизитов и слов из словаря.
Коммерческая тайнаЦены, условия договоров и исходный код не входят ни в одну категорию. Для таких текстов администратор назначает ключу класс данных, с которым запрос к модели у поставщика не уходит, а без модели на ваших серверах получает отказ.
Изображения и файлыЗапрос с изображением или файлом шлюз отклоняет. Текст документа программа должна извлечь сама и прислать текстом.
Цифры номеровНомер карты, номер банковского счета и ИНН заменяются кодом, поэтому модель не видит их цифр и не сможет, например, проверить контрольную цифру ИНН.
Ненайденные значенияЗначение, которое служба замены не нашла, уходит к модели как есть, и в журнале этого не видно.
Сколько данных находит служба замены
Мы проверили службу замены 9 сентября 2026 года в том составе, которым по плану работает шлюз (правила поиска вместе с дообученной моделью распознавания), на синтетическом наборе (текстах, которые генератор собрал по шаблонам деловых ситуаций, без настоящей переписки). В наборе 61 250 значений 28 категорий. На запросах через шлюз замера нет, поэтому на своих текстах вы проверяете замену в пилоте.
97,1%
Найдено значений по 28 категориям вместе (доверительный интервал 97,0-97,2% при уровне доверия 95%, то есть разброс из-за размера набора)
99,1%
Найдено в записи по шаблонам набора, как в документах и деловых письмах (интервал 99,0-99,1%)
89,3%
Найдено в записи, которой нет в шаблонах набора, например с перестановками и другими разделителями, это пятая часть набора (интервал 88,8-89,9%)
5%
Доля деловых текстов без персональных данных, в которых служба замены заменила лишнее слово, и модель могла ответить хуже (15 из 300 таких текстов)
Из 1 000 значений набора, если пересчитать 97,1% на тысячу
971 служба замены нашлаоколо 29 она не нашла
Как читать эти числа
Мы проверяли саму службу замены, а не запросы через шлюз. В запросах через шлюз данные бывают и в других частях запроса, например в описаниях функций, которые заполняет программа.
Шлюз заменяет 20 категорий из 28, поэтому общий результат 97,1% к нему напрямую не относится.
На текстах вашей компании числа могут оказаться как выше, так и ниже.
Проверку делали мы сами, независимой проверки чисел не было. Секреты и словарь компании в нее не входили.
Класс данных определяет, может ли запрос уйти к модели у поставщика
Класс данных говорит, какие данные идут в запросах программы, например «персональные данные» или «банковская тайна», и к каждому классу относятся свои категории замены. Класс ключу заранее назначает ваш администратор, и понизить его по тексту запроса шлюз не может. Для каждого класса в правилах шлюза записано, может ли такой запрос уйти к модели у поставщика, поэтому вы заранее знаете, куда может уйти запрос каждой программы.
Какие бывают классы данных
Открытые данныеСведения, которые можно показывать всем. Своих категорий замены у класса нет, а если в запросе найдутся персональные данные, запрос проверяется и по правилам для них.
Внутренние данныеСведения для внутреннего пользования. Из 12 категорий этого класса заменяются 4, например ОГРН и IP-адрес, а название организации и КПП нет.
Персональные данныеЗаменяются 14 категорий, от паспорта и СНИЛС до телефона, адреса и ФИО.
Особые категории персональных данныхСведения о здоровье и убеждениях не распознаются, поэтому их защищает только класс, назначенный ключу.
Банковская тайнаЗаменяются номер банковского счета и номер карты.
Коммерческая тайнаНе распознается. Точные названия из словаря компании служба замены заменяет, а пересказ нет.
К моделям у поставщиков только после замены
Российские GigaChat и YandexGPT для правил тоже модели у поставщиков, как и зарубежные.
На этом пути шлюз заменяет данные всегда, к какой бы модели ни ушел запрос.
Только к модели на ваших серверах
Если правила не пускают запросы класса к моделям у поставщиков, запрос без замены идет к модели на ваших серверах и эти серверы не покидает.
В облаке БизнесМатики модели для таких запросов нет, и они получают отказ. Такую модель можно заказать отдельной позицией, а где она будет работать, согласуют отдельно.
Класс ключа не мягче класса компанииКласс ключа может быть таким же строгим, как класс компании, или строже. Если администратор назначит ключу класс мягче, шлюз такое назначение отклонит. Ключ без класса работает по классу компании.
Найденные данные могут только остановить запросЕсли служба замены нашла в запросе данные строже класса ключа, например паспорт в запросе с классом «открытые данные», шлюз проверяет запрос и по правилам для персональных данных. Если эти правила закрывают модели у поставщиков, шлюз отменяет вызов, записывает инцидент, а программа получает отказ. К модели на ваших серверах такой запрос не перенаправляется.
Класс определяет путь, а не поставщикаУ ключа нет настройки «только российские модели». Если правила пускают класс к моделям у поставщиков, запрос с кодами может уйти и к зарубежному поставщику, а какую модель вызвать, задано в настройке шлюза.
Кто задает правила и моделиВ облаке правила и выбор моделей задает БизнесМатика, одни на все компании. Строже для вашей компании их делают класс компании, который задает оператор БизнесМатики, и классы ключей, которые назначает ваш администратор. На ваших серверах правила и модели настраивает ваша компания.
Как вы управляете ключами, лимитами и журналом
Своих экранов у шлюза нет, поэтому ключами, лимитами и журналом управляют через его программный интерфейс. Ключи и лимиты ведет администратор вашей компании, а журнал читает аудитор, например сотрудник службы безопасности. Это разные учетные записи.
Ключ на программу или командуТехнически число ключей не ограничено, в пилоте их до пяти. Строку ключа администратору показывают один раз, и потерянный ключ не восстанавливают, а заменяют новым. Шлюз хранит только отпечаток ключа (значение, по которому ключ можно проверить, но не восстановить), а служба входа платформы (Keycloak) хранит секрет ключа в виде, который может прочитать ее администратор.
Отключение программыОтозванный ключ перестает работать со следующего запроса. Если вместо этого убрать из компании учетную запись, к которой привязан ключ, доступ закроется в течение 15 минут, поэтому программу немедленно отключают именно отзывом ключа.
Ключ одной компанииКлюч действует только в своей компании, поэтому программе, которая работает с несколькими компаниями, нужен отдельный ключ в каждой.
Ключ не уходит поставщикуШлюз проверяет ключ у себя, и поставщик модели не получает ни ключ программы, ни сведений о вашей компании и программе.
Лимиты ключа
Администратор задает лимит отдельно на минуту, сутки и месяц, и за каждый из этих периодов считаются три величины (число обращений, токены в запросах и токены в ответах). Токен - это единица объема текста, в которой поставщики моделей считают расход. Ключ без лимита не работает. Сумма лимитов ключей не больше лимита компании, который в облаке задает оператор БизнесМатики (ее сотрудник, который ведет облако), а на ваших серверах сама ваша компания.
Период
Для чего
Когда лимит исчерпан
Как ключ снова работает
Минута
Защищает от всплеска запросов, расход не ограничивает
Программа получает отказ «подождите», он отличается от отказа «объем кончился»
Сам, после короткой паузы
Сутки
Ограничивает расход за день. Сутки начинаются в 3:00 по московскому времени
Отказ «объем кончился», ключ не работает до конца суток
С новыми сутками или после того, как администратор увеличит лимит
Месяц
Ограничивает расход за месяц. С 80% объема в каждом ответе программа видит, сколько лимита осталось
Отказ «объем кончился», ключ не работает до конца месяца или до увеличения лимита
С новым месяцем или после увеличения лимита, ключ перевыпускать не нужно
Что в строке журналаВ строке указаны программа и компания, класс данных ключа и классы найденных данных, какие категории данных заменены и сколько раз, класс модели, чем закончилось обращение и ссылка на инцидент, если он был. Текстов запросов и ответов, самих значений и имени сотрудника в журнале нет.
Кто читает журналАудитор компании читает журнал только своей компании и выгружает его файлом для своих систем. Администратор компании журнал не читает, поэтому доступ к журналу можно дать службе безопасности, не давая ей права управлять ключами. В облаке журнал всех компаний, тоже без текстов, видит еще сотрудник БизнесМатики с ролью аудитора платформы.
Защита от правкиКаждая запись связана контрольной суммой с предыдущей, поэтому исправленную или удаленную запись покажет проверка журнала, которую запускает администратор серверов. Проверка не покажет подмену записи до того, как журнал ее принял, перепись последних записей тем, у кого есть право записи, и перепись журнала вместе с резервными копиями. В облаке администратор серверов - это БизнесМатика.
Без записи нет обращенияЕсли журнал не принял запись, шлюз не вызывает ни замену, ни модель, и программа получает отказ.
Отчет о расходеАдминистратор запрашивает у шлюза отчет о расходе за месяц по каждому ключу, по классам моделей и в токенах. Писем о том, что израсходовано 80% лимита, шлюз не отправляет.
Модели и подключение программы
Программа называет класс модели, а не модель
В запросе программа указывает класс модели. Сильный класс гарантирует, что модель умеет вызывать функции программы и отдавать ответ в заданной структуре (JSON), стандартный гарантирует только структуру, легкий таких гарантий не дает.
Модели за каждым классом заданы в настройке шлюза. Если модель не ответила, шлюз повторяет запрос, а затем отправляет его резервной модели того же класса, если она задана, и программе для этого ничего делать не нужно.
Резервная модель берется только из тех, к которым класс данных пускает запрос. Если недоступны все такие модели, программа получает отказ. В минимальной поставке без выхода в интернет модель одна, и резервной нет.
Модель за классом меняет тот, кто настраивает шлюз (в облаке это БизнесМатика), и код программ при этом менять не нужно. Стиль ответа и расход у другой модели могут отличаться, поэтому после смены ответы стоит проверить.
Кому уходит запрос
Российские поставщики - это Сбер (GigaChat) и Яндекс (YandexGPT). Запрос с кодами вместо найденных данных уходит им.
К зарубежным поставщикам относится, например, DeepSeek (Китай), и запрос с кодами уходит к ним за пределы России.
Модель на ваших серверах - это открытая модель (ее разрешено ставить у себя), которая работает на вашей видеокарте. Запрос, которому закрыт путь к поставщикам, идет к ней без замены.
Без выхода в интернет моделей у поставщиков нет, и все запросы обслуживает модель на ваших серверах.
Что меняется в программе при подключении
Шлюз принимает запросы в формате OpenAI Chat Completions (это название формата запросов к моделям, а не адресат), другие виды запросов этого формата шлюз не принимает. Программа, которая уже работает в этом формате, подключается правкой настроек. Код правят разработчики там, где программа опирается на то, чего у шлюза нет.
Что в программе
Как это работает через шлюз
Что сделать разработчикам
Адрес и ключ
Запросы идут на адрес шлюза, а ключ доступа передается там же, где раньше ключ поставщика
Поменять адрес и ключ в настройках
Имя модели
В поле model указывается класс модели (сильный, стандартный или легкий), а не имя модели поставщика
Заменить имя модели классом
Ответ целиком и по частям
Работает как прежде, но ответ по частям приходит с задержкой на проверку секретов, а значения возвращаются по мере прихода частей
Ничего
Вызов функций и ответ в заданной структуре
Описания функций, данные вызова и структура ответа проходят замену, а в ответе данные приходят с настоящими значениями
Ничего
Изображения и файлы
Запрос с изображением или файлом шлюз отклоняет
Извлекать текст у себя и присылать текстом
Строка останова
Строка, на которой модель должна остановиться, тоже проходит замену. Если в ней есть имя, номер или другие найденные данные, остановка по ней не сработает
Не ставить такие данные в строку останова
Поля вне перечня и список моделей
Запрос с полем, которого нет в перечне полей шлюза, например user или seed, шлюз отклоняет, а запроса списка моделей у шлюза нет
Не передавать такие поля и не запрашивать список моделей
ничего не меняетсяменяется настройкойнужна правка кода
Где работает шлюз и как начать
Шлюз один и тот же во всех формах поставки, и журнал обращений он ведет в каждой. Формы различаются тем, где работает шлюз, какие модели ему доступны и кто ставит обновления.
Форма поставки
Где работает и что уходит наружу
Какие модели
Кто ставит обновления
Когда выбирать
Облако БизнесМатики
В облаке БизнесМатики в России. К моделям у поставщиков запрос уходит после замены, к зарубежным за пределы России
GigaChat, YandexGPT, DeepSeek и модели других зарубежных поставщиков. Модели для данных, которым закрыт путь к поставщикам, в облаке нет
БизнесМатика
Для пилота и для работы без своих серверов под шлюз
Ваши серверы с вашими ключами к поставщикам моделей
На ваших серверах. Замена идет внутри вашей сети, и к поставщику уходит запрос после замены
Модели поставщиков, с которыми у вас договор, через ваши ключи к ним, но к зарубежным поставщикам из России напрямую не подключиться. Если хотя бы одной программе закрыт путь к поставщикам, в поставку добавляется модель на вашей видеокарте
Ваша ИТ-служба ставит комплект обновления, подписанный БизнесМатикой. Первый год обновлений входит в лицензию
Когда служба безопасности требует, чтобы замена шла внутри вашей сети
Ваши серверы без выхода в интернет
На ваших серверах, и запросы их не покидают
Только открытая модель на вашей видеокарте. Минимальная поставка рассчитана на одну видеокарту с памятью 24-48 ГБ. Моделей у поставщиков нет
Ваша ИТ-служба ставит комплект с носителя, модель обновляется так же
Когда сеть закрыта от интернета или запросы нельзя выпускать наружу даже после замены
Договор на облако один, с российским юридическим лицом БизнесМатики, документы в рублях. Ваша компания остается оператором персональных данных, а БизнесМатика обрабатывает их по вашему поручению.
От самой БизнесМатики данные в облаке шифрованием не защищены. Доступ ее сотрудников ограничен их ролью и правами, а сохранность данных закреплена договором.
В облаке у всех компаний общий предел расхода на вызовы моделей, который задает БизнесМатика. Сумму лимитов компаний она держит ниже этого предела, но его могут исчерпать служебные вызовы платформы и расход других компаний, и тогда программа получит отказ, даже если лимит ее ключа не исчерпан. Договор облака этот случай оговаривает.
Шлюз на ваших серверах с выходом к поставщикам и шлюз без выхода в интернет собираются по-разному и принимаются разными проверками, поэтому форму вы выбираете заранее, одна в другую настройкой не превращается.
Когда шлюз на ваших серверах сдан вашей ИТ-службе, у БизнесМатики нет к нему административного доступа.
Открытая модель на вашей видеокарте обычно отвечает хуже моделей у поставщиков. Требования к видеокарте - это инженерная оценка, а не замер, и БизнесМатика уточняет состав оборудования, когда обследует ваши серверы перед поставкой.
Как проходит пилот
Срок и объемПилот идет 30 дней в облаке БизнесМатики, в нем до пяти ключей доступа и до 3 000 обращений на компанию. Обращение - это один запрос программы к любой модели. Продлить пилот может оператор БизнесМатики.
Что готовит ваша компанияПеречень программ и нужных им классов данных, списки для словаря «заменять» и «не заменять» и образцы своих текстов для проверки. Нужен и сотрудник, который примет протокол проверки.
Что проверяетсяКак программы работают через шлюз и сколько данных служба замены находит в ваших текстах. БизнесМатика записывает в протокол, что проверялось, на каком объеме и с каким результатом.
После пилотаВы решаете, остаться в облаке, перенести шлюз на свои серверы или отказаться. В облаке число ключей и лимит расхода выбирают по отчету о расходе за пилот. Перенос начинается с того, что БизнесМатика обследует ваши серверы. Лицензия на шлюз на ваших серверах бессрочная, и технического замка у нее нет, поэтому из-за лицензии шлюз не отключится.
Чего шлюз не делает
Шлюз заменяет данные, применяет правила классов данных, ведет ключи, лимиты и журнал. Защиту от атак на сами модели он не дает.
Атаки на модели и ИИ-агентовШлюз не распознает попытки подменить инструкции модели или обойти ее ограничения, в том числе через файлы, базы знаний и письма, которые попадают в запрос. Он не ограничивает действия ИИ-агентов (программ, которые сами выполняют действия). Такую защиту дают специализированные российские поставщики отдельным продуктом, а совместную работу шлюза с таким продуктом БизнесМатика пока не описывала.
Изображения, звук и другие форматыШлюз принимает только текст, а запрос с изображением, звуком или файлом отклоняет. Запросы в собственных форматах поставщиков он тоже не принимает, только формат OpenAI Chat Completions.
Выгрузка в систему мониторинга безопасностиСвои события шлюз в систему мониторинга безопасности вашей компании (SIEM) не отправляет, а журнал обращений аудитор выгружает сам.
Реестр российского ПОШлюза нет в реестре российского программного обеспечения.
Круглосуточная доступностьКруглосуточную доступность с компенсациями БизнесМатика не обещает, обязательства по доле времени работы в договоре облака нет.
Устройство для ИТ-службы и службы безопасности
Шлюз собран из служб платформы Svaya. Персональные данные ищет служба замены, к моделям обращается только маршрутизатор моделей, журнал ведет служба журнала платформы, а сам шлюз держит ключи доступа, лимиты и порядок шагов обращения.
Что где хранится
Данные
Где лежат
Чем закрыты и сколько хранятся
Тексты запросов и ответов
У шлюза и маршрутизатора нигде
Шлюз не хранит ни исходные, ни замененные тексты, кеш ответов у маршрутизатора выключен. В трассы содержимое попадает только после замены
Карта замен
База службы замены и ее кеш
AES-256-GCM с отдельным для каждой компании ключом, который не выходит из службы замены, кеш тоже зашифрован. Удаляется в конце обращения, при обрыве не позже чем через 10 минут, а в резервные копии базы попадает зашифрованной
Ключи доступа
Таблица шлюза и Keycloak
Шлюз хранит отпечаток. Keycloak, который проверяет секрет, хранит его в виде, доступном для чтения администратору Keycloak
Ключи шифрования и секрет замены компании
Ядро платформы
Зашифрованы главным ключом шифрования. Секрет замены, из которого выводятся коды компании, читает только служба замены
Журнал обращений и учет расхода
ClickHouse и база маршрутизатора
Без текстов. Журнал рассчитан на хранение в течение срока договора и еще года, записи связаны цепочкой SHA-256
Изоляция компанийКомпанию запроса шлюз берет из ключа доступа, строки компаний в базе разделены построчной защитой PostgreSQL, а ключи шифрования и коды у каждой компании свои. Криптографической защиты от владельца серверов нет.
Отказ вместо рискаЕсли служба замены, журнал или ядро платформы недоступны, шлюз отказывает, а не отправляет запрос к модели без замены или без записи. Цена этого выбора в том, что при таком сбое ваши программы не работают.
Разделение обязанностейШлюз собирает текст, служба замены заменяет данные и подписывает квитанцию о замене, а маршрутизатор выпускает наружу только запрос с отметкой о замене. Квитанцию шлюз сверяет до вызова модели.
Коды отказовОтказ приходит в формате OpenAI с кодом причины из закрытого перечня шлюза, поэтому программа отличает ошибку запроса от исчерпанного лимита и сбоя службы, а текст ошибки поставщика ей не передается. Если шлюз остановился посреди ответа по частям, соединение обрывается без такого кода.
Обновления и копииНа ваших серверах обновление начинается со свежей резервной копии и плана обновления, а без выхода в интернет приходит подписанным комплектом на носителе. Мониторинг серверов ничего не отправляет наружу.
ПриемкаПриемка шлюза - это 61 проба, от входа по ключу и замены данных до лимитов, журнала и поведения при отказах. Каждая проба называет действие и ожидаемый исход.
Обсудить пилот
Расскажите, какие ваши программы обращаются к языковым моделям и какие данные они отправляют. С перечня программ и их данных начинается пилот в облаке БизнесМатики. На этом сайте шлюз попробовать нельзя, пилот проходит по заявке.
Нужен чат с языковыми моделями для сотрудников, с заменой персональных данных и журналом? Это отдельный продукт со своей страницей, Svaya.Доступ к ИИ-моделям.