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

# Apply compliance controls

> Apply KYT/AML screening, audit operations, and Travel Rule compliance for regulated entities using Dfns policies and integration partners.

Compliance features help you meet regulatory requirements through transaction screening, audit trails, and travel rule compliance. This solution covers Chainalysis KYT integration, audit operations, and reporting.

## What you'll need

* Understanding of [policies](/core-concepts/policies)
* For KYT: Chainalysis account and API credentials
* For travel rule: [Notabene](/integrations/travel-rule/notabene) integration

## Components to configure

### KYT/AML screening

Screen transactions for suspicious activity using Chainalysis integration. See the [AML/KYT feature overview](/features/aml-kyt) and [Chainalysis setup guide](/integrations/aml-kyt/chainalysis).

**Screening capabilities:**

* **Pre-screening** - Screen outbound transactions before execution
* **Post-screening** - Analyze incoming transactions
* **Risk scoring** - Get risk levels for addresses
* **Policy integration** - Automatically block or require approval for flagged transactions

### Audit trails

All operations in Dfns are logged for compliance and audit purposes. See [security best practices](/guides/security-best-practices) and the [audit logs API](/api-reference/auth/list-audit-logs).

**Available audit data:**

* Transaction history by wallet
* API audit logs for all operations
* Policy triggers and approval decisions
* Webhook event history

### Travel rule

For transfers above regulatory thresholds, exchange originator and beneficiary information using Notabene. See the [Notabene integration guide](/integrations/travel-rule/notabene).

## KYT policy configuration

### Block high-risk transactions

Create a policy to block transactions with SEVERE alerts:

* Rule: Chainalysis transaction prescreening
* Alert level: SEVERE
* Action: Block

### Require approval for risky transactions

Create a policy for compliance review:

* Rule: Chainalysis transaction prescreening
* Alert levels: SEVERE, HIGH
* Action: Request approval from compliance team

See how to [create compliance policies](/guides/create-policies).

## Alert levels

Chainalysis provides different alert levels:

| Level  | Meaning                               | Recommended action            |
| ------ | ------------------------------------- | ----------------------------- |
| SEVERE | Strong indicators of illicit activity | Block or escalate immediately |
| HIGH   | Significant risk indicators           | Require compliance approval   |
| MEDIUM | Moderate risk factors                 | Flag for review               |
| LOW    | Minor risk indicators                 | Monitor                       |

## Screening flow

```mermaid theme={null}
flowchart TD
    A[Transaction initiated] --> B[Chainalysis screening]
    B --> C{Alert level?}
    C -->|SEVERE| D[Block transaction]
    C -->|HIGH| E[Require compliance approval]
    C -->|MEDIUM| F[Flag for review]
    C -->|LOW/None| G[Proceed]
    E --> H{Compliance decision}
    H -->|Approve| G
    H -->|Reject| I[Transaction rejected]
    F --> G
    G --> J[Execute transaction]
```

## Compliance workflows

### Reviewing flagged transactions

When a transaction is flagged:

1. Compliance team receives notification
2. Review transaction details and Chainalysis data
3. Make decision (approve or reject)
4. Document the decision and rationale

See how to [review in the dashboard](/guides/approve-transactions) and the [approvals API reference](/api-reference/policy-approvals).

### Webhook notifications

Configure webhooks for real-time compliance alerts:

* `policy.approval.pending` - Approval needed
* `policy.triggered` - Policy triggered

See how to [configure webhooks](/guides/developers/webhooks).

## Audit and reporting

### Transaction reports

Export transaction data for auditors:

1. Navigate to wallet history in the dashboard
2. Filter by date range, direction, or status
3. Export to CSV

### Auditor access

Create a read-only permission set for external auditors:

* View wallets, transactions, and transfers
* View policies and approval history
* View audit logs
* No ability to create, modify, or approve anything

See how to [configure auditor permissions](/guides/permission-based-access-control).

## Best practices

### Regular policy review

* Review alert thresholds quarterly
* Adjust based on false positive/negative rates
* Update as Chainalysis categories evolve

### Documentation

* Document your AML program
* Record why specific thresholds were chosen
* Maintain approval decision rationales

### Signed action verification

Every action in Dfns is cryptographically signed by the initiator, providing:

* **Non-repudiation** - Users cannot deny performing actions
* **Integrity** - Actions cannot be modified after signing
* **Attribution** - Every action is tied to a specific credential

## Related solutions

<CardGroup cols={2}>
  <Card title="Define treasury policies" icon="shield-check" href="/solutions/define-treasury-policies">
    Approval and spending controls
  </Card>

  <Card title="Automate deposits" icon="money-bill-transfer" href="/solutions/automate-deposits">
    Transfer compliance
  </Card>

  <Card title="Execute DeFi trades" icon="arrows-rotate" href="/solutions/execute-defi-trades">
    DeFi compliance controls
  </Card>
</CardGroup>
