Introducing VIDA Identity Stack: All of VIDA, in one place 🎉
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Document Capture

Document Auto Capture

This module guides the user in taking a high-quality picture of their identity document. The SDK uses on-screen guides ad real-time checks to make sure the document is well-framed, sharp, and free from glare or blur. Once everything looks good, the SDK automatically takes the photo without requiring the user to press a button. This reduces mistakes and helps ensure the document image is clear enough for verification and OCR.

  • Smart frame guidance and auto-shutter for optimal document positioning.

  • Edge detection and document object check

Document Verification

After capturing the document, the SDK runs several checks to confirm the image is both usable and authentic. It analyzes quality factors like sharpness and lighting, recognizes the type of document (passport, ID card, driver’s license), and checks for signs of forgery or tampering. It also looks for key features such as holograms and ensures that information on the front and back sides of the document match. If something fails, the SDK shows helpful hints so the user can retake the photo.

  • Image Quality Analysis (IQA): Ensures sharpness, brightness, and resolution meet verification standards.

  • Classifier: Detects and categorizes document types (ID card, passport, driver’s license).

  • Spoof/Forgery Detection: Identifies printed copies, screenshots, tampered, or synthetic documents.

  • Landmarks: Validates presence and placement of key security features (holograms, logos).

  • Cross-Side Checks: Compares front vs back consistency (e.g., ID number in frontside vs ID number in the backside).

Optical Character Recognition (OCR)

Once the document is verified, the SDK extracts text from it, such as the user’s name, date of birth, and ID number. Each field comes with a confidence score to indicate how reliable the reading is. Developers can choose which fields the user can review and edit. If a user changes any value, the SDK flags it so the backend system knows what was modified. This step ensures both automation and accuracy while giving the user a chance to correct mistakes.

  • Extracts text data from documents.

  • Provides per-field confidence scores for quality assurance.

  • Includes editability flags (editable vs locked fields) for improved operator control.

User Journey

1. Document Selection

The user begins by selecting the type of identity document they want to verify. The SDK supports country-specific options:

  • Indonesia: National ID (KTP), Passport

  • Malaysia: Malaysian Cards (MyKad, MyPR, MyKAS, MyTentera), Passport

This ensures the capture flow is tailored to the selected document type, enabling the SDK to apply the right capture rules, OCR extraction templates, and authenticity checks.

2. User Content

Before proceeding, the user must actively provide consent. A checkbox is presented for the user to confirm they agree to continue with the identity verification process. This step is critical for compliance and ensures explicit user acknowledgment.

3. Terms of Use

The user is shown the Terms of Use of the service. They must read and agree before proceeding. This provides transparency and legal assurance, ensuring users understand their responsibilities and the service conditions.

4. Privacy Policy

The user is shown the Privacy Policy, which explains how their personal data will be captured, processed, and stored. Displaying the privacy policy helps build trust and ensures compliance with data protection regulations.

5. Document Capture Guideline

Before capture begins, the SDK displays document capture guidelines to help users achieve the best image quality. These guidelines explain how to position the document, avoid glare, and keep the frame steady.

  • Customizable: Developers can configure the text prompts and replace the illustration or image shown in the guideline screen to match branding or UX preferences.

  • Purpose: Minimizes capture errors, improves OCR accuracy, and reduces retries.

6. Camera Access Permission

The SDK requests permission to access the device camera. The user must grant access to continue. Without this, the SDK cannot proceed with auto-capture. This step follows OS-level permissions for Android and iOS, ensuring user control over device resources.

7. Document Capture (Auto-Capture)

The user positions their document within the camera frame. The SDK uses auto-capture technology:

  • Automatically detects the document edges.

  • Provides real-time feedback (e.g., glare, blur, alignment issues).

  • Captures the image automatically once the document meets quality thresholds.

Users are not required to press a capture button; they only need to hold the document steady. This ensures faster onboarding, fewer retries, and consistent image quality for OCR and verification.

8. Document Capture (Manual Capture)

If the SDK detects that auto-capture is taking too long (for example, the document is not being recognized due to glare, low light, motion, or background noise), it will show a prompt after ~20 seconds offering the user an alternative (configurable). This is designed to reduce drop-offs by giving users a clear way to proceed when auto-capture conditions are difficult.


Supported Documents

Our OCR solution extends support for various documents across different countries.

Supported Country
Card Type
Sides

Indonesia

  • KTP (Kartu Tanda Penduduk)

  • Passport

  • Driving License

  • Frontside

Malaysia

  • MyKAD

  • MyKAS

  • MyTentera

  • MyPR

  • Passport

  • Frontside

  • Backside

Last updated