Beginner May 11, 2026 · 1 min read

Overview

The ID verification flow now includes a fourth step: scanning the PDF417 barcode on the back of the student's driver's license or state ID. This extracts machine-readable identity data (name, date of birth, expiry date, license number, state) from the AAMVA-standard barcode and saves it alongside the verification log for staff review.

Flow

  1. Step 1 — ID Front Photo: Back camera captures the front of the ID.
  2. Step 2 — Selfie: Front camera captures a face photo for comparison.
  3. Step 3 — Barcode Scan (new): If the ID was authenticated (id_authentic=true), the back camera activates and ZXing scans continuously for a PDF417 barcode. Student can tap Skip — the step is non-blocking.
  4. Step 4 — Outcome: Pass/review result shown; barcode data saved silently.

AAMVA Field Mapping

FieldAAMVA Code(s)Stored In
Full NameDCS + DCT/DAC + DAD, or DAAbarcode_name
Date of BirthDBB (MMDDYYYY)barcode_dob
Expiry DateDBA (MMDDYYYY)barcode_expiry
License NumberDAQ or DCFbarcode_license
Issuing StateDAJbarcode_state
Full raw payloadbarcode_raw (audit)

Technical Reference

  • ZXing library: @zxing/library@0.20.0 loaded from jsDelivr CDN in web page HTML
  • Scanner: ZXing.BrowserMultiFormatReader with PDF_417 hint + TRY_HARDER
  • API: idcheck_api.save_barcode_data(verification_log, barcode_raw, ...) — requires matching user or staff role
  • DocType: ID Verification Log — new fields: sb_barcode, barcode_name/dob/expiry/license/state/raw
  • Shipped in v0.5.0, commit c8309cc
Was this article helpful?