> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tool Policies

> Rules that control what the AI can do.

हर tool call को चलाने से पहले एक policy check से गुजरना पड़ता है। यह check आपके rules के विरुद्ध call को match करता है और decide करता है: allow, ask, या block।

## Default posture

दो postures हैं जो इस बात पर निर्भर करते हैं कि write **app, repo, या storage** को target करता है (एक known scope के साथ) या **computer की raw filesystem** को। शुरुआत में, Kazzle sensible defaults के साथ आता है ताकि AI तुरंत काम करे।

| Category                       | Default                       | Effect                                                           |
| ------------------------------ | ----------------------------- | ---------------------------------------------------------------- |
| Terminal commands              | allow                         | सभी commands allowed हैं, exceptions के साथ                      |
| Browser navigation             | allow                         | सभी URLs allowed हैं; restrict करने के लिए custom rules add करें |
| File writes (app/repo/storage) | allow                         | Writes एक known root तक scoped हैं, हमेशा allowed                |
| File writes (computer)         | allow, except sensitive paths | `.env*`, `.ssh/*`, `*.pem`, `*.key` blocked                      |
| Destructive actions            | ask                           | File deletes, app publish/delete, database deletes, risky SQL    |
| Safety changes                 | ask (always, one-off only)    | "Always allow" के माध्यम से auto-approved नहीं हो सकते           |

Apps, repos, और storage में writes default से allowed हैं क्योंकि उनके paths एक known root तक scoped हैं। Raw computer writes allowed हैं सिवाय ऊपर दिए गए sensitive path patterns के।

## Rule types

### Terminal commands

Rules command prefix से match करते हैं। `git push` `git push origin main` से match करता है।

Default exceptions जिन्हें approval की जरूरत है: `git push` और `sudo`। Default block: `git push --force`।

### Browser URLs

Browser navigation default से सभी URLs पर allowed है। Browser `url` field पर custom rules add करें specific sites को restrict या approval की जरूरत के लिए।

### File paths

Rules glob pattern से match करते हैं। `*.pem` कहीं भी certificate files से match करता है।

Computer writes पर default blocks: `.env*`, `.ssh/*`, `*.pem`, `*.key`।

File path rules को एक specific computer तक scoped किया जा सकता है। "All computers" वाला rule हर जगह apply होता है। एक computer तक scoped rule सिर्फ तब apply होता है जब AI उस machine पर काम कर रहा हो। Computer-specific rules global ones को override करते हैं।

### Tool approvals

Individual tools और actions को allow, ask, या block पर set किया जा सकता है। Default से, `fs delete`, `app publish`, `app delete`, और `db delete` approval के लिए ask करते हैं। Database queries (`db exec`) risky SQL के लिए ask करते हैं और low-risk statements को automatically allow करते हैं।

### Safety changes

Policies या limits में changes को हमेशा one-off approval की जरूरत होती है और कभी permanently auto-approved नहीं हो सकते। Policies और limits को देखने के लिए approval की जरूरत नहीं है।

## How rules resolve

जब AI एक tool call करता है, तो router सभी matching rules को find करता है और सबसे specific one को pick करता है - ज्यादा matching conditions वाले rules broader rules को beat करते हैं। अगर दो rules equal specificity के साथ match करते हैं, तो deny allow को beat करता है।

User-defined rules (Settings से) same pattern वाले defaults को override करते हैं।

## Configuring

**Settings > AI safety** खोलें rules को per space manage करने के लिए। Patterns add करें, policies change करें, file paths को specific computers तक scope करें। Changes तुरंत effect लेते हैं।
