Identity document verification

Forgeries hide in the pixels. OVT looks there.

OVT examines passports, ID cards and driving licences the way a document examiner does. It compares characters pixel by pixel, measures the fine print and tests every date and number against the rules of that exact document model. You get a verdict and the evidence behind it from one API call.

  • Passports
  • ID cards
  • Driving licences
Check · Utopia ID card · TD1 Forgery
  • MRZ Structure and check digits valid
  • Rules Dates, age and validity consistent
  • Print layer Fine pattern intact
  • Portrait Laser greyscale
  • Glyphs “3” in 2031 copies the “3” in 1983 pixel for pixel · match 0.94
  • AI review Finding confirmed on the image

52

document models, each with its own zones and rules

26

EU countries whose driving licences OVT verifies

30+

forensic and logic checks in the pipeline

1

API call from photo to verdict

Technology

Verification that examines the document itself

Most automated checks read the text on a document and accept the image as it is. OVT treats the image as evidence. Each check looks for a different trace a forger leaves behind.

±1 grey level · stroke edges

Pixel forensics

A digit copied from elsewhere on the card is identical to its source. OVT compares the stroke edges of every character in the original photo pixels and catches the copy.

Pattern SNR · model reference

Print layer analysis

Genuine cards carry fine static print that a photo of a paper copy cannot keep. OVT measures it against a reference of that exact document model.

52 models · zones · issue periods

Rules for each document model

OVT knows where every field sits, when the model was issued, its MRZ format and how long it can be valid. A date that is possible on paper but impossible for that model gets flagged.

Laser black to substrate

Portrait integrity

Polycarbonate cards carry laser-engraved portraits in shades of grey. A colour photo pasted over one stands out at once.

Claims verified on crops

AI review that shows its evidence

An AI examiner sees the photo and every check result. Before it can overturn the algorithm, its claims are verified on enlarged crops of the image.

Reasons · steps · PDF · iframe

Verdicts you can explain

Every verdict comes with its reasons in priority order and a step-by-step report. Download it as PDF or embed it in your back office.

How it works

From photo to verdict in four stages

Every check runs the same pipeline. Each step records what it saw and why it passed or failed, so the verdict never comes from a black box.

  1. 1

    Capture

    • Decode JPEG, PNG, WebP or PDF, with its EXIF metadata
    • Locate Matched to the model’s template, or found by its MRZ in any rotation
    • Quality Resolution, sharpness, glare and exposure
  2. 2

    Read

    • OCR Text read into the zones of that document model
    • MRZ Structure and check digits; only uncertain characters are corrected
  3. 3

    Examine

    • Rules Number, dates, age at issue, validity, issue period, categories, authority
    • Portrait A laser-engraved portrait stays in greyscale
    • Glyphs No two characters repeat each other pixel for pixel
    • Print layer Fine static print matches the model reference
    • Specimen Published sample data and overprints
  4. 4

    Decide

    • Verdict The algorithm’s verdict with reasons in priority order
    • Identify AI names documents outside the registry
    • Review An AI examiner sets the final verdict; its findings are verified

Every check ends in one of six verdicts

  • Genuine
  • Needs review
  • Forgery
  • Expired
  • Unusable image
  • Not supported

What OVT catches

The edits that pass a quick look

Forgers rarely make a card from scratch. They change one digit, paste one photo or print a copy of a real card. Each of these leaves a trace OVT is built to find.

A digit copied from another field

The quickest way to change a date is to copy a digit that is already on the card. The copy looks perfect, because it is the original. On a genuine card no two characters match pixel for pixel. A copied one does, and OVT finds it.

  • Compared in the original photo pixels, before any resampling
  • Stroke edges only, within ±1 grey level at the best offset
  • Every character pair on the card, in any orientation

Date of birth · 1983

Date of expiry · 2031

equal differs

Share of stroke-edge pixels that match between two characters.

Why it matters

Reading a document is not the same as examining it

Text-based checkOVT
Reads the printed data
Reads the data and examines the pixels it is printed with
Validates MRZ check digits
Validates the MRZ and cross-checks it against the visual zone and the model’s rules
Runs the same checks on every document
Runs the rules of each of 52 document models
Passes a digit copied within the card
Catches copied digits pixel for pixel
Can pass a photo of a printed copy
Sends copies with lost fine print to review
Returns a score without reasons
Returns a verdict with reasons and a full step report

AI review

An AI examiner that has to prove its point

After the forensic checks, an AI examiner looks at the photo together with every result and decides whether the document looks genuine. When it disagrees with the algorithm, OVT verifies its claims on enlarged crops of the image. A finding that does not hold up does not change the verdict.

  • Sees the image and every check result
  • Overturns a verdict only with verified findings
  • Names documents outside the registry
  • Runs on leading large language models

AI reviewUtopia ID card · TD1

  1. InputPhoto and every check result
  2. AssessmentForged
  3. FindingThe “3” in the expiry year has the same pixels as the “3” in the birth year
  4. VerificationEnlarged crop of both digits · confirmed

Final verdictForgery

Check 20261113-0942 · Utopia ID card (TD1)
Verdict Forgery

Two characters match pixel for pixel: “3” in date of expiry and “3” in date of birth (0.94).

Fields read

Surname
ERIKSSON
0.99
Given names
ANNA MARIA
0.99
Date of birth
12.08.1983
0.98
Date of expiry
05.09.2031
0.97
Document no.
D23145890
0.99

Steps

  • Decode
  • Locate
  • Quality
  • Read
  • MRZ
  • Rules
  • Portrait
  • Glyphs
  • Print layer
  • Specimen
  • AI review

Explainable verdicts

A verdict you can explain to anyone

Every check produces a report: the verdict, its reasons in priority order, the fields read with their confidence, comparison images and the result of each step. Your team sees why, and so does your auditor.

  • PDFDownload any report for your records
  • EmbedShow it in your back office through a link signed by your server
  • ExpiryLinks stay valid for an hour at most
  • ReplayRun any check again with the same inputs

Coverage

Driving licences across the EU. Passports from anywhere.

Every supported model has its own entry with its description, security features, zones, MRZ format and rules. Passports and ID cards of any issuing state are read and cross-checked through their ICAO 9303 MRZ.

ICAO 9303

Any issuing state

  • TD3Passports
  • TD1ID cards
  • TD2Other travel documents

MRZ structure and check digits, dates, and the data printed in the visual zone.

European Union 26 countries · document models of their own

  • AT Austria 2 driving licences
  • BE Belgium 1 driving licence
  • BG Bulgaria 1 driving licence · 2 ID cards
  • HR Croatia 1 driving licence
  • CZ Czechia 1 driving licence
  • DK Denmark 2 driving licences
  • EE Estonia 1 driving licence
  • FI Finland 3 driving licences
  • FR France 1 driving licence · 1 ID card
  • DE Germany 2 driving licences
  • GR Greece 1 driving licence
  • HU Hungary 1 driving licence
  • IE Ireland 1 driving licence
  • IT Italy 1 driving licence
  • LV Latvia 1 driving licence
  • LT Lithuania 2 driving licences
  • LU Luxembourg 1 driving licence
  • MT Malta 1 driving licence
  • NL Netherlands 3 driving licences
  • PL Poland 3 driving licences
  • PT Portugal 2 driving licences
  • RO Romania 1 driving licence
  • SK Slovakia 3 driving licences
  • SI Slovenia 2 driving licences
  • ES Spain 1 driving licence
  • SE Sweden 2 driving licences

Beyond the EU

  • RU Russia 2 driving licences
  • UA Ukraine 2 driving licences
  • US United States (NY) 1 driving licence

Use cases

Built for every KYC flow

Wherever a customer shows an identity document, OVT tells you whether you can trust it.

  • Banking and fintech

    Onboard customers with passports and ID cards from any country, and keep forged documents out of your KYC.

    Passports · ID cards

  • Mobility and car sharing

    Check that a driving licence is genuine, valid today and covers the vehicle category before the first ride.

    Driving licences

  • Marketplaces

    Verify sellers and hosts once, with a verdict your trust and safety team can explain.

    ID cards · Passports

  • Gaming and age-restricted goods

    Trust the date of birth. OVT checks that nobody edited the digits on the card.

    ID cards · Driving licences

  • Crypto and payments

    Meet KYC requirements with a forensic check that goes beyond reading the data.

    Passports · ID cards

  • Telecom

    Register SIM and contract customers from a single photo and one API call.

    ID cards · Passports

Developers

One API call from photo to verdict

Send the photo and get JSON back: the verdict, its reasons, the fields read and every check that failed. Each client has its own key and sees only its own checks.

  • POST /api/v1/checks Image in, verdict out. JPEG, PNG, WebP or PDF.
  • GET /api/v1/checks/{id} Fetch any result again.
  • GET /embed/checks/{id} The full report in an iframe, by a signed link.
Request
curl -X POST "$OVT_URL/api/v1/checks" \
  -H "Authorization: Bearer $OVT_API_KEY" \
  -F file=@id-front.jpg \
  -F reference=case-42
Response · 200
{
  "check_id": "20261113T094212-6e48c0de",
  "reference": "case-42",
  "verdict": "fraud",
  "reasons": [
    "Two characters match pixel for pixel: 3 in date of expiry and 3 in date of birth"
  ],
  "document": {
    "id": "icao_id_card_td1",
    "country": "UTO",
    "type": "id_card"
  },
  "fields": {
    "expiry_date": { "value": "2031-09-05", "confidence": 0.97 }
  },
  "review": { "assessment": "forged", "verification": "confirmed" }
}

Security

Private by design

  • Isolated per client

    Every client has its own API key and sees only its own checks.

  • Signed, short-lived links

    Report links are signed by your server and expire within an hour.

  • Keys stay server-side

    Your API key never reaches the browser, embedded reports included.

  • Full audit trail

    Each check keeps its inputs and the result of every step, so any verdict can be replayed.

See what OVT finds in your documents

Send us a few sample images and we will walk you through the reports on a short call.

Request a demo