Fraud Investigation Engine Overview
The Fraud Investigation Engine is an agentic workflow that investigates fraud alerts by analyzing transaction data, alert signals, and external intelligence. It evaluates evidence against your Standard Operating Procedures (SOPs), performs web research to verify external entities, and queries data warehouses to produce a comprehensive investigation with a clear verdict and recommended action.Key Capabilities
- Policy-Driven Analysis: Investigates alerts against your fraud investigation SOP guidelines
- Fraud Classification: Categorizes fraud by scenario (what happened), actor (who did it), vector (how), and payment rail
- Automated Evidence Collection: Uses web research and SQL queries to gather and cite evidence
- Risk Signal Detection: Identifies high-risk signals and verification checks that passed from your SOP
- Structured Verdicts: Produces investigation results with clear verdicts from your policy dispositions
Prerequisites
Before using the Fraud Investigation Engine, ensure you have:- A Fraud Investigation Policy: Create a policy containing your fraud investigation SOP with guidelines, red flag criteria, and disposition options. See Policies for setup instructions.
- Context Sources (Recommended): Configure data connectors (Snowflake, ClickHouse, or Zendesk) to allow the agent to query transaction history and customer data. See Data Connectors.
Fraud Investigation Engine Inputs
The Fraud Investigation Engine Configuration has four parameters:| Parameter | Required | Description |
|---|---|---|
| policy_version_id | Yes | The Policy version ID containing your fraud investigation guidelines (SOP) |
| context_sources | No | Data sources (e.g., Snowflake, Zendesk) for the agent to query transaction and customer data during investigation |
| alert_data | Yes | Alert data that triggered this investigation (JSON string with alert details) |
| transaction_data | No | Pre-loaded transaction data (JSON string). If empty, the agent will fetch from context sources |
Fraud Investigation Output
The output is a structured JSON object containing:Policy Applied
Information about the policy used for investigation:name: Name of the policy appliedversion: Version ID of the policy applied
Customer Profile
Customer information gathered during the investigation:| Field | Description |
|---|---|
account_id | Customer’s account identifier |
email | Customer’s email address |
name | Customer’s full name |
phone | Customer’s phone number |
location | Customer’s location (city, state, country or IP-based geolocation) |
devices | Devices associated with the customer (e.g., “iPhone 14”, “Android”) |
product | Product or service the customer is using |
accounts | List of account types or linked accounts |
kyc_status | KYC verification status including provider and verification method |
Fraud Analysis
Complete investigation result including:| Field | Description |
|---|---|
verdict | Final verdict from policy dispositions (e.g., “False Positive”, “Needs Review”) |
summary | Markdown executive summary with inline evidence references using $REF_X$ markers |
summary_evidences | Array of evidence objects corresponding to $REF_X$ markers in the summary |
rail | Payment method used (wire, ach, check, card_present, card_not_present, zelle_rtp) |
scenario | Fraud typology if fraud is suspected (e.g., account_takeover, scam_investment) |
actor | Who committed the fraud (third_party, first_party, second_party, internal_employee) |
vectors | Attack vectors used (e.g., phishing_link, credential_stuffing, sim_swap) |
high_risk_signals | Array of detected risk signals with evidence |
checks_passed | Array of verification checks that passed with evidence |
action_recommendation | Recommended action with reasoning |
Risk Signal Structure
Each risk signal includes:signal_name: Clear, concise name of the risk signalreasoning: One sentence explanation of the key findingevidences: Array of evidence supporting this finding
Checks Passed Structure
Each check passed includes:check_name: Clear, concise name of the check passedreasoning: One sentence explanation of the key findingevidences: Array of evidence supporting this finding
Evidence Structure
Each piece of evidence includes:evidence_type: “web_link”, “screenshot”, or “artifact”evidence_data: URL or artifact referenceevidence_name: Short descriptive nameevidence_description: Why this evidence is relevant
Action Recommendation Structure
| Field | Description |
|---|---|
suggested_action | One of: clear_alert, escalate, or lock_account |
reasoning | Explanation for why this action is suggested over others |
Fraud Classification Taxonomy
The Fraud Investigation Engine uses a structured taxonomy to classify fraud:Fraud Scenarios (The “What”)
| Scenario | Description |
|---|---|
| account_takeover | Unauthorized access to an existing account |
| new_account_fraud | Synthetic or stolen identity used at onboarding |
| card_testing | High velocity small authorizations |
| scam_impersonation | Bank/government impostor scams |
| scam_investment | Crypto/pig butchering investment scams |
| scam_romance | Romance-based fraud schemes |
| first_party_abuse | ”Friendly fraud” / refund abuse |
| mule_activity | Receiving stolen funds |
| structuring | Smurfing to avoid reporting limits |
Fraud Actors (The “Who”)
| Actor | Description | Liability |
|---|---|---|
| third_party | External criminal | Bank Liability |
| first_party | Customer themselves | Customer Liability |
| second_party | Mule/Collusion | Shared Liability |
| internal_employee | Insider threat | Bank Liability |
Attack Vectors (The “How”)
| Vector | Type | Description |
|---|---|---|
| credential_stuffing | Technical | Reusing passwords from breaches |
| malware_bot | Technical | Automated malicious software |
| sim_swap | Technical | Phone number hijacking |
| man_in_the_middle | Technical | Intercepting communications |
| phishing_link | Social | Clicked malicious link |
| vishing_call | Social | Fraudulent phone call |
| document_forgery | Social | Fake ID or documents |
| check_washing | Social | Chemically altering checks |
Payment Rails (The “Vehicle”)
| Rail | Description |
|---|---|
| wire | Wire transfer |
| ach | ACH transfer |
| check | Check payment |
| card_present | In-person card transaction |
| card_not_present | Online/remote card transaction |
| zelle_rtp | Zelle or real-time payments |
Policy (SOP) Structure
Your fraud policy should contain:- Instructions: High-level investigation guidance for fraud detection
- Guidelines: Organized as Categories > Rules
- Each Category contains multiple Rules
- Each Rule has a
flagtype (GREEN_FLAG or RED_FLAG),title, anddescription
- Dispositions: Classification options for final verdicts
Supported Context Sources
The Fraud Investigation Engine supports the following data source connectors:| Connector | Type | Description |
|---|---|---|
| Snowflake | SQL | Query your Snowflake data warehouse for transaction history, customer data, device logs, etc. |
| ClickHouse | SQL | Query ClickHouse for high-performance analytics on transaction data |
| Roe Tables | SQL | Query tables stored in VolansDB for internal data analysis |
| Zendesk | API | Fetch support tickets and customer communication history |
Creating a Fraud Policy
Fraud investigation requires a policy containing your Standard Operating Procedures (SOP). You can create policies using the Policies feature.A pre-built Fraud Investigation Workflow policy template is available in the platform. This template provides a comprehensive framework for alert review, typology assessment, evidence synthesis, and decision labels.
Example Alert Data
Example Output
Action Recommendations
Based on the verdict, the engine recommends one of three actions:| Action | When to Use |
|---|---|
| clear_alert | Verdict is false_positive—no further action needed |
| escalate | Verdict is needs_review—requires human analyst review or additional context |
| lock_account | Verdict is highly_suspected—immediate protective action to prevent losses |
Use Cases
The Fraud Investigation Engine is designed for:- Account Takeover Alerts: Investigate suspicious login patterns, device changes, or credential compromise
- Transaction Fraud Alerts: Analyze unusual transaction patterns, velocity anomalies, or suspicious recipients
- New Account Fraud: Investigate synthetic identity or application fraud signals
- Scam Detection: Identify investment scams, romance scams, or impersonation attempts
- Chargeback Investigation: Investigate disputes and determine first-party vs. third-party fraud
- Mule Account Detection: Identify accounts receiving or laundering stolen funds
Best Practices
Define Clear SOPs
Create comprehensive fraud investigation policies with specific criteria for each verdict level
Connect Multiple Data Sources
Configure SQL and Zendesk context sources to give the agent access to transaction history, device logs, and customer communications
Structure Alert Data
Include all relevant identifiers (account ID, device info, IP, transaction details) in your alert data for thorough investigation
Review Dispositions
Define clear disposition classifications in your policy for consistent verdict assignment