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

# Policy

> Action-level autonomy policy: which actions may run, and under which conditions.

`ctrlrun.Policy` — class, defined at `src/ctrlrun/policy.py:525`

```python theme={null}
class Policy()
    def __init__(actions: Mapping[str, _ActionPolicy], source: str, schema: str, environment: str | None, mode: Literal['observe', 'enforce'], version: str | None, controls: Mapping[str, PolicyControl], _canonical: Mapping[str, Any])
```

Action-level autonomy policy: which actions may run, and under which conditions.

Load with `Policy.from_file()`. A policy that cannot be loaded is an error, never an
empty permissive policy (SPEC-v0.1 §3.4).

## Next

* [Python API index](/reference/api/index).
* [Get started](/get-started/quickstart) · [Why](/why).


## Related topics

- [PolicyError](/reference/api/PolicyError.md)
- [Policy YAML reference](/reference/policy-yaml.md)
- [Receipts and evidence](/concepts/receipts-and-evidence.md)
- [Errors](/reference/errors.md)
- [A payout agent with maker/checker via delegation](/cookbook/payout-maker-checker.md)
