PEPs, AML & Adverse Media checks
Available in SDK v1.0+
The PEP, AML & Adverse Media checks capability screens the user against compliance and risk databases. It's typically used in regulated industries (financial services, fintech, gaming, and others) where onboarding checks are a legal or regulatory requirement.
This capability relies on data collected in earlier steps (for example, a name and date of birth from a Scan ID step) to perform the lookup.
Checked categories
Politically Exposed Persons (PEP)
A Politically Exposed Person is someone who holds or has held a prominent public position (for example, a head of state, senior government official, senior military officer, or a close family member or associate of such a person). PEPs are considered higher-risk for potential involvement in corruption or bribery. Checking for PEP status is required by anti-money laundering regulations in many jurisdictions.
Anti-Money Laundering (AML)
The AML check screens the user against sanctions lists and watchlists maintained by governments and international bodies (such as OFAC, the EU, and the UN). A match may indicate that the user is subject to financial sanctions, or is otherwise a prohibited or restricted party.
Adverse Media
The Adverse Media check looks for negative news coverage associated with the user (for example, reporting related to financial crime, fraud, corruption, or other serious misconduct). This check complements the structured PEP and AML lists with signals from unstructured sources.
Relevancy score and rules
Each category returns a relevancy score that reflects how confident the system is that the match is genuine and significant. A common source of false positives is name similarity; many people share names with individuals on watchlists. The relevancy score accounts for this by weighing how many identifying details align beyond the name alone.
For each category, you can configure a threshold:
- If the relevancy score exceeds the threshold, the step can result in Rejected or Manual review
The scores from this capability can also feed into the Trust score capability if it's present later in the workflow.
Continuous watchlist monitoring
Continuous watchlist monitoring (CWM) automatically re-screens your accepted users against compliance watchlists on an ongoing basis. Instead of a one-time check at onboarding, CWM runs periodic searches so you are notified if a user's status changes after they have been accepted—for example, if they are added to a sanctions list or their adverse media score changes.
CWM only creates a monitor for users whose final workflow result is Accepted. If a user is rejected during the workflow and you later manually change their status to Accepted, a monitor will still be created at that point.
There is a minimum delay of 5 minutes between publishing a workflow and monitors firing for that workflow.
How monitoring works
CWM searches the same compliance databases as the one-time check, using the data collected during the user's workflow: first name and last name, supplemented by date of birth, document number, and country where available.
It returns a relevancy score for each category (AML, adverse media, PEP) using the same thresholds you configured for the capability.
We recommend setting thresholds at 90% or higher for each category.
Managing monitors
In your organization, open the Activity tab and find Monitored profiles.
You can stop monitoring a specific user profile from there by finding the profile and disabling their monitor.
If a user goes through the same workflow again, and workflow settings are unchanged, the existing monitor is kept as-is.
If the workflow settings have changed (for example, different lists or thresholds), the old monitor is deleted and a new one is created with the updated configuration.
Webhooks
You can set up a webhook to get updates if at any point a user's score changes.
At the specified cadence (monthly, weekly), the user is re-checked. If their compliance score has changed, you receive a webhook.
A notification is sent for any score change, not only when a user crosses a threshold.
Webhook payload
{
"AmlScore": 1,
"EventType": "cwm.user.flagged",
"NmScore": 1,
"OrganizationId": "66d99fa9e7c185dfd4072f8c",
"PepScore": 1,
"UserId": "abcd-1234",
"UserProfileId": "6a039ek301c4c60d84722b13"
}
AmlScore: AML and sanctions relevancy score (0–100)EventType: alwayscwm_user_flaggedfor CWM eventsNmScore: adverse media relevancy score (0–100)OrganizationId: your organization's IDPepScore: PEP relevancy score (0–100)UserID: the user identifier from the consent objectUserProfileId: the ID of the user profile
API
You can manage and inspect monitors programmatically via the Agent API.
Code examples here use the eu region.
Use the appropriate region for your deployment.
Retrieve all monitors for your organization:
GET /agent/api/v1/organization/{organizationId}/monitor
curl --url "https://api.eu.platform.microblink.com/agent/api/v1/organization/{organizationId}/monitor" --user "$CLIENT_ID:$CLIENT_SECRET"
Retrieve a specific monitor by its ID:
GET /agent/api/v1/organization/{organizationId}/monitor/{monitorId}
curl --url "https://api.eu.platform.microblink.com/agent/api/v1/organization/{organizationId}/monitor/{monitorId}" --user "$CLIENT_ID:$CLIENT_SECRET"