Fictional A-42: the original trigger and later evidence answer different review questions. All amounts and the threshold are illustrative.
Engineering guide · Reviewed 16 October 2026
An alert can be reproducible while its case remains impossible to review. The monitoring service may retain the rule result, but the investigator needs the input population, the interpretation used at that time and the evidence behind a later disposition. Choose an AML alert evidence model by the questions an authorized reviewer must answer, then test the dependencies that could prevent those answers.
Start with a fictional alert, A-42. Rule R-7 evaluates two qualifying incoming transactions totaling EUR 10,500 against an illustrative EUR 10,000 threshold. A late reversal subsequently changes the current total to EUR 9,800. A screen showing only the current amount cannot explain the original trigger. A frozen alert screenshot cannot explain what the analyst learned afterward.
All identifiers, amounts and outcomes in this guide are synthetic. The threshold is a demonstration parameter, not a recommended detection limit or regulatory reporting threshold. No customer investigation, supplier benchmark or production acceptance exercise was performed. The proposed checks help a CASP team define an engineering contract; the responsible compliance function supplies the governing investigation and reporting policy.
Write separate questions for detection, investigation and reevaluation. Detection asks why a particular execution produced an alert from the information available to it. Investigation asks what the analyst considered and which authorized action followed. Reevaluation asks what the current rule would produce using a declared later population. These questions can yield different answers without any record being incorrect.
For A-42, the original EUR 10,500 total can explain detection even after the reversal becomes known. The later EUR 9,800 view may affect the investigator's next step, but it does not erase the original execution. Require the review interface to identify which question each displayed value answers. Avoid a single status field that silently combines them.
When transaction-monitoring integrations lose these relationships, Pharos Production's published AML transaction-monitoring engineering scope offers a relevant implementation discussion. Specify the missing evidence connection before choosing a supplier. That service description supports the engineering scope, not a claim that the fictional A-42 workflow was delivered or validated.
A triggered condition is an observation produced by a configured process. The investigator still needs context and a governed route to a disposition. A data correction can explain the trigger without proving that the wider activity is legitimate. Equally, an unresolved source gap is not evidence that a customer committed an offense.
In its BSA/AML Examination Manual, the Federal Financial Institutions Examination Council states:
The mere presence of a red flag is not by itself evidence of criminal activity.
The FFIEC red-flag appendix supplies that distinction in a US banking context. It is not an EU CASP rule. Preserve the useful separation between a signal and an investigative conclusion while determining applicable obligations with the responsible policy owner. Do not let a storage design encode a legal conclusion through an automatically reassuring label.
A frozen packet captures the selected alert inputs, rule reference and result at a defined boundary. It is useful when the immediate job is explaining a particular execution and the necessary source material can be retained lawfully. The reviewer can inspect a stable object without reproducing a long chain of service calls. Its weakness is the boundary itself. A packet produced before the reversal may explain why A-42 fired while saying nothing about the later investigation. Attach a generation time and evidence cutoff. Keep subsequent findings in separately identified revisions rather than replacing the packet's contents under the same download URL.
Choose this model only when the required review questions fit the captured material. If an external provider supplies an explanation that cannot be retained, record that dependency explicitly. A screenshot of its score may preserve a label while losing the inputs or interpretation necessary to challenge it, so the packet should disclose that limit before procurement promises are made.
An event history can rebuild a declared view from retained observations and transformations. This model suits teams that need to investigate how state changed across deliveries, corrections and rule deployments. It can support several review boundaries without copying a complete document bundle after every event. Replay depends on more than keeping messages. The selected input population, transformation revision and external dependencies must remain interpretable. An event containing a provider record identifier cannot recreate a deleted provider response. Likewise, a rule identifier without its effective configuration does not establish which comparison was executed.
Ask the implementation team to identify every dependency required to replay A-42. Mark each as retained, reproducible under stated conditions or unavailable. Where reconstruction depends on today's external lookup, describe the result as a current reevaluation. Do not present it as an exact recreation of what the detector knew earlier.
A versioned hybrid combines an event history with selected review packets. The event stream preserves change relationships; each packet pins the evidence available for a particular review action. This is a useful candidate when investigators need stable references while engineers still need to trace late or duplicate deliveries.
For A-42, packet B-1 can preserve the original detection basis. Packet B-2 can add the reversal and the later analyst action without rewriting B-1. Both reference the same alert identity, but their evidence cutoffs differ. The case view should state which packet supports each finding and which revision is current for the declared review purpose. The extra material creates operating work. Someone must reconcile packet contents with the underlying event population and manage access to retained sources. Choose the hybrid only when that work has an owner. Keeping both representations without reconciliation can produce two competing histories rather than stronger evidence.
Use a proposed evidence contract to compare designs on the same basis. Group fields by the question they answer instead of copying every available provider attribute into an undifferentiated payload:
Identity: alert A-42, case C-42 and the internal subject reference, with explicit relationships between them.
Detection execution: run identity, rule R-7, effective configuration and the scope of the evaluation.
Selected population: qualifying transaction references, window boundaries, included statuses and exclusions.
Input interpretation: retained source versions, normalization rules and derived feature values used by the execution.
Trigger result: evaluated total, comparison outcome and original reason identifiers without replacing them with a case disposition.
Review activity: analyst action, evidence revision consulted, rationale and authority required by the governing workflow.
Change lineage: corrections, late deliveries and superseding packets linked to the observations they affect.
Retrieval boundary: source location, permitted recipient role, retention rule and explicit unavailable evidence.
These are proposed engineering groups, not a regulator's universal schema. Assign concrete ownership to their definitions. The CASP evidence-store selection guide covers the broader storage decision; this contract determines what the alert review needs that store to preserve.
Declare the window's start and end, its inclusion convention and the time attribute used to select transactions. Specify whether the rule considered authorized, settled or another declared transaction status. An investigator should not have to infer those choices from a dashboard total generated later. In the synthetic execution at 12:00 UTC, R-7 selects the previous 24 hours of qualifying incoming transactions. T-40 contributes EUR 9,800 and T-41 contributes EUR 700, producing EUR 10,500. Both are included under the fictional configuration then available. The EUR 10,000 comparison is simply the chosen demonstration condition.
Retain exclusions where they matter to the finding. A rejected transfer or an event outside the interval should have an explainable selection outcome. A list of the two included transactions alone cannot show that an omitted qualifying record was considered. The exercise should identify the source population against which selection completeness is assessed.
The reversal of T-41 arrives at 12:10 UTC with an effective source time of 11:55 UTC. Although effective before the detection execution, it was unavailable to that execution; a later view excluding the reversed contribution yields EUR 9,800. Preserve both the original input boundary and the correction relationship. An event-time-only reconstruction would place the reversal before detection and could make the original alert appear inexplicable. A receipt-time-only account would lose the source's earlier effective time. Keep both values with their clock domains and avoid claiming a precise causal order that the retained evidence cannot establish.
The proposed reviewer check asks why A-42 fired and what changed afterward. Its expected answer distinguishes the original EUR 10,500 population from the later EUR 9,800 population. Neither number alone decides whether the case should close. If chronology is disputed, use the CASP conflicting-clock reconstruction guide to preserve supported relationships alongside raw timestamps.
A rule may consume normalized amounts or aggregated customer attributes rather than raw transaction fields. Retain the transformation revision and the inputs needed to interpret the feature. A total expressed in euros is ambiguous if the packet omits whether the original amounts were already denominated in euros or converted under a separate process.
A-42 uses euro amounts directly and assumes no exchange-rate conversion. A real design using conversion would need the applicable rate source, rate time and rounding rule. Label missing interpretation inputs as unavailable; do not substitute a current exchange rate to make an old calculation appear complete.
For customer risk attributes, reference the effective customer-profile observation the rule actually consumed. Today's customer category may differ from the one used when the alert ran. The KYC decision-history migration guide explains that adjacent lineage problem; an alert packet should link the relevant version without duplicating an unrestricted identity archive.
A deployment timestamp needs similar care. Retain the evidence that R-7 was effective for the evaluated scope, rather than relying on a repository tag created later. If configuration changes rolled out gradually, identify which execution received which revision. The intended release schedule and the configuration actually used are different records. An implementation brief should state how that relationship becomes visible to an investigator without requiring production administrator access.
A comment and a disposition perform different jobs. The comment explains an observation or hypothesis; the disposition changes the case's declared state through an authorized workflow. Preserve the evidence revision consulted and the action's scope so a later reviewer can see which conclusions were actually approved.
Suppose analyst action O-2 at 12:05 UTC refers to B-1, before the reversal was received. Action O-3 at 12:15 UTC refers to B-2 and requests further review under the fictional policy P-3. Retain both actions. O-3 does not prove that O-2 considered the reversal, and a new packet should not silently acquire the earlier action's approval.
The FFIEC suspicious-activity reporting overview separates alert management, research and decision-making within US banking supervision. Its page also identifies newer SAR guidance. This article uses that workflow distinction only; it supplies no filing deadline, threshold or cross-jurisdiction documentation rule. The operator's applicable policy determines escalation and approval requirements.
An override should identify what it changes: a feature interpretation, the handling of one alert or the permitted next case action. A broad override flag can conceal whether the reviewer challenged the detector's inputs or merely selected a different operational response. Keep the original trigger result beside the override's declared effect.
Require the rationale to reference evidence, rather than only naming an experienced analyst. Where the workflow requires a second approval, preserve the actual approval event and its scope. A configuration stating that approval is required cannot establish that the approval happened. Missing authority should remain visible as an unresolved review relationship.
For the proposed exercise, provide an override record without its required approval reference. The expected finding is that authority cannot be established from the supplied packet. It is not an instruction to approve or reject a real customer. The next action belongs to the responsible case owner.
Several alerts can contribute to one investigation, and one alert may be relevant to more than one review question. Preserve those relationships explicitly. Merging case C-42 with another case should not replace A-42's detection identity or make every attachment appear to have been available to every earlier reviewer. Record the grouping action and the evidence boundary it creates.
A closure also needs a declared scope. Closing a duplicate operational ticket may leave the underlying investigation open. Resolving one data-quality question may leave a separate activity pattern unexplained. Ask the reviewer to identify the object that changed state and the remaining work. An export with only a case-level closed label can hide these distinctions even when it includes the correct transaction records.
When new evidence arrives after closure, retain the original disposition and identify the governing reopening decision. The reversal in B-2 should not rewrite an earlier case action automatically. Whether it calls for reopening, an additional note or another permitted response belongs to the declared workflow. The evidence model should expose that decision rather than making it through a database update.
A learned detection model adds dependencies beyond a threshold rule. Identify the deployed model revision and the feature pipeline that supplied its inputs. If an explanation was generated separately, connect it to the actual inference it describes. A newly generated explanation may be useful, but it should not be presented as a contemporaneous record.
Exact numerical replay may be unavailable when an external service changes, dependencies disappear or the execution has nondeterministic behavior. State the attainable claim: the retained output can be inspected, the feature interpretation can be reconstructed or the full execution can be reproduced under specified conditions. These are different levels of support.
Require the supplier to demonstrate the level the review actually needs. A-42 illustrates a deterministic arithmetic rule, not an evaluation of any learned model. Its simple totals cannot establish that a production detection system has acceptable coverage, bias or false-positive performance.
Separate the routine case view from sensitive source material. A reviewer may need a finding and a controlled retrieval route without receiving every identity document or investigative attachment. Specify which recipient role can resolve each source and record whether the proposed review succeeded under that role's existing permissions.
Where GDPR applies, Article 5 of the official regulation provides the relevant data-minimization and storage-limitation principles. The responsible legal and privacy owners must determine the applicable processing and retention boundaries. This guide proposes no universal retention period and no requirement to copy all evidence indefinitely.
Deletion or access expiry can limit reconstruction. A retained identifier or checksum does not recreate the missing source, nor does it authorize keeping information beyond its permitted lifecycle. The packet should describe the resulting limit and the lawful retrieval owner. Keep credential values and sensitive production records outside public examples and review templates.
Give a recipient B-1, B-2 and the declared R-7 configuration. Ask for the original trigger basis, the later correction and the evidence supporting each analyst action. Record the references used to reach those answers. This checks whether the evidence model supports review rather than merely displaying a completed export job.
Then change one dependency at a time. Remove a normalization revision, deliver T-41 twice and make one source unavailable to the recipient role. Preserve each variation's inputs and expected finding. A duplicate-delivery check should distinguish two receipts from two qualifying business transactions; otherwise the aggregate may change for the wrong reason.
These are proposed acceptance cases. They were not executed for this article. Successful synthetic checks would establish behavior for the assessed configuration and population, not the completeness of historical case coverage. Keep failures and unresolved dependencies in the review report, with a named owner for the next permitted action.
An export manifest should identify its alert and case population, packet revisions and generation boundary. Include the relationships needed to resolve source references under the recipient's permitted access. If the exported copy removes sensitive fields, identify the transformation and the resulting review limitation. A redacted artifact should not silently masquerade as the complete source. Compare the manifest with the objects the recipient can actually retrieve. A bundle can list B-2 while containing an older B-1 attachment, or preserve a working link that resolves to a replacement document. Content identifiers can help detect that mismatch when the source supports stable identification. They do not establish the truth of the source material or the authority behind a decision.
For the proposed A-42 handover, require a separate finding for missing sources, mismatched revisions and denied retrieval. These have different owners and should not share a generic export-failed outcome. Record the assessed population beside the finding so that a readable sample cannot be mistaken for proof that every retained case transferred correctly.
Ask how much work is required to reopen a disputed case after supplier access ends. A frozen packet may reduce lookup dependencies while increasing retained material. Replay may reduce repeated copies while increasing dependency management. A hybrid adds reconciliation work that should appear explicitly in the operating estimate. Use the same review questions for every option. Record source retrieval steps, required recipient permissions and unavailable dependencies. Measure actual review effort during an authorized pilot rather than publishing an invented time-saving percentage. Storage price alone cannot represent the cost of an evidence model whose essential inputs cannot be recovered.
Pharos Production's MiCA compliance software development service includes AML transaction monitoring, making the alert-to-case evidence boundary a relevant scoping problem. Bring a synthetic disputed trace and the recipient-access requirements to that discussion. Agree the review deliverable and acceptance evidence before treating a supplier's case-management feature list as proof.
Select a frozen packet when the required review fits a defined capture boundary. Select replay when the necessary history and interpretation dependencies remain recoverable. Consider a hybrid when stable investigator references and event reconstruction need separate representations, and the reconciliation work has an owner.
For A-42, the essential result is an inspectable distinction between the original detection population and later knowledge. The reviewer should identify why the EUR 10,500 trigger occurred, how the EUR 9,800 view arose and which evidence supported each governed action. If one relationship is missing, report that relationship instead of marking the entire case reproducible.
The CASP evidence engineering collection connects this choice to broader control traces and recovery records. Keep the selection decision narrow: name the review questions, identify the dependencies and specify what the recipient must demonstrate. A model earns its place when the next reviewer can challenge its answer and see precisely where the retained evidence stops.
Dmytro Nasyrov. Photo supplied by the author.
Written by Dmytro Nasyrov PhD, software architect with 24 years of production experience. Dmytro is the founder and CTO of Pharos Production. He works on production software architecture for FinTech, AI, Web3 and blockchain systems.