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

# Policy Layers

> How Dynamic composes policy rules across environment, account, wallet, and signer layers.

> [!NOTE]
>
> Wallet and signer policy layers are in **early access**. [Talk to us](https://www.dynamic.xyz/talk-to-us) if you'd like to participate.

Dynamic composes rules in layers. At sign time, the enclave evaluates the layers that apply to a wallet and signer, in this order:

1. **Environment**: rules set by the developer for the whole environment. See [Creating & Managing Rules](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/creating-rules.md) for how to configure them.
2. **Account** *(business accounts only)*: rules set by a business-account owner or admin; apply to every wallet in that account.
3. **Wallet**: rules set on a specific wallet.
4. **Signer**: rules set on a specific signer share set.

A transaction must pass every layer. Rules combine by tightening: a narrower layer can only make a rule stricter, never loosen a rule set at a broader layer. Broader layers enforce org-wide or account-wide guardrails, and narrower layers add further restrictions for individual wallets or signers.

## Who can set each layer

* **Environment**: set by the developer in the [Dynamic Console](https://docs.dynamic.xyz/docs/platform/console/general.md) or through the [API](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/creating-rules.md). These rules apply to every wallet in the environment.
* **Account**: set by a business-account owner or admin through the JavaScript SDK or the [Dynamic API](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/managing-layers.md). This layer only exists for business accounts.
* **Wallet**: set by the wallet owner, or by a business-account owner or admin for business-account wallets. See [Managing layers](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/managing-layers.md) for API examples.
* **Signer**: set by the signer through the SDK, or by a business-account owner or admin for any signer in the account. See [Managing layers](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/managing-layers.md) for API examples.

For business-account policy workflows, see the [JavaScript SDK business accounts guide](https://docs.dynamic.xyz/docs/javascript/reference/business-accounts/policies/overview.md).

## Signer-modifiable rules

A rule on the wallet or signer layer can be marked with `modifiableBySigner: true`. This makes the rule a recommended default that the signer can later edit or remove, instead of a constraint only an admin or wallet owner can change.

Use this when you want signers to manage their own constraints. For example, a business-account owner can set an `allow` rule with a list of approved addresses and a value limit, and the signer can update those constraint fields as their needs change.

A signer can only edit the rule's constraint fields, such as `addresses` and `valueLimit`. They cannot change the rule type, disable Blockaid security checks, or add operation restrictions.

> [!WARNING]
>
> `modifiableBySigner` cannot be set on environment-scope rules, and it cannot be combined with `disableBlockaidSecurityChecks` or `operationRestrictions`.

For API examples, see [Managing layers](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/managing-layers.md).

## Next steps

> [card] [Policies & Rules Overview](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/overview.md)
>
> Learn the security model, allowlist mode, and value limits.

> [card] [Creating & Managing Rules](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/creating-rules.md)
>
> Set environment-wide rules in the console or API.

> [card] [Managing layers](https://docs.dynamic.xyz/docs/embedded-wallets/mpc/policies/managing-layers.md)
>
> Set account, wallet, and signer layers through the API.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.