Getting Started with Intellicheck Mobile SDK
Use the Intellicheck SDK to integrate our ID validation into your mobile app for Android or iOS. The mobile SDK makes it easy to develop the necessary pages for each step, for example:
- Take a photo of the front to perform OCR validation.
- Read the barcode on the back to check if it's valid.
Selfie support is not available in the mobile SDK.
Document types and risk tolerances
The mobile SDK supports multiple forms of ID, which we refer to as document types:
- North American driver's license and other DMV-issued IDs with a 2D (PDF417 format) barcode
- Passport booklet with machine-readable zone (MRZ) data and possibly an RFID chip
- Passport card or other document type
Consider the amount of risk associated with each document type.
| Document Type | Risk | Considerations |
|---|---|---|
| North American driver's license or state-issued ID | Low | A barcode provides highly accurate results based on our proprietary identification checks that can detect fraudulent IDs. |
| Passport booklet | Moderate | A passport booklet with MRZ only is less secure than one with an RFID chip, which is tamper resistant and encrypted. We can read the chip to compare its data to the passport text and photograph. |
| Passport card or other document type | High | Documents that do not include a barcode or an RFID chip can only be verified with OCR on the visual inspection zone (VIZ) and compared to data from the MRZ. |
How we check an ID
When you submit a document to us for verification, you must request one or more checks:
- Barcode verification
- OCR inspection
- OCR match
- NFC authentication
Barcode verification
Barcode verification parses the barcode data and provides security checks:
- Is the barcode format currently in circulation?
- Is the barcode encoded correctly?
- Does the barcode contain the correct hidden security features?
Intellicheck knows the hidden security features of every North American driver 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 provides an analysis of the document text. On a driver's license, OCR text is taken from the front of the ID. For passports and ID cards, OCR text is taken from the visual inspection zone (VIZ). The VIZ is a section where personal information is displayed in a way that can be easily read by humans.
OCR inspection extracts the text and checks if the identity document is a recognized format.
OCR match with visual indicators
OCR match compares the OCR text with encoded text from the barcode or MRZ, which contains data formatted for optical character recognition by machines. North American DMV-issued documents are also analyzed for visual indicators:
- Issuer logotype of the state, province, or jurisdiction
- Real-ID star icon (or similar)
- Organ donor heart icon (or similar)
NFC authentication
Passports that contain a radio frequency identification (RFID) chip support NFC (near-field communication) technology. The RFID chip stores personal information and biometric data, which can be read by NFC-enabled devices.
- Passive NFC authentication verifies that the chip can be successfully read.
- Active NFC authentication reads the chip and verifies its certificate.
- Chip data is verified against MRZ data.
- A photograph in the chip data is verified against the printed photo on ID.
- A hologram on the ID can be verified if the NFC reader supports flash.
Integrate with your flow
You must decide where to put our ID capture process into your app flow.
- The process begins with a start page instructing the user to verify an ID.
- The allow access page requests permission to the device camera.
The capture process includes one or more of the following pages, depending on the document type and checks performed:
- Front photo page
- Scan barcode page
- Back photo page
- Acquire NFC page
The following table shows each page, and which step it is in the process for the document type and checks performed.
| Document Type and Checks | Front Photo | Scan Barcode | Back Photo | Acquire NFC |
|---|---|---|---|---|
| North American Driver's License and other DMV-issued IDs with barcode scan only | ✅ | |||
| North American Driver's License and other DMV-issued IDs with barcode scan and OCR match | ✅ | ✅ | ||
| Passport booklet or passport card with OCR match | ✅ | |||
| Passport booklet or passport card with OCR match and NFC | ✅ | ✅ |
Example start page
Here is an example start page from the Mobile SDK sample application.
Customize your design
You can start with a sample page from the mobile SDK, and then customize design elements such as the following:
- Primary color
- Background color
- Font style
- Font color
- Button description
- Button dimension
- Logo
Authenticate through your own server
Your mobile app user must first log in before verifying IDs. We make it simple. But the log-in request must go to your server. Our SDK talks to your server. Then your server applies the signature header required for requests. Direct sends a response back to your server.
Our SDK talks to your server. Your server talks to Direct.
Here is a high-level overview of the process.
Your customer associate must log in to your app. This provides security against unauthorized access. Do not make your app publicly available, unless you want to get charged for everyone who downloads it and runs transactions! 🤣
Understand your results
After checks are performed, results are returned as a JSON response. There are three common response objects:
- The barcode response object named
idcheck. - The OCR response object named
OCR. - The OCR match response object named
ocr_match.
Each response object contains numerous details about the identity check.
Here are decisioning fields to consider for each check:
- In the
idcheckresponse, look for theprocessResultfield to see if the barcode passed. A value ofDocumentProcessOKmeans it passed, while a value ofDocumentUnknownmeans it failed. - In the
OCRresponse, look for thedocumentRecognizedfield to see if the front-side was recognized. A value of1means it was recognized, while a value of0means it was not recognized. - In the
ocr_matchresponse, look for thesuccessfield to see if the OCR text matched the barcode or MRZ. Atrueresult means the text matched. Afalsevalue means the text did not match.
ApprovalIntellicheck provides results only. Always make your own determination regarding applicant approval.
Test your app
When you're ready to test, your code is initially deployed to our sandbox environment. After sandbox, a staging environment is available for further testing. Staging mimics a full-production environment. In staging, we limit the number of ID verifications an individual user can perform in a given time frame. Finally, we must review your app before activating your integration in production. See Security Best Practices.
Updated about 3 hours ago
