# Policy Engine

{% hint style="danger" %}
Policies do not cover delegated wallets owned by the end users. Because [delegated signing](/d/advanced-topics/delegated-signing.md) is non custodial in nature. All end user activities bypass policy engine governance.
{% endhint %}

Policies enable businesses to enforce rules and request approvals on top of actions taken using the Dfns API.  Policies are used as part of risk management, information security, or other compliance functions.&#x20;

The policy Engine allows you to create a policy, specifying the conditions that will result in an approval being triggered, as well as the approval groups whose approval will be required.  For example:

Clare, a compliance officer, has to implement these new policies:

1. For payments over $100,000, request approval from a Vice President.
2. For payments over $250,000, request approval from both a Vice President and a Managing Director.

To do that Clare will have to create two `Policies`:

* **Large Payment**:&#x20;
  * Rule: `TransactionAmountLimit` with amount value of $100,000.
  * Approval scoped to VicePresidents.
* **Very Large Payment**:
  * Rule: `TransactionAmountLimit` with amount value of $250,000.
  * Approval scoped to ManagingDirectors.

When a policy is triggered, it generates and approval which must be either approved or rejected by members of the corresponding approval group.  Here's a schematic of the Policy Engine entity model:&#x20;

<figure><img src="/files/3nDLBNbr0gLIPww2Qsvj" alt=""><figcaption><p>Policy Engine Schematic</p></figcaption></figure>

For questions on the Policy Engine as well as feature requests, please [contact us](https://support.dfns.co)!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-legacy.dfns.co/d/api-docs/policy-engine.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
