Getting Started with Intellicheck Mobile SDK

Use the Intellicheck mobile SDK to integrate our ID validation into your mobile app for Android or iOS. The mobile SDK provides the necessary components for each verification step, for example:

  • Take a photo of the front to perform OCR validation.
  • Read the PDF417 barcode on the back to check if it's valid.
🚧

Selfie support is not available in the mobile SDK.

Platform requirements

The mobile SDK supports:

  • Android: Android 8.0 (API level 26) or higher
  • iOS: iOS 13.0 or higher

Device requirements:

  • Camera for document capture
  • NFC capability for passport RFID chip reading (optional, device-dependent)

Document types and risk considerations

The mobile SDK supports multiple identity document types:

  • North American driver's license — DMV-issued IDs with a 2D (PDF417 format) barcode
  • Passport booklet — Contains machine-readable zone (MRZ) data and RFID chip
  • Passport card — US-issued travel document with front and back

Consider the risk level associated with each document type when determining your verification workflow.

Document TypeRiskConsiderations
North American driver's license or state-issued IDLowA PDF417 barcode provides highly accurate results based on our proprietary identification checks that can detect fraudulent IDs.
PassportLow/ModerateThe RFID chip is tamper-resistant and encrypted. We read the chip to compare its data against the passport text and photograph. Fallback to MRZ-only verification is available if RFID fails.
Passport cardModeratePassport cards do not include a barcode or RFID chip. Verification relies on OCR from the visual inspection zone (VIZ) compared to MRZ data from the back.

How we verify an ID

When you submit a document to us for verification, you can request one or more of the following checks:

  • Barcode verification — Validates PDF417 barcode data
  • OCR inspection — Extracts and analyzes text from the document
  • OCR match — Compares OCR text with barcode or MRZ data
  • NFC authentication — Reads and validates RFID chip data (passports only)

Barcode verification

Barcode verification parses the PDF417 barcode data and performs security checks:

  • Is the barcode format currently in circulation?
  • Is the barcode encoded correctly?
  • Does the barcode contain the correct hidden security features?
👍

Our expertise: Intellicheck knows the hidden security features of every North American driver's license, state-issued ID, and military ID due to our long-standing relationships with the issuing jurisdictions and the ID manufacturers they use. With more than two decades of experience analyzing all North American department of motor vehicle (DMV) barcodes, we created a proprietary database of every unique format currently in circulation.

OCR inspection

OCR inspection analyzes text on the document:

  • Driver's license: Text is extracted from the front of the ID.
  • Passports and ID cards: Text is extracted from the visual inspection zone (VIZ), where personal information is displayed in human-readable format.

OCR inspection extracts the text and verifies that the document follows a recognized format.

OCR match with visual indicators

OCR match compares the OCR-extracted text with encoded data from the barcode or MRZ. For North American DMV-issued documents, we also analyze for visual indicators:

  • State, province, or jurisdiction issuer logotype
  • REAL ID compliant star icon
  • Organ donor heart icon

Discrepancies between OCR text and encoded data may indicate tampering or forgery.

NFC authentication

Passports booklets contain an RFID chip that stores encrypted personal information and biometric data. NFC-enabled devices can read this chip to perform additional verification:

  • Passive authentication: Verifies that the chip can be successfully read.
  • Active authentication: Reads the chip and verifies its digital certificate.
  • Data verification: Compares chip data against MRZ data.
  • Photo verification: Compares the photograph stored on the chip with the printed photo on ID.
  • Hologram verification: Validates security holograms using the device's flash (when supported).

Integrate with your workflow

Determine where to integr8te the ID capture process into your app. A typical integration includes:

  1. Start page — Instructs the user to begin ID verification.
  2. Camera permission page — Requests access to the device camera.

Document capture pages

The specific pages required depend on the document type and verification checks.


Document TypeChecks PerformedFront PhotoScan BarcodeBack PhotoNFC Chip
North American driver's licenseBarcode only
North American driver's licenseBarcode + OCR match
Passport bookletOCR inspection
Passport bookletOCR match + NFC
Passport cardOCR match

Example: Document Verification page

The mobile SDK includes a sample application that demonstrates the verification workflow. The start page allows users to select their document type.

Customize the UI

The mobile SDK provides customizable design elements:

  • Colors: Primary color, background color, button colors
  • Typography: Font family, font color, font size
  • Components: Button labels, button dimensions, corner radius
  • Branding: Organization logo

Refer to Integrating Mobile SDK for iOS and Integrating Mobile SDK for Android for detailed customization options.

Authentication architecture

Your mobile app must authenticate users before performing ID verification. The mobile SDK uses a secure authentication flow:

  1. Log in — Your app user authenticates through your authentication system. Your app initializes the mobile SDK with credentials.
  2. Verification — Your server communicates with the Direct API using secure, signed requests.
  3. Results — Verification results are returned to your app.
👍

Security model: The mobile SDK handles API authentication automatically using your provided credentials. Your server credentials should be stored securely and never hardcoded in your mobile app.

Architecture diagram


⚠️

Important: Implement proper user authentication in your app to prevent unauthorized access. Do not distribute your API credentials publicly or embed them directly in your mobile application code.

Understand verification results

After verification checks are performed, results are returned as a JSON response. The response contains one or more of these objects depending on the checks performed:

  • idcheck — Barcode verification results
  • OCR — OCR inspection results
  • ocr_match — OCR comparison results

Key decision fields

Use these fields to determine verification success:

Check TypeResponse ObjectDecision FieldPass ValueFail Value
BarcodeidcheckprocessResultDocumentProcessOKDocumentUnknown
OCR InspectionOCRdocumentRecognized10
OCR Matchocr_matchsuccesstruefalse

Example decision logic

{
  "idcheck": {
    "processResult": "DocumentProcessOK"  // ✅ Barcode passed
  },
  "OCR": {
    "documentRecognized": 1  // ✅ Document recognized
  },
  "ocr_match": {
    "success": true  // ✅ OCR matched barcode data
  }
}
📘

Approval decisions: Intellicheck provides verification results only. Your application should make the final determination regarding user approval based on your business requirements and risk tolerance.

Test your integration

Follow this testing progression to ensure your integration works correctly.

1. Development

  • Use the mobile SDK sample application to understand the integration pattern.
  • Implement the verification flow in your app.
  • Test with sample IDs.

2. Sandbox environment

  • Deploy your initial integration to our sandbox environment.
  • Test all document types and verification workflows.
  • Validate error handling and edge cases.

3. Staging environment

  • Test in our staging environment, which mirrors production.
  • Perform user acceptance testing (UAT).
  • 📘

    Note: Staging limits the number of verifications per user to prevent abuse.

4. Production review

  • Complete our security review checklist.
  • Provide a demo of your integration.
  • Address any security or implementation concerns.

See Security Best Practices for detailed requirements before deploying to production.

Next steps