How It Works
Document upload
The user uploads an identity document (passport, ID card, driver’s license) through the hosted flow or API.
AI analysis
The AI engine analyzes the document image for visual inconsistencies, font anomalies, edge tampering, and metadata manipulation.
Fraud scoring
The analysis produces a fraud score (0-100), a recommendation, and a list of specific fraud signals detected.
Fraud Signals
Verilock detects the following fraud indicators:| Signal | Description |
|---|---|
font_mismatch | Text uses inconsistent fonts compared to known genuine templates |
edge_tampering | Visible cut-and-paste artifacts or irregular edges around text or photo |
photo_overlay | Selfie photo appears to be digitally overlaid onto the document |
metadata_mismatch | Image EXIF data inconsistent with document (e.g., edited in Photoshop) |
resolution_anomaly | Inconsistent resolution across different areas of the document |
micro_print_absent | Expected security micro-printing not detected |
hologram_absent | Expected holographic elements not visible |
color_profile_anomaly | Color saturation or gradient inconsistencies versus genuine templates |
barcode_mismatch | Machine-readable zone (MRZ) or barcode data conflicts with visual text |
screen_capture | Document appears to be a photo of a screen rather than a physical document |
Fraud Score
| Score Range | Level | Recommendation |
|---|---|---|
| 0 — 15 | Low | accept — no fraud indicators detected |
| 16 — 40 | Medium | review — minor anomalies worth manual inspection |
| 41 — 70 | High | review — multiple fraud signals present |
| 71 — 100 | Critical | reject — strong evidence of fraud or tampering |
API Response
Fraud detection data is included in the session detail response (GET /v1/sessions/{id}):
Clean Document Example
Response Fields
| Field | Type | Description |
|---|---|---|
fraud_score | integer | Document fraud score (0-100) |
fraud_level | string | low, medium, high, or critical |
fraud_recommendation | string | accept, review, or reject |
fraud_signals | array | List of detected fraud indicators |
fraud_signals[].signal | string | Signal identifier |
fraud_signals[].confidence | number | Detection confidence (0-1) |
fraud_signals[].description | string | Human-readable description of the finding |
analyzed_at | string | ISO 8601 timestamp of analysis |
Security Features
- Template matching — documents are compared against a library of genuine templates for 190+ countries
- Cross-field validation — MRZ data is validated against visual OCR for consistency
- Recapture detection — detects photos of screens, printouts, or photocopies
- EXIF analysis — image metadata is checked for editing software signatures
Fraud detection runs automatically on all document uploads. No additional configuration is required.

