Selfie Biometric Capture

šŸ“ø Selfie Capture – Overview in REL-ID Identity Verification (IDV)


🧭 Purpose

The selfie capture step in REL-ID’s IDV flow ensures that the person submitting the document is the actual document holder. It enables biometric face matching and liveness detection, fulfilling compliance and security needs for:

  • KYC (Know Your Customer)
  • AML (Anti-Money Laundering)
  • Account activation or re-verification

🧠 Key Features

  • Liveness Detection: Confirms user is physically present
  • Face Match Scoring: Matches selfie with document photo
  • Front/Back Camera Toggle: Configurable through API
  • Anti-Spoofing: Detects masks, photos, or replays
  • Secure Flow: Fully handled inside SDK for tamper-resistance

šŸ‘Øā€šŸ’» Developer Responsibilities

  • Listen to getIDVSelfieProcessStartConfirmation
  • Show a UI with:
    • Instructional text: ā€œEnsure good lighting and a clear face viewā€
    • A ā€œStartā€ button
  • Call setIDVSelfieProcessStartConfirmation upon user action
  • Handle post-capture events or errors

šŸ”„ Workflow (Step-by-Step)

  1. āœ… User completes document verification
  2. šŸ”” SDK triggers getIDVSelfieProcessStartConfirmation
  3. šŸ–¼ļø App shows a screen with instructions to prepare for selfie capture
  4. šŸ‘¤ User taps "Start"
  5. šŸ“¤ App calls setIDVSelfieProcessStartConfirmation(true, useBackCamera, workflow)
  6. šŸ“· SDK launches selfie camera and captures the selfie
  7. 🧾 SDK triggers getIDVSelfieConfirmation
  8. šŸ–¼ļø App displays the captured selfie to the user
  9. šŸ‘† User taps:
    • āœ… "Confirm" āž App calls setIDVSelfieConfirmation(true, workflow, challengeMode)
    • šŸ” "Retake" āž App calls setIDVSelfieConfirmation(false, workflow, challengeMode)
  10. šŸ”„ If confirmed: SDK proceeds to the next step in the IDV workflow
  11. šŸ” If rejected: SDK re-launches selfie capture and returns to step 6
flowchart TD
    
   Start([Start]) -->|āœ… User completes document verification| B[šŸ”” SDK triggers getIDVSelfieProcessStartConfirmation]
    B --> C[šŸ–¼ļø App shows selfie prep screen]
    C -->|šŸ‘¤ User taps Start| E[šŸ“¤ App calls setIDVSelfieProcessStartConfirmation]
    E --> F[šŸ“· SDK launches selfie camera and captures selfie]
    F --> G[🧾 SDK triggers getIDVSelfieConfirmation]
    G --> H[šŸ–¼ļø App displays captured selfie to user with match result]
    H -->|šŸ‘† User choice| J[šŸ“¤ App calls setIDVSelfieConfirmation]
    J -->|Continue| L[šŸ”„ SDK proceeds to next step in IDV workflow]
    J -->|Rescan Document| M[SDK calls getIDVDocumentScanProcessStartConfirmation]
    J -->|Rescan Selfie| E
    
    style B fill:#d4fdd4,stroke:#228b22,stroke-width:2px
    style G fill:#d4fdd4,stroke:#228b22,stroke-width:2px
    style M fill:#d4fdd4,stroke:#228b22,stroke-width:2px
    style E fill:#ffe4b3,stroke:#ff8c00,stroke-width:2px
    style J fill:#ffe4b3,stroke:#ff8c00,stroke-width:2px

🟩 Green - Callbacks issued by REL-ID SDK
🟧 Orange - APIs invoked by the Client App