> ## 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.

# Compliance

> Compliance checks in Fireblocks Flow that your app runs on its own, such as wallet ownership verification, spam token filtering, and name matching, and how to combine them with a payment.

Fireblocks Flow includes compliance checks that your app can run on their own, with or without a payment. They are separate from the [screening](https://docs.dynamic.xyz/docs/flow/screening.md) that every Flow payment includes by default: a flow never runs these checks for you, and your app decides when to trigger them.

## Checks

* **Wallet ownership verification.** The user signs a message that proves they control the wallet.
* **Spam token filtering.** Known spam tokens are removed when you show a wallet's balances.
* **Name matching.** The depositor's identity is checked against a name you expect, for payments where you already know who should be paying.

## Using them with a payment

Flow payments does not run these checks, but your app can run them before or alongside a payment:

* Verify ownership when the payer connects a wallet, before your app attaches that wallet as the payment source.
* Show the payer's balances with spam tokens filtered out, and let them choose the token to pay with from that list.

A check your app runs does not change the flow. If a check fails, your app decides what happens next, for example not attaching the wallet as the payment source.

## Related

> [card] [Screening](https://docs.dynamic.xyz/docs/flow/screening.md)
>
> The risk screening included in every Flow payment.

> [card] [Address screening](https://docs.dynamic.xyz/docs/get-started/security/address-screening.md)
>
> How Dynamic screens addresses across products.


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