Функции включаются по одной
Функций девять — сводки обращений, предложенные ответы, переписывание, перевод, классификация, черновики маркетинговых текстов, анализ злоупотреблений, административный копилот и инструменты MCP — и каждая включается отдельно, со своим провайдером, моделью, бюджетом и сроком хранения. Функция выключена, пока вы не включите её и не выберете провайдера и модель. Функция, которая включена, но настроена неверно, показывается как «включена, но непригодна к использованию», а не ведёт себя молча как выключенная: переключатель, который выглядит включённым и работает как выключенный, — худший вариант из обоих. За каждой функцией стоит ручной процесс, существовавший до неё. Выключение AI оставляет их ровно такими, какими они были; поверхности сообщают «недоступно», а не падают.Что провайдер делает с вашими данными
Каждый провайдер несёт ваши ответы на основании собственных условий: сохраняет ли он запросы, может ли обучаться на них, в каком регионе обрабатывает и любое уведомление о хранении, которое вы вставите. Omniflow не может это проверить и не делает вид, что может, — эти сведения фиксируются, чтобы панель могла предупредить вас до включения функции, а не после того, как данные ушли. Предупреждения выводятся рядом с переключателем самой функции. Предупреждение в отдельной панели — это то, что читают уже после принятия решения.Реестр потоков данных
Каждый путь, которым данные могут попасть из записи Omniflow к внешнему провайдеру AI, проходит через одну и ту же контрольную точку, подробно описанную в Приватность AI. Эта таблица — та же история в виде реестра, а не повествования: один источник — одна строка, чтобы на вопрос о потоке данных можно было ответить, посмотрев в таблицу, а не прочитав всю страницу.
Каждая строка проходит через шлюз редактирования или проверку RBAC прежде, чем
что-либо покинет установку — не существует пути от источника данных к
провайдеру, минующего оба.
Проверка прав доступа
Вызов инструмента MCP авторизуется так же, как клик в панели: по собственному праву доступа RBAC вызывающего оператора, а не по полномочиям служебной идентичности — см. Каждый инструмент отображается на право доступа, которое у вас уже есть. Именно это свойство делает периодическую проверку прав доступа содержательной, а не формальностью:- Каждое сопоставление сервера/инструмента с правом доступа видно и редактируется в Настройки → AI и MCP — не существует сопоставления, существующего только в конфигурации, недоступной для просмотра проверяющим.
- Изменяющему инструменту требуется одновременно
AllowMutationsна сервере и сам инструмент, явно указанный в списке разрешённых; включение подключения само по себе не даёт права на запись. - Каждое изменение сопоставления само является аудируемым действием настройки, поэтому проверку можно начинать с «что изменилось с последней проверки», а не переаудировать весь реестр каждый раз.
- Собственный сервер MCP Omniflow следует тому же правилу в обратном направлении: подключённый клиент не может увидеть, а тем более вызвать, инструмент, которым аутентифицированный оператор уже не мог бы воспользоваться в панели.
Лимиты использования
Потолки применяются на четырёх уровнях: один оператор, одна роль, одна функция или вся установка. Каждый ограничивает запросы, токены или оценочную стоимость за окно. Когда применимы несколько, вам сообщают о самом узком, потому что средство устранения различается: «вы израсходовали свою квоту» и «установка израсходовала свою квоту» требуют от одного и того же человека разных действий. У установки без настроенных лимитов потолка нет — это распространённый и законный случай.Расходы и производительность
Отчёт об использовании показывает запросы, токены, среднюю задержку и p95, сбои и оценочную стоимость с группировкой по функции, провайдеру и модели. Ни промптов, ни содержимого выводов в нём нет, потому что они не сохраняются: в таблице, из которой он читает, для них нет колонок. Таблица метрик, которая способна хранить тело обращения, рано или поздно его хранит. Стоимость указана как оценочная. Omniflow не видит счёта, а колонка с именемcost_minor без слова «оценочная» рядом соблазняет кого-нибудь сверять по ней.
Хранение и юридическая блокировка удаления
Срок хранения задаётся для каждой функции, потому что материал разный: маркетинговый черновик — это ваш собственный текст, а сводка обращения — чья-то жалоба. Промпты по умолчанию не хранятся; выводы хранятся в течение заданного вами срока. Юридическая блокировка приостанавливает удаление по одному субъекту. Она работает только в одну сторону: она может продлить хранение того, что уже хранится, и никогда не может привести к хранению того, что ваша политика запретила хранить. Блокировка — это указание не удалять, а не указание собирать.Экспорт аудита помечает решения, принятые под влиянием AI
Когда оператор действует на основании того, что произвела модель, это записывается с указанием субъекта, функции, провайдера и модели, версии политики и оператора — а также того, принял ли он результат, отредактировал его или отклонил. «Отредактировал» отделено от «принял», потому что переписать половину черновика — это другое решение, чем нажать «отправить» без изменений. Существенные решения — неблагоприятные и финансовые — помечаются, поэтому экспорт можно сузить до тех, о которых вообще кто-нибудь спросит. Экспорт закрыт правом доступа на экспорт аудита, а не правом на настройки: это артефакт аудита.Оценка качества и пороги регрессии
Omniflow поставляется с наборами оценки для предложенных ответов, маркетинговых текстов, анализа злоупотреблений и перевода. Они существуют, чтобы ответить на вопрос, на который нельзя ответить чтением кода: стало ли поведение хуже? Изменение промпта, смена модели или смена провайдера — каждое из этих событий способно ухудшить ответ, не сломав ни одного теста. Безопасными для поставки эти наборы делают два свойства. Каждый случай доказуемо синтетический. Текст каждого случая при загрузке пропускается через продакшен-редактор, и случай, содержащий хоть что-то, что тот вырезал бы, отклоняется. Набор оценки — ровно такой файл, в котором рано или поздно оседает настоящее обращение, вставленное кем-то при отладке, а обещание в README этого не переживает. Каждое ожидание — это свойство, а не эталонная строка. «Ссылается на источник, который ему дали», «укладывается в лимит Telegram», «не обещает возврат» — такие ожидания переживают модель, формулирующую иначе. Фикстура с ожидаемым выводом падает на первом же перефразировании и удаляется в течение месяца.Пороги
Измерение, которое набор не проверяет, даёт ни регрессии, ни уверенности.
Оно отмечается как непроверенное, потому что смешение «мы проверили, и всё было
в порядке» с «мы никогда не проверяли» — это то, как заслон перестаёт быть
заслоном.
Сегодня прогоны оценки запускаются вручную. Автоматический запуск тратил бы
ваш бюджет у настроенного вами провайдера, никого не спросив.