Skip to main content

Overview

AML screening emits a small set of warning tags on the warnings[] array of each entry in aml_screenings[]. The two tags below are the only AML warnings Didit produces — everything else you see on a hit is encoded in the hit’s own fields (risk_view, match_score, risk_score, sanction_matches[], …) rather than as a warning. Both workflow sessions and the standalone AML API emit POSSIBLE_MATCH_FOUND the same way. The status returned on the AML record (Approved, In Review, Declined) is derived from the aggregate score and your thresholds — the warnings tag the same conditions so you can react to them programmatically. See AML risk score for how thresholds map to status.

Warnings produced

Warnings are stored with feature: "AML" and follow the standard warning object shape.

Configurable settings

Per-workflow-node AML controls (also accepted as options on the standalone AML API):
  • aml_score_approve_threshold — default 80. A non-zero score above it produces POSSIBLE_MATCH_FOUND and routes the AML check to In Review. Scores at or below it do not produce the warning in session workflows, regardless of hit count.
  • aml_score_review_threshold — default 100. A score above it auto-declines the AML check (with the default of 100 this never triggers until you lower it).
  • aml_match_score_threshold — default 93. Per-hit classification: hits with match_score below it start as False Positive and are excluded from the aggregate score; at or above it they start as Unreviewed.
  • Match-score weightsaml_name_weight / aml_dob_weight / aml_country_weight, defaults 60 / 25 / 15 (must sum to 100). See AML match score.
  • Ongoing monitoring — when enabled, AML re-screens the subject as datasets change and re-emits the report plus a status.updated (status changed) or data.updated (hits changed) webhook.
When COULD_NOT_PERFORM_AML_SCREENING fires, the AML check sits at In Review until the missing identity fields are supplied. Once Didit has the full name, date of birth, and issuing state, AML re-runs automatically and the warning clears — there is no manual retrigger.

Examples

POSSIBLE_MATCH_FOUND (score above approve threshold)

COULD_NOT_PERFORM_AML_SCREENING (missing KYC fields)

Warning types