Specimen · AU.DL / AU.PASSPORT on-device · Australian-owned · SDK

The engine that reads Australian identity.

SQAN scans driver licences & passports from a live camera — entirely on the device.
▸ images_uploaded: 0   ▸ per_field: confidence + provenance   ▸ pricing: flat, never per scan

birth_date 1990-04-12 0.99 ✓ licence_no 1234 5678 0.97 ✓ document au.dl.nsw locked
CAMERA<TO<RESULT<<~2S<<<STATES<<8+1<<<UPLOADED<<0<BYTES<<<OWNED<AND<BUILT<IN<AUSTRALIA<<<<<<<<<<<<<<

FIELD 01LIVE READinteractive

Watch a payout clear in 84 seconds.

A gaming-venue payout with identity verified by SQAN — the flow our anchor deployment runs. Tap through it on the phone.

PayoutsTHE GRAND HOTEL · FLOOR 1
New payout · Machine 14
$2,400.00
Ticket #88231-D · 23:41
Threshold exceeded — identity check required
AML/CTF: verify patron identity before payment

Staff device · logged in as M. Torres (gaming supervisor)

SQAN · ON-DEVICE
NEW SOUTH WALES · AUSTRALIA
DRIVER LICENCE
NameCITIZEN, ALEX J0.98 ✓
Date of birth1990-04-120.99 ✓
Licence no1234 56780.97 ✓
Card no10 482 937 550.96 ✓
✓ SQANNED · 1.8s
Hold the licence inside the frame
detecting document…
Identity capturedSQAN · 1.8s
NameAlex J Citizenvisual0.98 ✓
Date of birth12 Apr 1990visual0.99 ✓
Licence no1234 5678visual0.97 ✓
Card no10 482 937 55visual0.96 ✓
Expiry2 Nov 2029visual0.99 ✓
Documentau.dl.nswtemplatelocked ✓
Face matchLicence portrait vs. live camera
0.91 ✓
🔒 0 images uploaded — fields extracted on this device
VerificationSERVER-SIDE
DVS document checkLicence verified against government records
running…
PEP & sanctions screenName + DOB against watchlists
queued

These checks consume the fields SQAN extracted — no image was needed, none was sent.

PayoutTICKET #88231-D

Payout approved

$2,400.00 · ALEX J CITIZEN · 23:43

Audit record
identity: 6 fields ✓ evidence attached
dvs: verified · pep: no match · face: 0.91
images stored: none · time to verify: 84 seconds

Two minutes ago this was a queue and a clipboard. The patron barely stopped walking.

Request early access

STEP 1 OF 5

A payout walks in.

TAP THE PHONE TO ADVANCE

Simulated walkthrough — production engine in development.

FIELD 02WHY SQAN0.98 ✓

Local scope. Local ownership. That changes everything.

Global engines read hundreds of document types and price accordingly. If your users hold Australian documents, you're paying for a world you never scan.

01sovereign

Australian-owned, on-device

Built and supported in Australia. Recognition runs entirely on the phone — no image is ever uploaded to be read. A cleaner privacy, procurement, and data-sovereignty story for regulated businesses.

02proven

Every field shows its work

Results carry per-field confidence and provenance — a checksum-verified passport read is marked proven; a visually-read field carries its agreement score. Compliance sees evidence, not a black box.

03flat

Priced per deployment, never per scan

One predictable monthly licence per product deployment. Busy nights don't cost extra. Template updates included — when a state redesigns its licence, the update ships as data.

04drop-in

Migrate without a rewrite

A compatibility adapter replicates your current engine's output format, so your app, parsers, and backend keep working unchanged. Switch engines, not codebases.

FIELD 03PROCESS0.99 ✓

Camera in. Canonical JSON out.

One SDK, one versioned result contract, a conformance kit to prove your integration. iOS first; Android on the roadmap.

READ 01

Drop in the SDK

Native iOS package with an optional capture UI — guidance overlay, torch, timeout handling — or bring your own camera flow.

// Swift
let session = Sqan.session(
  policy: .fields([.name,
    .birthDate, .licenceNumber])
)
READ 02

Point it at the document

Multi-frame reading locks each field as agreement builds — steady on worn cards and bad light, in about two seconds.

field.locked  "birthDate"
field.locked  "name"
field.locked  "licenceNumber"
session.complete  1.8s
READ 03

Get proof, not pixels

A clean, versioned result — normalised values, confidence, provenance. Nothing to OCR server-side, nothing stored you didn't ask for.

{ "type": "au.dl.nsw",
  "fields": [{
    "name": "birthDate",
    "value": "1990-04-12",
    "confidence": 0.99,
    "validated": ["format"] }] }

FIELD 04DEPLOYMENTS0.97 ✓

Anywhere Australia checks an ID.

Which fields you need and how strictly is your policy, not our code — the same engine serves a 100-point KYC flow and a two-second age check.

SEG 01Venues & gaming

A four-figure payout triggers a KYC check on the gaming floor. One pass over the licence reads everything the DVS check needs — while the patron waits.

readsnamebirth_datelicence_nocard_no
SEG 02Retail age check

A bottle-shop POS needs exactly one fact: over 18. The policy asks for a birth date alone — nothing else is read, nothing is stored.

readsbirth_date
SEG 03Hospitality

Check-in at the 3pm rush: guest identity captured at the desk in seconds, portrait matched against the booking, queue kept moving.

readsnamedocument_noportrait
SEG 04Rental & hire

Before the keys leave the counter: licence class and expiry confirmed, face matched to the person standing in front of you.

readslicence_classexpiryface_match
SEG 05Workforce

Right-to-work onboarding from a passport — the MRZ is read with its check digits verified, so the result is provably correct, not probably.

readsmrzpassport_nochecksum
SEG 06Platforms & IDV

KYC platforms, venue systems, and POS vendors embed SQAN as their capture layer — your product, your brand, our engine underneath.

readswhatever your policy asks →

FIELD 05REGISTERopen

Founding integrations, locked pricing.

SQAN is in development with a production KYC deployment as its anchor. We're opening a small number of founding integrations — early access, roadmap influence, and pricing locked at founding rates.

Paying a global vendor today? Tell us — migration assessments are first in the queue.

No spam, no list-selling.
You'll hear from a founder, not a funnel.

We reply within two business days.