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

# Policy

> The versioned, immutable rules that govern a requested action

**Policy answers: what rules govern this action?**

A Policy defines the organizational business rules an Intent must satisfy. Policies are immutable and versioned — a given policy version's behavior never changes after publication. If the rules need to change, a new version is published.

## Policy Reference

Business Transactions don't embed the full policy; they carry a `PolicyReference` that pins the exact version evaluated.

| Field           | Type     | Description                                     |
| --------------- | -------- | ----------------------------------------------- |
| `name`          | `string` | Policy name, e.g. `vendor-payment`.             |
| `version`       | `string` | Semantic version of the policy, e.g. `1.0.0`.   |
| `schemaVersion` | `string` | Schema version the policy document conforms to. |

```json theme={null}
{
  "name": "vendor-payment",
  "version": "1.0.0",
  "schemaVersion": "1"
}
```

## Why immutability matters here

Because a Policy Reference pins an exact, immutable version, a [Decision](/docs/concepts/decision) made against `vendor-payment@1.0.0` today will evaluate identically a year from now — which is what makes [Replay](/docs/concepts/replay) possible. Policy evaluation itself lives in the `policy` package; see [Packages → policy](/docs/packages/policy).

## Relationships

* Policy is loaded and evaluated by the [`policy`](/docs/packages/policy) package during Decision generation.
* Validating a policy definition (existence, schema) is exposed over the SDK/API as `validatePolicy` / `POST /policies/validate` — see [REST API → Policies](/docs/api/policies).
