# Transaction screening and risk management ![Beta](/assets/beta-label.9b17384c64e8fb7cb732f95290c8a2c0d60692664b94277dc09c2c605b8b07a9.916860e9.png)

Note:
The compliance feature is a beta feature, which means that:

- The feature is production-ready, but may have some gaps.
- The feature is available for **new Custody instances only**. It's not yet available for existing Custody instances.
- If you want to use the beta feature, contact the [Custody support](/products/custody/v1.19/support/get-support) team.We appreciate your feedback during this phase.


Ripple Custody includes a compliance service for transaction screening through an integration with [Elliptic](https://www.elliptic.co/) or [Chainalysis](https://www.chainalysis.com/), both providers of crypto compliance solutions. The integration with a compliance solution ensures consistent regulatory compliance and mitigates risks associated with financial transactions. Proposed outgoing transactions are screened on the receiver wallet. Incoming transactions are screened based on the details of entities that contributed funds to the transaction's source address. Based on this exposure, a risk score is calculated. The compliance service checks transaction risks and automatically approves or rejects transactions based on customer-defined risk policies and regulatory compliance.

## Create a compliance domain

Before you can connect Ripple Custody with Elliptic or Chainalysis, you must create a domain to manage compliance. This step ensures that compliance activities are isolated within a dedicated domain, enabling better control, auditing, and role-specific access for managing compliance-related tasks. Transaction screening will apply to all transactions associated with the accounts created in the child domains of the compliance domain.

To create the compliance domain:

1. Make sure that you're in the root domain.
2. From the left side navigation menu, select **Domains** and then **Create a domain**.
3. In the **Create a new domain** window, in the **Compliance domain** field, select **Use template**.
4. In the **Create a compliance domain** window, rename the domain to a unique name of your choosing.
5. In the **User management** section, enter a username, public key, and role as specified in the role prerequisites for this domain and then select **Add user**.

![Compliance domain user management](/assets/compliance-domain-user-management.68c8b5bc0e2029d3aa42199d10bbaeccdbc4d84187a03a2cbe1c23330c90b296.916860e9.png)
Typically, a compliance domain requires three users with an admin role and two users with a compliance manager role in addition to the compliance supervisor agent and release quarantine agent roles that are automatically selected. Ripple recommends three users with the compliance manager role, even though only two are required.
6. Select **Submit for approval**.
7. On your security device or the desktop app, sign the operation. For more information, see [Sign intents](/products/custody/v1.19/ui/get-started/key-operations/intent-signature).


The compliance domain is now created. You can check the completed operations by reviewing the intents of the domain from the **Intents** menu in the left side navigation. You can now proceed to integrate with Elliptic or Chainalysis.

## Integrate with a compliance solution

To use the compliance service, you must configure the integration between Ripple Custody and the compliance solution as described in the following sections.

Note:
You can only integrate with **one** compliance solution. Currently, you can choose between [Elliptic](#connect-to-the-elliptic-integration) and [Chainalysis](#connect-to-the-chainalysis-integration).

### Connect to the Elliptic integration

To connect to the integration with Elliptic, complete the following steps:

1. In the Ripple Custody UI, select **Integrations** and on the Elliptic tile, select **Connect integration**.
![Connect Elliptic integration](/assets/custody-elliptic-integration.0740afa6fbc30ae0aa6f8056f866d3f42b1b7c507a420a42cee18bef51c3f1c4.916860e9.png)
2. In the **Connect Elliptic integration** window, enter your Elliptic **API key** and **API secret** and select **Connect**.
If you don't already have an Elliptic API key and secret, you can download them from the Elliptic app under **Workspace settings**.
If you entered the correct credentials, you should see the **Elliptic is connected** window.
3. **Compliance managers:** Select **Start the configuration** and continue to configure the integration.


### Connect to the Chainalysis integration

To connect to the integration with Chainalysis, complete the following steps:

1. In the Ripple Custody UI, select Integrations, and on the Chainalysis tile, select **Connect integration**.
![Connect Chainalysis integration](/assets/custody-chainalysis-integration.828c6156a6e94ed80aa2ee557d4dfd45a055a82dfe01d6f0714611ea7f27626e.916860e9.png)
2. In the **Connect Chainalysis integration** window, enter your Chainalysis **API key** and select **Connect**.
If you don't already have a Chainalysis API key, you can generate (and retrieve) one from Chainalysis under **Tools** > **Developer** > **API keys**.
If you entered the correct credentials, you should see the **Chainalysis is connected** window.
3. **Compliance managers:** Select **Start the configuration** and continue to configure the integration.


## Configure integration

To configure the integration with the compliance solution you chose, complete the following mandatory tasks:

1. [Customize your risk core configuration](/products/custody/v1.19/ui/transaction-screening-and-risk-management/customize-risk-score-configuration).
2. [Add a policy rule for outgoing transactions](/products/custody/v1.19/ui/transaction-screening-and-risk-management/add-a-policy-rule-for-outgoing-transactions).
3. [Add a policy for a manual release of quarantined transfers](/products/custody/v1.19/ui/transaction-screening-and-risk-management/add-a-policy-for-a-manual-release-of-quarantined-transfers).
4. [Add a policy for an automatic release of quarantined transfers](/products/custody/v1.19/ui/transaction-screening-and-risk-management/add-a-policy-for-an-automatic-release-of-quarantined-transfers).


Optionally, you can also:

1. [Add an exception for outgoing orders](/products/custody/v1.19/ui/transaction-screening-and-risk-management/add-an-exception-for-outgoing-orders).
2. [Add an exception for the release of quarantined transfers](/products/custody/v1.19/ui/transaction-screening-and-risk-management/add-an-exception-for-the-release-of-quarantined-transfers).


When you finish configuring the integration with Elliptic, select **Intents** from the left side navigation to see risk scores for your intents. From the intents list, select an intent to get more details on the transaction screening, such as the risk category and an analysis ID that you can use to view the analysis in your Elliptic account.