Перейти к содержанию
GrantTapРуководство
Governance и доверие

Governance: Allow, Ask, Deny

Практическое управление возможностями на уровне проекта.

Концептуальная иллюстрация: зелёные ворота, жетон решения и оранжевая преграда
Правила, в которых можно разобратьсяИллюстрация · ImageGen
В этой главе · 6 разделов
Интерактивная схемаПравило становится ограничением на компьютере.

Схема принятия решения. Записанная политика и подтверждённое применение — отдельные состояния.

Область

Выберите нужный Project Mesh. Правило не должно случайно попадать в другой проект или компьютер.

Подробнее об этом этапе ↗

Зачем нужна Governance#

Governance — правила действий для всего Project Mesh. Вы решаете, какие инструменты агент может использовать, где нужен ваш ответ и что запрещено. Эти правила относятся к проекту, поэтому их смысл сохраняется, когда задача переходит к другой execution или на другой компьютер.

В учебном GrantTap Lab агент добавляет учебную скидку в расчёт заказа. Чтение и редактирование учебных файлов можно разрешить, сетевые действия отправить на согласование, а публикацию запретить. Получится понятная граница: работа над локальным кодом продолжается, но право выпустить результат не возникает само.

Откройте нужный Mesh и раздел Governance. Прежде чем менять правило, проверьте название проекта и участвующие компьютеры. Для знакомства с интерфейсом используйте учебный проект, а не действующий production checkout.

Allow, Ask, Deny и Custom#

Категории охватывают Agents, MCP, Skills, Shell, Scripts, File writes, Deploy и Network. Для каждой можно выбрать общее решение или уточнения.

ВыборЧто означает
InheritНе задавать новое решение проекта для этой категории; сохранить действующие родительские настройки
AllowПроект допускает действие, если другие обязательные ограничения его не запрещают
AskДля поддерживаемого пути требуется решение человека либо ранее явно подтверждённое исключение этого чата
DenyЗапретить действие там, где компьютер сообщает, что способен его остановить
CustomОтдельные решения для названных инструментов и ответ по умолчанию для остальных

Custom удобно, когда нужны разные правила для одной категории. Например, Shell может разрешать git, спрашивать о rm, а для остальных команд сохранять Ask. Для Deploy можно отдельно запретить git push. Это пример учебной настройки, а не универсальный профиль безопасности.

Названное правило уточняет ответ своей категории. Если выйти из Custom и выбрать единый ответ, прежние индивидуальные правила этой категории удаляются: скрытый запрет не должен продолжать действовать вопреки экрану.

Кто имеет последнее слово#

Project Allow не отменяет глобальный Deny провайдера, обязательные ограничения компьютера и native sandbox. Мобильное подтверждение не выдаёт агенту новые файловые права и не авторизует новый сторонний аккаунт.

Практический порядок такой:

  1. Проверяются обязательные ограничения компьютера и провайдера.
  2. Учитывается Project policy, включая индивидуальное правило инструмента.
  3. Затем применяется подходящее правило согласований для конкретного чата.
  4. Выполнение возможно только в пределах реально предоставленного native доступа.

Обычная настройка чата может сузить автоматические разрешения проекта. Отдельное человеческое подтверждение Auto allow способно разрешить автоматический ответ на Project Ask для точного чата, проекта и ревизии policy. Оно не обходит Deny и не работает как разрешение игнорировать недоступный Engine. После изменения policy прежняя ревизия исключения не становится новой автоматически.

Как убедиться, что настройка применилась#

После Save сначала появляется состояние применения. В этот момент телефон уже отправил запрос, но ещё не получил необходимое подтверждение компьютера. Проверяйте сохранённую ревизию и результаты в Enforcement.

Каждый компьютер подтверждает свою ревизию отдельно. Спящий Mac получит зашифрованное обновление, когда снова подключится. Если серверная policy уже изменилась, Engine недоступен или запрос некорректен, приходит отказ с причиной. Черновик остаётся доступным, чтобы его можно было скорректировать и применить поверх текущего состояния.

Не делайте вывод «везде включено» только по нажатию Save. Это тот же принцип, что у доставки сообщений: отправленный запрос и подтверждённое действие — разные этапы.

Четыре статуса Enforcement#

СтатусКак его читать
EnforcedHook останавливает запрещённый вызов или запрашивает решение до запуска
Observed onlyИнтеграция сообщает о вызове, но не может гарантированно остановить его заранее
UnsupportedУ этого провайдера на этом компьютере нет нужного hook для категории
UnknownКомпьютер ещё не сообщил готовность или hook не готов

Coverage относится к сочетанию компьютер + провайдер + категория. Проверять нужно именно тот маршрут, которым выполняется Task. Claude Code и Codex имеют основные локальные пути контроля. Cursor поддерживает более узкий набор; Grok Build не получает обещания такой же глубины блокировки. Смотрите границы провайдеров.

В Best available используется доступное покрытие. Для Strict интерфейс показывает Ready или Incomplete по ответу Engine. Название Strict не означает изолированную виртуальную машину или контроль над любым процессом пользователя.

От правила к понятному отказу#

Если правило остановило вызов, откройте соответствующий чат. Отказ должен объяснять, какое действие остановлено и какое правило применилось. Для анализа используйте Runtime и доказательства, а для изменения инструмента — его Governance menu или удержание строки в каталоге проекта.

Если поведение непонятно, последовательно проверьте правильный Project, owning computer, полученную ревизию, coverage и native ограничения. Установка hooks и доверие им — разные проверки. В частности, Codex должен подтвердить, что нужные определения hooks доверены и включены; одной записи в конфигурации недостаточно.

Продолжение: MCP, Skills и Shell · Совместный доступ · Диагностика.