Permission Policies
Permission policies let organizations and users define fine-grained rules that classify tool execution requests asallow, deny, or ask. When a request matches an ask rule, the runtime records a pending approval and waits for user action before proceeding.
Permission policies are evaluated by the Gizzi runtime and the Allternit API. They layer on top of organization RBAC and workspace membership.
Policy structure
A policy is a named ordered list of rules. Each rule can match on:Pattern matching
Rules support glob-style patterns:Rule evaluation
Rules are evaluated in order. The first matching rule wins. If no rule matches, the default action isallow.
A rule matches only when every field that is present matches the request. For example, a rule with tool and file_path set matches only when both the tool and the file path match.
Example policy
- Asks before running any
bashcommand. - Denies writing to
/etc/*. - Asks before making HTTP requests to internal hosts.
- Allows everything else.
Approval lifecycle
When a rule producesask, the runtime creates a pending approval request with these fields:
The request can be approved or denied through the runtime surface. Approved requests allow the tool to execute; denied requests return an error to the agent.
Configuring policies
Policies are typically configured in Gizzi Code settings or company-level configuration. The active policy is selected by name and merged from company and user config.CLI example
Approval endpoints
Pending approvals are resolved through the runtime approval endpoints:Error codes
Permission policy evaluation itself does not return HTTP errors. When a policy denies a request, the tool call fails with a permission-denied error. Approval endpoints may return:Related pages
- CLI permission profiles — Local permission configuration in Gizzi Code
- Tools / Tool Belt — Built-in tools and their arguments
- Security model — Trust boundaries and authorization layers