> For the complete documentation index, see [llms.txt](https://docs.voveid.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voveid.com/docs/watchlist-screening/aml-operations.md).

# AML operations guide

Configure AML screening and review matches without turning a search result into an unsupported conclusion.

VOVE ID provides configured watchlist-search evidence. Your organization owns source selection, matching thresholds, review policy, legal basis, retention, and final decisions.

## Create a screening case

1. Select an approved active flow in the VOVE ID dashboard.
2. Send the subject's name and any permitted date-of-birth or gender data to `POST /aml/case`.
3. Include a stable `refId` so you can reconcile the case with your own records.
4. Review possible matches in the dashboard and record the evidence required by your policy.

## Configure a reusable flow

1. Give the flow a name that describes its purpose and population.
2. Choose `INDIVIDUAL` or `ENTITY`, at least one current source, and a fuzzy-search mode.
3. Test fictional or otherwise authorized positive, negative, transliteration, and boundary fixtures.
4. Activate the flow only after the responsible compliance owner approves the configuration.

Create and update AML flows in the VOVE ID dashboard. Changing a source or matching sensitivity changes the meaning of later results, so test the flow again after material changes.

## Interpret an initial result

| Status      | Operational meaning                                                                                                 |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| `NO_MATCH`  | No record matched the sources and settings used. This is not proof that the subject is absent from every watchlist. |
| `IN_REVIEW` | At least one possible match needs an authorized human review.                                                       |
| `CLEARED`   | An authorized reviewer cleared the case with supporting evidence.                                                   |
| `REJECTED`  | An authorized reviewer confirmed a match or rejected the case under policy.                                         |

Do not map `NO_MATCH` to “clean,” “valid,” or a universal approval. Source availability, data quality, and search configuration all limit what it means.

## Review a possible match

1. Confirm the subject, flow, source set, query date, and correlation identifiers.
2. Compare names and aliases, date of birth or incorporation, citizenship or jurisdiction, source records, positions, and other permitted contextual evidence.
3. Do not decide from the match score alone.
4. If evidence is insufficient, keep the case `IN_REVIEW` and escalate.
5. Record the selected match, reason, a specific note, the authenticated reviewer, and the evidence used.

## Integrate the review lifecycle

Create cases with a stable `refId` to receive status webhooks. In the receiver:

1. verify the Svix signature over the raw request body;
2. deduplicate on `svix-id`;
3. acknowledge quickly;
4. retrieve `GET /aml/case/{refId}` in an asynchronous worker;
5. apply your business policy to the current resource.

If a source is unavailable, a flow is inactive, evidence conflicts, or a status is unknown, keep the subject pending and escalate. Never substitute a no-result outcome.

See the [AML API](/docs/watchlist-screening/aml-screening.md), [webhook guide](/docs/kyc-api/webhooks.md), and [production checklist](/docs/production-readiness.md).
