# Policy templates

Source: https://docs.settlemint.com/docs/console/compliance/policy-templates
Assemble reusable compliance rules for instrument templates and asset issuance.

A policy template bundles compliance controls into one named rule set. A control is one enforceable rule, such as an investor eligibility check or a country restriction, that decides whether a regulated operation like a transfer or a subscription can proceed. Publishing a template makes it a choice an instrument template, the reusable product definition an issuer picks during asset issuance, can link. Each instrument template links at most one published policy. The rules land on an asset only when that asset is issued, so a later edit changes the next issuance and never an asset that exists.

On this screen you decide which rule sets your organisation has, what each one enforces, and which values an issuer may still change per asset in "Issue asset". You do not need this screen to issue an asset, because the instrument template you pick in "Issue asset" already carries its policy.

Every write on this screen, including saving a draft, publishing, editing and deleting, lands in the organisation's [audit trail](https://docs.settlemint.com/docs/console/reporting/audit-trail) with your name and your role at the time.

![Policy templates catalogue with Name, Jurisdictions, Source, Status and Updated columns](https://docs.settlemint.com/docs/screenshots/console-policy-templates.light.en.webp)

[Screenshot] The catalogue lists each policy template with its name, jurisdictions, source, status and last update.

Each row shows the policy's name, its jurisdictions or "Global", its source, whether it is a draft or published, and its last update. A row expands to show the description and the configured and required controls. Use the jurisdictions filter to narrow the catalogue by scope.

## Before you start [#before-you-start]

- **Role.** Creating and changing templates needs the Permission manager or Compliance manager role in the organisation that will own the policy. The platform refuses saves from any other role. An Asset designer or Asset manager sees the catalogue and every template's detail page but no "Create template" button, and uses the screen to choose the policy an instrument template links. An Asset designer sees published templates only.
- **A second approver, when your organisation requires one.** When the "Compliance configuration" group is protected under [Approvals](https://docs.settlemint.com/docs/console/organisation-settings/general#approvals), each change on this screen waits on [Actions](https://docs.settlemint.com/docs/console/essentials/actions#decide-an-administrative-change) until another person approves it, and nothing changes until then.
- **Agreed values.** Agree the covered jurisdictions and every rule value before you publish, because publishing cannot be undone. Record who approved them if your sign-off process needs it.
- **A starting point.** Start from the DALP library for a common regulatory framework, from one of your own templates for a variation, or from a blank template when neither fits.

## Steps [#steps]

### Open Policy templates [#open-policy-templates]

Open "Compliance", then **Policy templates**. The catalogue is a table that shows your organisation's templates next to the platform-provided DALP library set, one row per template. Its columns are "Name", "Jurisdictions", "Source", "Status" and "Updated".

Search, or filter by "Jurisdictions", "Source" and "Status", to check whether a usable rule set already exists before you create a near-duplicate. Sort by "Name", "Status" or "Updated", and page through the table at the bottom.

The **Jurisdictions** column lists each jurisdiction a template covers and reads "Global" for a template with none. "Status" reads "Draft" or "Published".

Select the arrow at the start of a row to expand it. The expanded row shows the template's description, the controls it configures, and the controls it requires. Selecting the row itself opens the template's detail page.

### Choose a starting point [#choose-a-starting-point]

Select **Create template**, then pick one of the three cards on the "Start" step.

![Create a policy template screen with the library, clone and blank starting points](https://docs.settlemint.com/docs/screenshots/console-policy-templates-designer-start.light.en.webp)

[Screenshot] The "Start" step, with one card each to start from the DALP library, clone one of your templates, or start blank.

| Start from | What you get | Choose it when |
| --- | --- | --- |
| **Start from DALP library** | A draft copied from a platform-maintained regulatory framework | A library framework's controls match your product and you only tune their values |
| **Clone one of yours** | A draft copied from one of your organisation's templates | A close rule set exists and needs a variant for another jurisdiction or share class |
| **Blank** | An empty draft with no inherited controls | Nothing existing is close, or every control must be chosen deliberately |

The DALP library includes starting points for frameworks such as the Markets in Crypto-Assets Regulation (MiCA) and the SEC Regulation D Rule 506(b) exemption for private placements. A library template carries the transfer and issuance rules DALP can enforce for that framework, and its description lists only those rules. The framework's other obligations, such as a MiCA white paper or Regulation D's bar on general solicitation, stay with you.

A copy does not stay connected to its source, so a later change to the library or to the source template never reaches your draft. [Library frameworks and the legacy generation](#library-frameworks-and-the-legacy-generation) covers the Shari'ah framework and legacy templates.

### Set the scope and the controls [#set-the-scope-and-the-controls]

Name the template on the "Basics" step, choose jurisdictions on the "Scope" step, then enable and configure controls on the **Controls and rules** step. Template names are unique within an organisation. The jurisdiction list is a label: it records where the rule set is meant to apply and feeds the catalogue's jurisdiction filter. It does not restrict where the rules apply, which a country rule does. Leaving it empty shows the template as "Global".

Select **Add control** to open the controls catalogue, then pick a control to open its editor. The control joins the template only when you set its rule values and save, so "Continue to Review" never waits on a control you did not save. The catalogue lists only controls compatible with the template's module-set generation. What each control enforces is described on [Compliance modules](https://docs.settlemint.com/docs/concepts/compliance-and-identity/compliance-modules).

Two toggles on each control decide what happens at issuance:

- **Make configurable in Issue asset** is on once you save a control. While it is on, the control gets its own step under "Compliance details" in [Issue asset](https://docs.settlemint.com/docs/console/asset-management/issue-new-asset), pre-filled with your values, and the issuer can change them. When it is off, the control's row reads "Fixed for issuers", and "Issue asset" installs your values unchanged.
- **Required** marks a control that tokens using this template must configure.

Turn "Make configurable in Issue asset" off and turn **Required** on when a regulator owns the number. Both hold at issuance only. After issuance, the holder of the asset's Governance role manages its rules on the asset itself.

### Review and publish [#review-and-publish]

Note (Publish template on the Review step does not ask first): "Publish template" on this step publishes at once, with no confirmation dialog, and publishing cannot be undone. There is no unpublish. Select "Save as draft" to keep the template editable and out of instrument templates' choices.

The **Review** step summarises the name, status, description, jurisdictions, and the number of configured controls, then shows the readiness list. The list names each required control that is missing or incompatible, together with its fix.

"Publish template" stays unavailable until the list is empty, and the platform runs the same check again when you publish. Select "Save as draft" or "Publish template". A published policy stays selectable until you delete it. "Publish template" on the detail page asks for confirmation first. Both paths end on the template's detail page.

## Edit a published template [#edit-a-published-template]

A published organisation template stays editable in place. On its detail page, **Edit** in the header changes the name, the description, and the jurisdictions in one sheet. "Add control" under "Controls and rules" opens a searchable list of controls. The version rises by one on each save, and the platform refuses an edit that would leave a published template unable to pass the readiness check.

The "Used by" card lists each instrument template that links the policy, with its status: "Draft", "Unpublished" or "Published". Change a live asset's rules on that asset's compliance tab. You cannot edit or delete a DALP library template: duplicate it into an organisation draft when you need a variation.

![A policy template's detail page with the Basics, Scope, Used by and Controls and rules sections](https://docs.settlemint.com/docs/screenshots/console-policy-template-detail.light.en.webp)

[Screenshot] The template's detail page shows the "Basics", "Scope", "Used by" and "Controls and rules" sections.

The "Used by" section lists the instrument templates that link the policy, and the "Controls and rules" section lists the controls the template configures and requires.

## Delete a template [#delete-a-template]

Note (Link a replacement first): An instrument template that linked the deleted policy loses the link but keeps working, a published one included. The missing link does not block publishing or issuance, so the assets it issues next start without these rules. The "Used by" card on the detail page and the delete confirmation both list the instrument templates the delete unlinks.

1. Open the template's detail page and read the **Used by** card. It names each instrument template that links this
   policy and shows whether it is a draft, unpublished or published.
2. Link a replacement policy on every instrument template listed there.
3. Open the **Actions** menu and select "Delete". The "Delete template?" dialog names the template and lists the
   instrument templates the delete unlinks. When a published instrument template is among them, the dialog says so. The
   delete stays possible.
4. Select **Delete template**.

Deleting removes the policy and its compliance module configuration. Assets already issued keep their rules, and inherited global and identity controls still apply. A platform-managed template cannot be deleted.

## How a policy reaches an asset [#how-a-policy-reaches-an-asset]

[Figure] A policy is published, linked to an instrument template, then installed at issuance. Inside the policy templates catalogue a draft becomes a published policy, and publishing is permanent. An instrument template links one published policy. Issue asset reads the linked policy and installs its rules on the new asset, which keeps them. Editing the template after publishing raises its version and reaches assets issued afterward, never an asset that already exists. Labels: Draft; editable; Published; permanent; Every edit raises the version.; selectable once published; Instrument template; links one published policy; Issue asset; installs the rules; Issued asset; keeps the rules installed at issuance; Edit after publishing; reaches later issuance; never an asset already issued.

Rules travel one way: publishing makes a policy selectable, an instrument template links it, and issuance installs a copy on the asset.

## Library frameworks and the legacy generation [#library-frameworks-and-the-legacy-generation]

The library holds "Shari'ah / AAOIFI - Islamic Finance", a starting point for an Islamic finance token. It carries an identity verification control and a transfer approval control. It does not check Shari'ah or AAOIFI compliance, which stays with the issuer. The library ships the verification expression empty, which requires no claim, so a copy published unchanged admits any holder. It names the issuer as the only approval authority, and "Issue asset" replaces that placeholder with the on-chain identity of the person who issues the asset.

Set both in your copy: the claims a verified investor must hold, and the identities, such as the Shari'ah board, that approve a transfer. The framework lists no jurisdictions because Shari'ah compliance is an issuer governance framework, so the catalogue shows it as "Global". You can still scope your copy to jurisdictions. The "Sukuk Ijara" and "Sukuk Murabaha" instrument templates attach it.

On a deployment whose operator turns on legacy policy templates, which are off by default, the catalogue gains a "Module set version" column that identifies the generation, where 1 is the earlier, legacy generation. The catalogue then opens filtered to the current generation, and removing that filter lists legacy templates too. The "Blank" card also offers a "Legacy template" switch that picks the generation. That choice is fixed when the template is created, and instrument templates offer current-generation policies only, so take the legacy generation only for a product line that still needs it. [Compliance modules](https://docs.settlemint.com/docs/concepts/compliance-and-identity/compliance-modules) explains how the generations differ.

## You should see [#you-should-see]

- Open the policy's detail page. Check that the status badge reads "Published" and that the jurisdictions, version, and configured controls match what your compliance owner reviewed.
- Then open an instrument template, go to its compliance step, and confirm the policy appears among the choices there. That step opens filtered when the instrument template sets a jurisdiction, so select the chip that reads **Applies to** and the country to turn the filter off when the policy covers a different jurisdiction.

## Troubleshooting [#troubleshooting]

**Publishing is unavailable**

The template has readiness gaps, or you lack the role. The "Review" step and the detail page list every gap: configure
the named required control on **Controls and rules**, or remove it from the required controls when it is incompatible
with the template's generation. When the list is empty and publishing is still refused, check that you hold the
Permission manager or Compliance manager role.

**A template refuses edits**

DALP library templates cannot be edited or deleted. Duplicate one into an organisation draft and adjust the copy. When
one of your organisation's templates refuses a change, check that you hold the Permission manager or Compliance
manager role.

**Creating or renaming fails on the name**

Template names are unique within an organisation, and the refusal says a template with this name already exists. Pick
a distinct name, or delete the earlier template when it is obsolete.

**A control is missing from the catalogue**

A control introduced for the current generation never appears in a legacy template, because the catalogue only offers
controls compatible with this template's generation. The generation cannot be changed after creation. Rebuild the rule
set as a current-generation template instead.

**The policy is missing from an instrument template's choices**

Only published, current-generation policies are offered when linking. Check the status badge on the policy's detail
page: a draft must be published first, and a legacy-generation policy never appears in the instrument template wizard.
The wizard's compliance step also opens filtered to the instrument template's jurisdiction. Select the chip that reads
**Applies to** and the country there to turn the filter off and list policies for every jurisdiction.

**An instrument template lost its policy**

Deleting a policy clears the link on every instrument template that used it rather than deleting those templates.
Before you delete, the **Used by** card on the policy's detail page lists them. Open each affected template and link a
replacement before the next issuance. Without a link, newly issued assets start without the deleted policy's rules.

## Frequently asked questions [#frequently-asked-questions]

### Can I unpublish a policy template?

No. Publishing a policy template is permanent. Only [instrument templates](https://docs.settlemint.com/docs/console/asset-design/instrument-templates) can be unpublished. To retire a rule set, follow [Delete a template](#delete-a-template). Deletion removes it from the choices without touching any asset already issued. An unlinked published policy enforces nothing on its own, but remains selectable for future instrument templates.

### How is a policy template different from global controls?

They differ in scope. A policy template's rules reach only assets built from instrument templates that link it. [Global controls](https://docs.settlemint.com/docs/console/compliance/global-controls) apply to bound tokens, including existing ones, within each rule's scope, and an issuer cannot remove them during asset creation. Together the two layers form the asset's compliance policy, the full rule set a transfer or subscription is checked against. A recipient on the compliance bypass list, a Custodian's forced transfer and a wallet recovery skip some or all of those checks, as [Compliance policy](https://docs.settlemint.com/docs/concepts/compliance-and-identity/compliance-policy) lists. Use global controls for a floor every asset must meet, and policy templates for the rules a specific product type or jurisdiction adds on top.

### Can another organisation see or use my policy templates?

No. The catalogue is scoped to your organisation: you see your own templates plus the platform's DALP library set, and other organisations see theirs. A DALP library template is shared platform-wide but read only. Copying it with **Start from DALP library** creates an organisation-owned draft that only your organisation can see, edit or publish.

### Is there an API for policy templates?

Yes. Every action on this screen is a call in the [Platform API](https://docs.settlemint.com/docs/api-reference/v2), under the same role rules. Reading one template also returns `usedBy`, the instrument templates that link it, each with its name and whether it is a draft or published. [API routes](#api-routes) shows create and publish.

## API routes [#api-routes]

Creating a draft and publishing it are separate calls. After creation, configure the draft's controls and review its readiness before publishing. Replace the example template identifier with the identifier returned by creation.

**API**

```bash
curl -X POST "https://your-instance.example.com/api/v2/settings/compliance-templates" \
  -H "X-Api-Key: sm_dalp_..." \
  -H "Content-Type: application/json" \
  -d '{"name": "EU transfer restrictions", "description": "Transfer restrictions for Northwind Coffee securities issued in the EU", "jurisdictions": ["EU"]}'

curl -X PUT "https://your-instance.example.com/api/v2/settings/compliance-templates/0193a1c2-7e4b-7a10-9c3d-5b2f8e6a1d40/publish" \
  -H "X-Api-Key: sm_dalp_..."
```

**CLI**

```bash
dalp create settings compliance-templates \
  --body '{"name": "EU transfer restrictions", "description": "Transfer restrictions for Northwind Coffee securities issued in the EU", "jurisdictions": ["EU"]}'

dalp replace settings compliance-templates publish 0193a1c2-7e4b-7a10-9c3d-5b2f8e6a1d40
```

Both calls need a credential that holds the Permission manager or Compliance manager role. Link the published policy from [Instrument templates](https://docs.settlemint.com/docs/console/asset-design/instrument-templates).
