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.
What is a policy?
A policy is a JSON file that defines the rules governing a category of decisions. Policies declare the signals they accept, the rules that evaluate those signals, and the outcomes each rule produces. Rules are evaluated in order - the first matching rule wins.Policy file structure
Policies live atpolicies/{policyId}/{policyVersion}/policy.json.
Rule evaluation
Rules are evaluated top to bottom. The first rule whose condition matches the provided signals wins. Remaining rules are not evaluated. Always include a catch-all rule ("all": []) as the last rule to handle all unmatched cases. The compiler warns if one is missing (POL-021).
Condition operators
| Operator | Signal types | Example |
|---|---|---|
greater_than | integer, number | { "signal": "amount", "greater_than": 1000 } |
less_than | integer, number | { "signal": "amount", "less_than": 500 } |
equals | any | { "signal": "tier", "equals": "premium" } |
all | - | { "all": [cond1, cond2] } - matches when all sub-conditions match |
any | - | { "any": [cond1, cond2] } - matches when any sub-condition matches |
all: [] | - | { "all": [] } - catch-all, always matches |
Outcome actions
| Action | Description |
|---|---|
approve | Decision approved |
reject | Decision rejected |
escalate | Escalate to higher authority |
manual_review | Requires human review |
auto_approve | Automatic approval |
document_required | More documentation needed |
fraud_review | Route to fraud team |
pending_override | Override required before execution |
Policy bundles
Before a policy can be used in production, it must be compiled and signed into a content-addressed bundle:bundle.manifest.json and bundle.sig. The bundle hash is deterministic - the same policy content always produces the same hash.
Versioning
Policy versions use semver format (1.0.0, 2.0.0). The v1 prefix format is not supported. Once a version is signed, it is immutable - update a policy by creating a new version. See Policy Versioning.
See also
- Policy Schema Reference - complete field reference
- Signal Types - all supported signal types
- Write Your First Policy - step-by-step CLI walkthrough
- Policy Versioning - how to update policies safely
- Governed Signals - why signals are schema-validated