Document verification: passport, driver's license, ID card turnkey

The flow of applications stalls on manual document verification: operators get confused by copies, and an error passes further down the process. We develop turnkey document verification — from recognition to database matching and an audit trail of decisions. We configure the verification mode for your flow and reduce the share of manual review severalfold.
Frequently Asked Questions

Document verification: where the application flow breaks

Document verification breaks not on the model, but at the input. A photo is taken at an angle, with glare from a lamp or flash, the edge of the form is cropped by the frame — and document form recognition returns empty fields where a person sees the number without difficulty.

One such application goes to manual review, and everything then depends on how many operators can keep up with the flow.

Passport and driver's license verification is complicated by the fact that document forms differ: passports and ID cards, driver's licenses of several generations, documents from different regions with their own layout and security features.

There is no universal template here — each type needs its own set of zones and rules, and a new form series arrives without warning and breaks an already configured pipeline.

A separate point of failure is field mismatch. Data from the machine-readable zone, the visual part, and the external source response do not match in spelling, transliteration, or date, and the system either rejects a valid document or passes a forgery.

False rejections are the most expensive: the client does not understand the reason, tries again, and leaves, while the queue of applications grows faster than it can be reviewed manually.

Below we break down how this is closed: image preparation before recognition, parsing the document form by zones, field matching, and clear escalation rules.

Effect: verification speed, error rate, and decision trail

We measure the effect by several values: how long verification of one application takes, what share of decisions is made without an operator, which errors stop reaching a person at all, and what remains in the log after reviewing disputed cases. Below is how this looks on a working pipeline.

Application processing time

We parse the machine-readable zone and document form fields according to the requirements of ICAO 9303, and launch matching in parallel with frame quality checks.

The typical "document + photo of the holder" scenario closes in seconds instead of minutes of manual work, and operator time is spent only on applications where automation did not reach the confidence threshold.

Share of automatic decisions

The confidence threshold is not fixed — it is configured for the risk of the service separately for each document type and submission channel.

On a configured pipeline, the share of decisions without an operator usually reaches 70–85%, and it grows not by lowering the bar, but by filtering out low-quality frames before the matching stage.

Class of rejections that stops reaching the operator

Glare, occlusions, copies and screenshots, cropped edges, face mismatch with the portrait, repeated submission of the same document — all of this is filtered out at the input with a clear reason.

The operator sees meaningful discrepancies rather than a stream of unreadable images, so review of disputed cases takes minutes rather than hours.

Decision log

Every decision is stored with the reason, frame quality labels, and the version of the rules by which it was made.

A disputed application can be rechecked under the same set of conditions, rather than reconstructing the logic from memory — this is what makes review of disputed cases a manageable procedure rather than a one-off investigation.

Approaches to document verification: comparison of modes

The verification mode is chosen not by "level of technological sophistication," but by flow: how many documents arrive per day, which types dominate, and what to do when in doubt.

Below are three schemes that are actually chosen between at the start, together with their limitations.

How modes differ in practice

The key metrics here are the share of decisions made without an operator and the cost of error in both directions: a missed forgery and a false rejection of a live client.

The limitations of an approach usually show up not in average quality, but on rare types of forms and images with glare, overexposure, or cropped edges.

Verification mode When it fits Limitations
Automatic matching High-volume flow of similar documents: field recognition, registry matching, and forgery indicator checks without human involvement Errors on poor images and rare forms; need a margin for rejection rate and review of triggers
Hybrid scheme Confident cases close automatically, disputed and expensive segments go to an operator Requires a queue, escalation regulation, and labeling of operator decisions for model retraining
Manual verification Isolated complex cases, non-standard documents, collection of samples for new types Does not scale: time per document grows linearly, and variance between operators appears

At the start, automatic matching is usually taken as the basis, and the hybrid scheme as insurance for disputed cases. Moving between them does not require rework, and the share of manual decisions is visible in the log and serves as a signal that it is time to change the mode.

Step-by-step implementation: from flow audit to handover

A flow audit starts with facts: how many documents per day pass through verification, of which types (passport, ID card, driver's license, residence permit), how many of them go to manual review, and what the median delay to a decision is.

Then we fix the target metric — for example, the share of automatic checks without operator involvement at a controlled level of missed forgeries. Without this stage, it is impossible to understand where automation produces an effect and where it only shifts work around.

  1. Flow analysis: collect document samples and submission scenarios, note which fields are critical, where glare, cropping, and angled photography occur.
  2. Verification scheme: define the order of steps — recognition of the machine-readable zone, field matching against each other, checksum verification, face matching with the selfie, checking against internal lists.
  3. Rule setup: set match thresholds separately for each document type, describe behavior for low-quality images — resubmission, repeated request, or manual review according to an individual calculation. Pilot on historical data: run the rules on the accumulated archive, compare the result with what operators decided manually, and adjust thresholds for the target recall.
  4. Acceptance: measure the share of false rejections and misses on a holdout sample, and check behavior when external services fail.
  5. Shadow mode: the system decides, the operator decides — we review discrepancies before handover.
  6. Handover of regulations: instructions for operators and support, and a scheme for updating rules when new document types appear.

After handover, the rules remain manageable: thresholds, stop lists, and the order of steps are changed by configuration, without rewriting the system.

What remains with you: schemas, regulations, access

After launch, all documentation remains in your environment, next to the code and settings, not in correspondence with us. We hand it over so that six months later a new engineer or operator can understand it without calls and without reconstructing the context from scratch.

  • Verification scheme: which steps a document goes through from upload to verdict, where automation makes the decision, where an operator is connected, and what data is recorded at each step.
  • Access matrix: roles and visibility zones, image retention periods, the procedure for granting and revoking rights — with an explicit separation of what an operator sees and what is available only to a service role.
  • Personal data access policy: what is logged, what is masked, what is deleted immediately after verification, and who can export it and on what grounds.
  • Review regulation: how to act on a disputed verdict, who makes the final decision, how the rejection reason is recorded, and how this changes the rules in the next iteration.
  • Operator instructions: typical errors by document type, escalation procedure, shift handover, and review of conflict cases with examples.
  • Support procedure: how new document types and languages are added, how rules are updated, what response time applies when accuracy drops, and how an unsuccessful change is rolled back.
  • Metrics log: share of decisions without human involvement, share of manual rework, distribution of rejection reasons — it shows whether the system works as intended.

Case: how manual application review was reduced

The client is a service with a flow of 4–6 thousand applications per day for applicant onboarding.

Before implementation, 42% of requests went to manual review: an operator spent 6–9 minutes per application, and during peak hours the queue grew faster than the shift could be expanded.

The pipeline was assembled from three steps: document authenticity verification — holograms, microtext, marks in infrared and ultraviolet ranges; face matching against the holder's photo; risk ranking by formal attributes.

The authenticity verification core was built on Regula, with custom routing rules on top: only an application that failed at least one high-risk attribute goes to manual review.

Metric Before After
Applications without operator involvement 58% 91%
Average time to verification result 19 hours 90 seconds
False rejections 12% 3%
Forgeries that passed to approval 6% 0.3%

The main gain came not from text parsing, but from queue separation.

Previously disputed applications were piled into the common flow, and the operator spent as much time on them as on simple ones; now disputed ones are separated and reviewed by priority, while typical ones close automatically. The applicant receives the verification result immediately, without waiting for a shift.

How does database matching differ from text recognition?

Field extraction only answers the question "what is written in the document": an image turns into a set of values — last name, number, issue date, series.

Optical recognition will confidently handle photo manipulation too, because the model does not check whether such a form exists and whether it was issued to the person in the photo.

Document form analysis is verification of the medium itself, not the text on it. We look at geometry and proportions, fonts and their placement, security features, the machine-readable zone and its checksums per ICAO, traces of re-gluing and local edits.

This confirms the authenticity of the document, but not its current status: a careful forgery passes this check.

Registry matching covers the second half of the task: whether there is a record, whether the document is valid, not revoked and not reported lost, whether the photo matches the record.

Here the extracted fields are not the result but the query key, so an error in one character turns into a false rejection.

We arrange the order of checks from cheap to expensive. First frame quality: sharpness, glare, geometry. Then document form and machine-readable zone analysis — it offline filters out the bulk of forgeries.

After that, field extraction, and only then registry matching as the slowest and not always available step.

We return the decision not as "yes/no" but as a confidence level with a reason: blurry frame, mismatched checksum, missing record.

If there is no access to the registry, hybrid mode relies on the document form and biometrics, but with lower trust — and this is explicitly recorded in the verification result.

Technical concerns: accuracy, privacy, rejections

Verification accuracy rests not on the model, but on the quality of input data. Glare on the laminate, weak light, a document at an angle — the application goes to manual verification or rejection.

That is why we look at the flow as a whole: what comes from the cameras and how quickly it is corrected.

Clients photograph a document with a phone in poor light — can this be fixed?

The service checks the frame before submission: sharpness, overexposure, whether document boundaries are within the frame, readability of key zones. Instead of "try again," the person gets a specific reason — turn, move closer, remove glare. The share of images reaching recognition on the first try after such a check is noticeably higher.

How are document images stored and who has access to them?

Images are stored separately from the verification result, encrypted, with a retention period that you set. Access is role-based: an operator sees only the cases assigned to them, and every opening is logged. Deletion according to the regulation is part of the configuration, not a separate customization.

How many false rejections will there be, and what to do with rare forms?

We configure the confidence threshold for your flow: in some cases it is cheaper to send a case to an operator than to reject a live client. On your document sample, we calculate the error share before launch.

Rare series and regional variants of forms are added to the verification set, and rules are updated as separate modules — without rebuilding the entire system.

Let's discuss the task: we'll analyze the flow and come back with a plan

For the estimate to rely on facts rather than guesses, we need a minimum set of inputs to start. We analyze the flow, identify document classes and rejection scenarios, then come back with a stage plan and scope boundaries. What is useful to discuss and send:

  • document types in the flow — passport, ID card, driver's license, service IDs: 10–20 anonymized samples for each type;
  • "heavy" frames — glare, tilt, lamination, phone photography in low light, scans and copies;
  • list of fields for extraction and matching, marking mandatory and auxiliary ones;
  • decision rules for uncertain recognition — manual operator review, repeat capture, or rejection;
  • privacy requirements: where images and extracted data are stored, retention period, who has access;
  • expected volumes — number of checks per day and behavior during peak hours;
  • integration points: CRM, mobile app, internal panel, in what form the result is returned.

Based on the analysis, you receive a stage plan with acceptance criteria for each, an estimate of the scope of work, the composition of data for labeling and checks, and a step-by-step next action — from sample preparation to pilot operation on part of the flow. Describe the task and send available samples: we will come back with an estimate and a stage plan.

AI Development Areas

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1393
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1368
  • B2B Advance company logo design
    B2B Advance company logo design
    815
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1139
  • AIDER company logo development
    AIDER company logo development
    1057
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1152