Skip to content
Constaia

Is this a validdriver's license?

Constaia answers valid, invalid or review, with the reasons and the extracted data. Zero retention by default.

POST /v1/analyzeexpect="us_driver_license"
Fictitious SPECIMEN driver license analyzed by Constaia: fields located and a valid verdict.
Valid
  • It's a US driver license
  • PDF417 barcode matches the front
  • Holder is 21 or older
  • Valid until 2030
Fictitious SPECIMEN driver license analyzed by Constaia: fields located and a valid verdict.

Try it with a document

Pick a fictitious sample or upload your own document and see the verdict in seconds. The full demo also shows the JSON and the code.

Sample documents

US driver's license (specimen)

We do not keep the document: it is deleted as soon as the analysis ends (storage "none").

Preview of US driver's license (specimen)

Click “Analyze document” to see the verdict, the reasons and the extracted data.

See the full demo

Three possible answers. Always with reasons.

Your code does not interpret text: it gets a stable status and the list of reasons in your language.

  1. Valid

    The document is what you expected

    Right type and every rule met: not expired, in the right person's name, old enough, recent enough.

    type_match · not_expired · min_age_years
  2. Invalid

    It will not do, and you know why

    A different document type or a critical rule that fails: expired, a different holder, a missing signature, paystub totals that don't add up.

    type_mismatch · require_signature · not_expired
  3. Review

    A person should look at it

    Low confidence, poor quality or doubtful signals, such as a photo of a screen. It reaches you via webhook for review.

    low_confidence · glare · screen_photo_suspected

What we check, without guessing

AI reads and classifies. Then deterministic rules verify everything that can be computed: barcodes, check digits, dates and totals.

PDF417 barcode (AAMVA)

We decode the PDF417 barcode on the back of US driver licenses and state IDs and compare every field with the printed front.

DAQS1234567
DCSSPECIMEN
DACJORDAN
DBB07041988
DBA07042030
DAJXX

ABA routing numbers

The official 3-7-1 checksum on direct deposit forms, voided checks and bank letters.

123456780: 3·7·1 checksum mod 10 = 0

Age checks

21+ or any minimum age from the date of birth, on your reference date.

birth_date 1988-07-04 → 38 ≥ 21

Expiry and recency

Not expired today or on your reference date, and issued within the last N days.

expiry_date 2030-07-04 > 2026-09-29

SSN and EIN format

Structure rules for SSNs, ITINs and EINs. A format check, not an IRS TIN match.

EIN 12-3456789: valid prefix and length

Paystub math

Gross pay, deductions, net pay and year-to-date amounts must add up. If not, the verdict is invalid.

gross 4,200.00 − 1,012.40 = net 3,187.60

Verify without keeping a copy

Every copy of an ID you keep is a copy you have to protect. With Constaia you check the document and, by default, the file is deleted as soon as the analysis ends.

Zero retention by default
With storage "none" the file is deleted as soon as the analysis ends. With keep_results false we don't keep the extracted fields either.
Encrypted end to end
Files travel over TLS and, if you choose to keep them, are stored encrypted with AES-256-GCM per account. By default nothing is stored at all.
Minimum data, no biometrics
We extract only the fields your rule needs. No face matching, no selfies, no biometric identifiers.
Service provider terms
Our DPA includes CCPA/CPRA service provider terms and the list of subprocessors. We process documents only to deliver the service you asked for.
  1. 10:00:00.000Document received and encrypted
  2. 10:00:02.084Verdict and fields returned
  3. 10:00:02.091File deleted
  4. "storage": { "mode": "none", "file_deleted_at": "2026-09-29T10:00:02Z" }

What we don't do: Constaia is not biometric KYC and does not prove that a document is authentic. A matching barcode or valid check digits don't prove it either. We are not a consumer reporting agency and do not provide consumer reports under the FCRA. Driver license data is covered by the DPPA and state law: use it only for a permitted purpose. Warnings are signals for you to decide on.

Read the DPA

Ship it in an afternoon

A REST API with JavaScript and PHP SDKs, deterministic test keys and examples for your framework.

5-minute quickstart
curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@us_driver_license_specimen.png" \
  -F 'options={
    "expect": "us_driver_license",
    "checks": {
      "not_expired": true,
      "min_age_years": 21
    },
    "storage": "none"
  }'

Built for teams that collect documents every day

Onboarding and Form I-9 prep, age checks, rentals, gig platforms, insurance, clinics and events: anywhere a document decides whether someone can go ahead.

See all

Frequently asked questions

Does Constaia verify that a driver license is authentic?

No. We check that the document is the type you expect, that its data is consistent (the PDF417 barcode matches the front, dates make sense) and that it meets your rules. That doesn't prove authenticity: fake IDs with consistent data exist. We flag signals such as a possible screen photo or a possible edit. If you need identity verification with selfies and liveness, use a biometric KYC provider.

Do you store documents?

Not by default. With storage "none" the file is deleted as soon as the analysis ends. You can choose "temporary" (deleted after the hours you set) or "persistent" (kept until you delete it via the API). With keep_results false we don't keep the extracted fields either.

How do you protect the data?

Files travel over TLS and are encrypted at rest with AES-256-GCM per account. By default (storage "none") the file is deleted as soon as the analysis ends, and with keep_results false the extracted fields are not kept either. We don't collect selfies or biometric data. If you have specific data residency requirements, talk to us.

How much does it cost?

One credit per document of up to 2 pages (a driver license, front and back, is 1 credit). You get 150 free credits a month, then prepaid packs from $0.0274 per credit, valid for 12 months. classify costs 0.2 credits. We don't charge for failures on our side or for documents rejected for quality before OCR.

Can I test without spending credits?

Yes. ck_test_ keys use a simulated provider with deterministic responses based on the file name, free of charge. This page also has a live demo with 5 real analyses a day.

What does a review verdict mean?

Confidence is below the threshold or there are doubtful signals, such as glare or a photo of a screen. A person should take a look. You can receive these cases via webhook (analysis.review_required).

Can I use it for Form I-9?

Constaia can help you check the documents new hires present: document type, expiry and name match. It does not replace the employer's Form I-9 obligations, the physical or remote document examination the rules require, or E-Verify.

What about the DPPA and CCPA?

Driver license data is protected by the federal Driver's Privacy Protection Act and state laws, so use it only for a permitted purpose. We act as your service provider: our DPA includes CCPA/CPRA service provider terms, and by default we keep neither the file nor the fields. This is not legal advice.

Who is behind Constaia?

Add On Dev Solutions S.L., a software company based in Spain that builds registration and licensing software for sport. Constaia grew out of validating those documents every day.

And for the record…

Create your account, copy the test key and validate your first document in five minutes.