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

# Policies

> Top-level containers that define which rules to run and when. All logic lives inside a policy.

A **policy** is the central configuration object in the Forte Rules Engine. It defines what rules should be executed during a contract call.

Policies are stored and enforced on-chain and can be reused across different contracts and applications.

## What You Can Configure in a Policy

* A sequence of [rules](/v2/concepts/rules), defined in a specific order, each with conditions and effects
* A set of [trackers](/v2/concepts/trackers) for maintaining persistent state
* A list of allowed [calling contracts](/v2/concepts/calling-contracts). This defines which contracts can subscribe to the policy
* A list of [foreign calls](/v2/concepts/foreign-contracts) that can be used as input to rule conditions, as effects triggered by a rule, or as inputs to other foreign calls
* Policy metadata (off-chain), such as names, descriptions, and labels for readability

<Frame type="simple">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/thrackle/images/Concepts-overview-flow.png" alt="Rules Engine concepts flow overview" />
</Frame>

The diagram above illustrates the relationship between the various concepts in the Rules Engine. The Policy is the container for Rules, Trackers, Mapped Trackers, CallingFunctions, and Foreign Call definitions. The Calling contract calls into the Rules Engine.

See our [Policy Syntax guide](/v2/guides/policy-configuration) to understand how to configure a policy.

Available SDK functions for policies [here](/v2/sdk-reference/modules/policy/README).
