Skip to main content
Tuteliq Verification is a production-grade identity and age verification pipeline that combines document intelligence, biometric matching, liveness detection, and multi-layer fraud prevention in a single API call. Most verification providers give you OCR and a face match. Tuteliq cross-references every data source on the document against every other — MRZ check digits, barcode data, OCR text, front vs. back, document vs. selfie — and flags any inconsistency as potential tampering. This catches forgeries that pass single-layer checks.

Cross-device flow

Recommended integration path for mobile, web, and native apps. Create a session on your server, open the URL in a webview or QR code, get the result back via Server-Sent Events. Includes code samples for iOS (Swift), Android (Kotlin), React Native, Flutter, and web (iframe).

Age Verification

Confirm user age via document analysis, biometric estimation, or both. Direct-submission API for same-device flows.

Identity Verification

Full identity confirmation with document authentication, face matching, liveness detection, and fraud prevention.

Document Checks

45 countries with algorithmic validation. ICAO 9303 MRZ. PDF417 barcode decoding.

Fraud Prevention

7 cross-referencing layers, recapture detection, LLM-powered authenticity analysis, and IP geolocation checks.

What makes Tuteliq different

45-Country Document Validation

Algorithmic check digit validation for CPF, personnummer, Aadhaar, Codice Fiscale, CURP, SSN, and 39 more. Not just format checks — full mathematical verification.

7-Layer Cross-Referencing

MRZ vs. OCR. Barcode vs. OCR. Front vs. back. Document vs. selfie. Declared type vs. detected type. IP vs. document country. OCR confidence gating. Every inconsistency is flagged.

AI-Powered Authenticity

Vision model analyzes document layout, security features, fonts, and color consistency against known templates. Detects screen photos, printout recaptures, and digital manipulation.

Tier availability


Age Verification

POST /v1/verification/age Verify a user’s age through document analysis, biometric age estimation, or both. Returns a verified age range, confidence score, and detailed document intelligence.

Verification methods

Request

Response

Response fields

Age extraction sources

DOB is extracted from multiple sources and cross-referenced. Priority order:
  1. MRZ (Machine Readable Zone) — Most reliable. ICAO 9303 check digit validated.
  2. PDF417 barcode — US/Canadian driver’s licenses. AAMVA-encoded structured data.
  3. OCR labels — Text patterns like “Date of Birth:”, “DOB:”, date formats.
  4. Selfie estimation — Vision AI age bracket classification (fallback).
When multiple sources disagree, the verification flags the inconsistency.

Supported documents

Documents must be a clear, well-lit photo in JPEG or PNG format. Maximum file size: 10MB.

Identity Verification

POST /api/v1/verify/identity/submit Full KYC identity verification combining document authentication, face matching, liveness detection, and country-specific national-ID validation. Business plan and above.

What it checks

Every identity verification runs all of these checks automatically:

Request

cURL
Pass passport=@passport.jpg instead of id_front/id_back when verifying a passport. The liveness_token is issued by the liveness challenge step (see Liveness detection doc).

Response

All identity fields are null when not extractable (e.g. height_cm for national ID cards that don’t print height, or national_id for countries without a per-country extractor in this release).

Response fields

national_id object

Returned only when the document’s country has a per-country extractor in this release. Countries with validators but no extractor yet (returns null for national_id until extractors land): DEU, FRA, ITA, NLD, GBR, IRL, CHE, AUT, CZE, ROU, HRV, BGR, GRC, HUN, EST, LVA, LTU, ARG, MEX, CHL, COL, PER, ECU, URY, CAN, USA, JPN, KOR, ZAF, THA, TUR.

Verification outcomes


Integration patterns

Age gate on sign-up

Moderator/admin verification

Error handling

Verification errors use the VERIFY_11xxx code range:
cURL example error response

Data handling

Verification involves sensitive personal data. Tuteliq processes documents and selfies in real time and does not store images or extracted PII after the verification is complete. Only the verification result (age range, pass/fail) is retained. See the GDPR page for data handling details.

Next steps

Document Checks

Deep dive into 45-country document validation, MRZ parsing, and barcode reading.

Liveness Detection

How visual liveness analysis prevents spoofing attacks.

Fraud Prevention

Multi-layer cross-referencing, recapture detection, and authenticity analysis.