PDF417 forensics · face match · OFAC — in one flow

Identity verification that reads the barcode, not just the card.

Capture a driver's license front and back, decode the PDF417 live, match a selfie with liveness against the document portrait, screen against OFAC with DOB corroboration, and check a 2.6M-face duplicate network — all behind a five-line SDK.

50 states
AAMVA v01–v12
2.6M faces
Duplicate network
512-dim
Face embeddings

From session to decision in four steps

You create a session, your user completes a guided hosted flow, and you receive a signed, auditable decision. KYC verification and age verification run in the same flow — no capture SDKs to babysit, no biometrics touching your servers.

01

Create a session

POST /v1/verifications from your server with a secret key. Get back a client token and a hosted URL.

02

User verifies

The hosted flow walks them through consent, driver's license verification — front and back, with live PDF417 decode — then a selfie with liveness.

03

We run the checks

Barcode forensics, face match, liveness, OFAC with DOB corroboration, and duplicate-face search roll into a composite score.

04

You get a decision

approve, review, or decline — delivered by signed webhook and queryable via REST, with a full audit trail.

Six layers of verification, one API call

Every check below runs on every verification. No tiers of "real" security, no per-feature upsell on the core flow.

PDF417 barcode forensics

The AAMVA barcode is decoded live in the browser and decoded again independently server-side. Any mismatch between the two is a tamper signal.

AAMVA CDS v01–v12 · 50 states

License-number recomputation

Florida, Illinois, and Wisconsin derive license numbers from the holder's name and birthdate. We recompute them and compare — fabricated numbers don't survive.

FL · IL · WI Soundex-class checks

Face matching

The document portrait is matched against the live selfie with 512-dimensional embeddings, served from dedicated NVIDIA T4 GPUs with automatic failover.

512-d embeddings · dedicated T4s

Liveness detection

Three seconds of live frames are analyzed for presentation attacks — printouts, screen replays, and masks are rejected before face match ever runs.

Presentation-attack detection

OFAC sanctions screening

Every verification screens the SDN list, with date-of-birth corroboration upgrading or downgrading name matches. A strong match is a hard decline — and screening never fails open.

SDN + DOB corroboration

Duplicate-face network

Each enrolled face is searched 1:N against a 2.6M-face network, catching repeat fraudsters rotating identities across documents and merchants.

1:N · 2.6M faces

The fraud checks we run on every verification

Fake IDs fail on the data, not on a human's hunch. Each result below is stored on the verification and written into a hash-chained, tamper-evident audit log.

  • AAMVA parse

    Full CDS decode with version detection and mandatory-field enforcement.

  • Soundex recomputation

    License number recomputed from name and DOB for FL, IL, and WI.

  • Barcode ↔ OCR cross-check

    Encoded fields compared against the printed visual zone.

  • Expiry & age validation

    Document validity window and age thresholds enforced per session.

  • OFAC + DOB corroboration

    SDN name matches upgraded or downgraded by birthdate evidence.

  • Duplicate-face detection

    1:N search across the 2.6M-face network on every enrollment.

  • Liveness verification

    Presentation-attack detection on live selfie frames.

  • Tamper detection

    Client/server barcode mismatch flags plus hash-chain integrity.

Five lines to a verified user

The @idcheck/web SDK opens our hosted flow in a modal or redirect. Your servers never touch a biometric, and decisions arrive as signed webhooks.

  • Hosted flow — consent, capture, and liveness run on verify.idcheck.now, so capture-path integrity is ours to guarantee.
  • REST API — create sessions, poll decisions, and pull full check detail from any backend: a complete document verification API.
  • Signed webhooks — every decision is delivered with a signature you can verify, and every event is hash-chained for audit.
verify.html
<script src="https://cdn.idcheck.now/web/v1/idcheck.js"></script>
<script>
  const idcheck = new IDCheck("pk_live_9f2c…");
  const session = await idcheck.verifications.create({ user: "user_4821" });
  idcheck.open(session.client_token, {
    onComplete: ({ decision }) => provision(decision) // approve | review | decline
  });
</script>

Transparent, self-serve, per check

Start free. Pay per completed verification when you grow. Every core check — document, selfie, liveness, OFAC — is included at every tier.

Starter
$0/ forever

For side projects and first integrations.

  • 100 checks per month, free
  • Document + selfie + liveness + OFAC
  • REST API + signed webhooks
  • Sandbox with test sessions
  • Community support
Start for free
Enterprise
Custom

For platforms, regulated industries, and high volume.

  • Volume pricing — no minimums, no seat fees
  • Dedicated GPU capacity for face match
  • Custom data retention and audit-log export
  • Dedicated support engineer
  • Custom decision rules and review queues
Talk to sales
Add-ons NFC passport verification DMV check (AAMVA DLDV) SSN verification (eCBSV) Audio-risk AI Ongoing monitoring

Add-ons are priced per call and can be enabled on any paid tier from the dashboard.

Built for regulated onboarding

BIPA consent flows

Written release and recording consent — affirmative, versioned, and IP-logged before any biometric is captured.

GDPR

Data-subject rights support with configurable retention windows on biometric and document data.

Hash-chained audit trail

Every event on every verification links to the previous hash. Tampering breaks the chain — and the chain is verifiable.

SOC 2 Roadmap

Type II program in progress. Security controls and audit logging designed to map to the trust criteria.

FAQ

Questions, answered

What documents do you support?

US driver's licenses and state IDs from all 50 states, decoded against AAMVA CDS versions v01 through v12. NFC passport verification, DMV checks (AAMVA DLDV), and SSN verification (eCBSV) are available as add-ons.

How does the PDF417 barcode check work?

The AAMVA barcode is decoded live in the browser and decoded again independently server-side — any mismatch is a tamper signal. Encoded fields are cross-checked against the visual zone, per-state license-number formulas (FL/IL/WI recomputation), issuing-authority IIN records, expiry and date logic, and document-discriminator replay history.

What is liveness detection?

Three seconds of live selfie frames are analyzed for presentation attacks — printouts, screen replays, and masks are rejected before face matching ever runs. Texture, motion, and screen-recapture signals are scored together, and the capture path itself is checked for injection attempts.

How much does idcheck.now cost?

The Starter tier is free forever with 100 checks per month. Growth is $0.99 per completed verification with no minimums. Enterprise pricing is custom, with volume discounts and no platform fees.

Is my biometric data safe?

Yes. Biometric capture runs on our hosted flow, so biometrics never touch your servers. BIPA-compliant written consent is collected before any capture, media is stored privately with short-lived signed URLs, and every verification produces a hash-chained, tamper-evident audit trail.

Your first 100 verifications are free.

Five lines of JavaScript. No credit card. A decision you can defend.