Permit0 CLI

Движок политик для действий ИИ-агента: хук Claude Code оценивает опасность вызова до запуска и пускает, блокирует или ждет решения

  • 192 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Расширенный доступ

Почему такой уровень

  • Прописывает хук PreToolUse в настройки Claude Code: движок видит параметры каждого вызова инструмента, включая тексты писем
  • Демон с панелью на порту 9090 и базой Postgres хранит историю решений и подписывающий ключ ed25519
  • Режим unknown: allow или bypass пропускает вызовы без набора правил, поэтому защита зависит от настройки
Все причины и проверки

permit0-ai/permit0

Установка

Работает в

Ручная установка

git clone https://github.com/permit0-ai/permit0.git

Затем в папке проекта: docker compose up -d --build. Панель откроется на порту 9090. Сборка из исходников описана в docs/installation.md и требует Rust 1.85 или новее.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Прописывает хук PreToolUse в настройки Claude Code: движок видит параметры каждого вызова инструмента, включая тексты писем
  • Демон с панелью на порту 9090 и базой Postgres хранит историю решений и подписывающий ключ ed25519
  • Режим unknown: allow или bypass пропускает вызовы без набора правил, поэтому защита зависит от настройки

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Permit0 стоит между решением модели и выполнением действия. Каждый вызов инструмента приводится к каноническому действию вроде email.send или payment.transfer, оценивается детерминированно по 9 признакам опасности и 7 усилителям, после чего движок пускает его, блокирует или отправляет человеку. Оценка работает внутри процесса за доли миллисекунды и без сетевых вызовов, одинаковый вход дает одинаковый ответ. К Claude Code движок подключается хуком PreToolUse: команда permit0 hook прописывается в ~/.claude/settings.json, а адрес демона и режим одобрения лежат в ~/.permit0/config.yaml. Вызовы, которые ждут решения, попадают на вкладку Approvals панели на порту 9090. Для OpenClaw есть обертка permit0Skill, она пропускает каждый запуск скилла через тот же демон. Режим --shadow только пишет решения в журнал и ничего не блокирует, удобно сначала понаблюдать. Действие, которое не удалось привести к известному виду, не запускается само: оно уходит в очередь на одобрение. Каждое решение попадает в журнал с подписью ed25519 и цепочкой хешей. В версии 0.1 готов один набор правил, для почты Gmail и Outlook; такие наборы описываются в YAML, и свой можно написать за вечер.

Для кого. Тем, кто дает Claude Code или OpenClaw доступ к почте, базам и платежам и хочет жесткие правила, которые срабатывают до действия, а не после.

Подходит, если

  • Агент читает почту через Gmail или Outlook, и письма наружу должны проходить ваше одобрение
  • Нужна воспроизводимая оценка опасности действий и подписанный журнал решений для аудита
  • Вы пишете свой набор правил для Slack, Notion или Stripe и хотите общий словарь действий
  • Перед включением блокировок стоит неделю понаблюдать за агентом в режиме --shadow
  • Агента не пускают к настоящей работе: в Claude Code нет жесткого разрешения, которое гарантированно исполняется

Не подходит, если

  • Опасность в самом тексте ответа, например в выдуманных советах: без вызова инструмента перехватывать нечего
  • Инструмент агента не проходит через permit0 hook или шлюз: такие вызовы движок не видит
  • Нужен готовый бинарник одной командой: сейчас движок собирается из исходников на Rust или поднимается через Docker
  • Для вашего инструмента нет набора правил, а писать его некому: действия без набора копятся в очереди на одобрение

Пример запроса к агенту

Подключи Permit0 к Claude Code в режиме --shadow и покажи на панели, какие вызовы почты он счел бы опасными

Ограничения

  • Готов один набор правил, для электронной почты (Gmail и Outlook). Наборы для Slack, Notion, Linear, Stripe, Postgres, Bash и GitHub числятся в планах. Вызовы без набора по умолчанию отправляются на ручное одобрение.
  • Собранных бинарников нет: нужен Rust 1.85 или новее либо Docker. Хук-бинарник из образа копируется вручную.
  • Движок видит только вызовы, которые идут через permit0 hook или шлюз. Подпроцессы со своими сетевыми запросами и инструменты вне фреймворка агента остаются невидимыми.
  • Версия 0.1, последний коммит в репозитории датирован июнем 2026. Интеграции есть только для Claude Code и OpenClaw.

Как отключить. Уберите блок PreToolUse с командой permit0 hook из ~/.claude/settings.json и остановите контейнеры командой docker compose down в папке проекта. Файл ~/.permit0/config.yaml можно удалить.

Частые вопросы

Чем Permit0 отличается от OPA или Cedar?

OPA и Cedar описывают политики на своем языке. Permit0 поставляется готовым движком: он перехватывает вызов, приводит его к каноническому действию и оценивает опасность. В версии 0.1 в комплекте словарь из 22 областей и 159 глаголов действий.

Как подключить Permit0 к Claude Code?

Добавьте в ~/.claude/settings.json хук PreToolUse с командой permit0 hook, а в ~/.permit0/config.yaml укажите адрес демона. Решения по опасным вызовам тогда появятся на вкладке Approvals панели на порту 9090.

Что происходит с инструментом, для которого нет правил?

Он не запускается молча. Неизвестное действие уходит на ручное одобрение. Параметр unknown в config.yaml переключает поведение: bypass, ask, allow или deny.

Можно ли сначала только наблюдать, не блокируя ничего?

Да. Команда permit0 hook --shadow или переменная PERMIT0_SHADOW=1 пишут решения в журнал, но вызовы не останавливают.

Нужен ли интернет для работы движка?

Нет. По умолчанию хватает SQLite и памяти, детерминированная оценка не делает сетевых вызовов. Разбор спорных случаев языковой моделью необязателен, его можно отключить.

Обсуждение

Вопросов и отзывов пока нет.

Плагин и сервер подтверждений для Claude Code и Codex: опасный вызов инструмента ждет вашего решения до запуска

ПлагинШирокий доступ318Звезды репозитория

Экран для действий агентов: решает ALLOW, DENY или ESCALATE и пишет подписанную квитанцию, которую можно проверить позже.

CLIРасширенный доступ61Звезды репозитория

Защита ИИ-агента на пути выполнения: каждый вызов инструмента получает вердикт PASS, AUTH или BLOCK до запуска

CLIШирокий доступ243Звезды репозитория

Vigils стоит между ИИ-агентом и его инструментами: скрывает секреты, спрашивает разрешения и пишет неизменяемый журнал вызовов

CLIШирокий доступ74Звезды репозитория

Хук для Claude Code проверяет вывод файлов, веб-страниц и команд на скрытые инструкции и предупреждает агента

СкиллРасширенный доступ274Звезды репозитория

Движок авторизации для агентов: каждое действие получает ответ allow, deny, human_review или compute, решения пишутся в журнал

MCP-серверРасширенный доступ75Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Permit0 (эта карточка)нет192
HOL Guardда1 094проверяет команды и пакеты в нескольких агентах, у Permit0 свой словарь действий и оценка опасности по 9 признакам
CC Safety Netнет2 014блокирует только разрушительные команды Git и файловой системы, без оценки опасности писем и платежей

Коротко о README

README открывается обещанием жесткой границы между решением модели и действием, затем идет пятиминутная настройка Claude Code с почтой Gmail и Outlook. Дальше сравнение с Microsoft AGT, Lakera и Langfuse, объяснение словаря действий, схема из восьми шагов и раздел об ограничениях. В конце описано, как написать свой набор правил.

Бейдж для README

Сообщить о проблеме