Skip to main content

Risk Signals

This reference documents all fraud risk signals detected by TrustGate, their severity, and recommended actions.

Signal Categories

Document Signals

Signals from document verification:

SignalSeverityDescription
document_tamperedCriticalSigns of physical or digital tampering
document_forgedCriticalDocument appears to be fake
mrz_mismatchHighMRZ data doesn't match visual zone
security_features_missingHighExpected security features not found
document_expiredMediumDocument past expiration date
document_quality_poorLowLow image quality affects verification
document_type_mismatchMediumDocument doesn't match claimed type
data_inconsistencyMediumData fields are inconsistent

Biometric Signals

Signals from biometric verification:

SignalSeverityDescription
face_mismatchCriticalFace doesn't match document photo
liveness_failedCriticalFailed liveness detection
deepfake_detectedCriticalAI-generated face detected
photo_of_photoHighSelfie is a photo of a photo
screen_captureHighSelfie taken from a screen
mask_detectedHighFace mask or covering detected
multiple_facesMediumMultiple faces in frame
face_partially_visibleLowFace not fully visible

Device Signals

Signals from device intelligence:

SignalSeverityDescription
device_fraud_confirmedCriticalDevice linked to confirmed fraud
device_emulatorHighVirtual machine/emulator detected
device_rootedMediumRooted Android device
device_jailbrokenMediumJailbroken iOS device
automation_detectedHighBrowser automation tools
headless_browserHighHeadless browser detected
vpn_detectedMediumVPN connection detected
tor_detectedHighTor network detected
proxy_detectedMediumProxy server detected
datacenter_ipMediumIP from hosting provider

Email Signals

Signals from email verification:

SignalSeverityDescription
email_disposableHighDisposable email service
email_fraud_domainCriticalDomain associated with fraud
email_spam_trapCriticalKnown spam trap address
email_new_domainMediumDomain < 30 days old
email_invalidHighEmail doesn't exist
email_free_providerLowFree email (Gmail, etc.)
email_catch_allLowDomain accepts all addresses
email_role_accountLowGeneric address (info@, admin@)

Phone Signals

Signals from phone verification:

SignalSeverityDescription
phone_fraud_historyCriticalPhone linked to fraud
phone_voipMediumVoIP number detected
phone_virtualHighVirtual phone service
phone_prepaidLowPrepaid SIM card
phone_ported_recentlyMediumNumber ported in last 30 days
phone_sim_swapHighRecent SIM swap detected
phone_invalidHighInvalid phone number
phone_country_mismatchMediumPhone country differs from claimed

Velocity Signals

Signals from velocity checks:

SignalSeverityDescription
multiple_apps_same_deviceHigh3+ apps from same device
multiple_apps_same_ipHigh5+ apps from same IP
multiple_apps_same_emailHighEmail used in multiple apps
multiple_apps_same_phoneHighPhone used in multiple apps
rapid_resubmissionMediumResubmitted within 24 hours
document_reusedHighSame document in multiple apps

Geographic Signals

Signals from location analysis:

SignalSeverityDescription
sanctioned_countryCriticalSanctioned jurisdiction
high_risk_countryHighHigh-risk jurisdiction
ip_country_mismatchMediumIP location differs from claimed
timezone_mismatchLowBrowser timezone mismatch
impossible_travelHighLocation change too fast

Behavioral Signals

Signals from behavior analysis:

SignalSeverityDescription
copy_paste_dataLowData was copy-pasted
rapid_form_fillMediumForm filled suspiciously fast
session_anomalyMediumUnusual session behavior
multiple_sessionsLowMultiple concurrent sessions

How Signals Are Used

The risk engine combines signals from all categories into an overall risk assessment. Each signal has a category, score (0-100), and weight that contributes to the overall risk score.

Risk Signal Categories in the Engine

The risk engine organizes signals into these categories (defined in RiskCategory):

CategoryDescriptionWeight
amlSanctions/PEP/adverse media hitsHigh
documentDocument verification issuesMedium-High
identityIdentity mismatch, country riskMedium
deviceVPN, proxy, suspicious deviceMedium
behaviorSuspicious patternsLow-Medium
addressAddress verification statusLow-Medium

Get Risk Breakdown for an Applicant

To see how signals contribute to an applicant's risk score, use the risk breakdown endpoint:

curl -X GET "https://api.bytrustgate.com/api/v1/applicants/{applicant_id}/risk-breakdown" \
-H "Authorization: Bearer YOUR_API_KEY"

This returns a weighted breakdown across four risk dimensions:

  • Geographic Risk (25%): Country + IP mismatch
  • Product Risk (15%): Product type scoring
  • Channel Risk (20%): Device/network signals
  • Customer Risk (40%): AML + identity + address + document signals

Get Full Risk Assessment

For the detailed signal-level view, use the risk assessment endpoint:

curl -X GET "https://api.bytrustgate.com/api/v1/workflows/risk/{applicant_id}" \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"applicant_id": "550e8400-e29b-41d4-a716-446655440000",
"overall_level": "medium",
"overall_score": 35,
"recommended_action": "manual_review",
"signals": [
{
"category": "device",
"signal_name": "vpn_detected",
"score": 40,
"weight": 0.15,
"description": "VPN connection detected",
"details": {}
},
{
"category": "identity",
"signal_name": "country_risk",
"score": 30,
"weight": 0.2,
"description": "Applicant country has elevated risk",
"details": {}
}
],
"assessment_time": "2026-01-20T14:30:00Z",
"applied_rule_name": null,
"final_action": null
}

Get Risk Assessment History

curl -X GET "https://api.bytrustgate.com/api/v1/workflows/risk/{applicant_id}/history?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"

Signal-Based Workflow Rules

Use workflow rules to automate actions based on risk assessment results. Rules use flat condition dictionaries -- they do not reference individual signals directly but instead match on aggregate risk levels and screening outcomes.

Auto-Reject for High Risk with Sanctions Hits

curl -X POST https://api.bytrustgate.com/api/v1/workflows/rules \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Reject high risk with sanctions",
"description": "Auto-reject applicants with critical risk and sanctions hits",
"conditions": {
"risk_level": ["critical"],
"has_sanctions_hit": true
},
"action": "auto_reject",
"notify_on_match": true,
"priority": 950
}'

Escalate PEP Matches

curl -X POST https://api.bytrustgate.com/api/v1/workflows/rules \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Escalate PEP matches",
"description": "Escalate any applicant with PEP hits for enhanced due diligence",
"conditions": {
"has_pep_hit": true
},
"action": "escalate",
"assign_to_role": "senior_compliance",
"notify_on_match": true,
"priority": 800
}'

See Workflow Rules for the full rule configuration reference.

Signal Correlation

High-Risk Combinations

These signal combinations indicate high fraud probability:

CombinationFraud Probability
deepfake_detected + any95%+
document_tampered + face_mismatch90%+
device_emulator + vpn_detected85%+
email_disposable + phone_virtual75%+
multiple_apps_same_device + rapid_resubmission70%+

Next Steps