Overview
The primary objective of this initiative is to digitize and streamline the customer onboarding process for Bank Nizwa's Prism Digital Bank by deploying a secure, regulatory-compliant Video KYC (Know Your Customer) solution. The full app was handled by an Indian confidential company, while Codevative was allotted the admin portal part. Designed to replace traditional in-person verification, this system offers a fully remote, paperless, and efficient onboarding experience for tech-savvy customers and those in remote areas. The platform combines Ant Media WebRTC SDK for real-time video, Uqudo Face Match API for facial recognition, liveness detection to prevent fraud, and geo-location tracking to confirm the customer is in Oman, all within a seamless React-based web application with Socket.IO for signaling.
Challenge & Solution
Challenges
- Maintaining high-quality, low-latency video calls in varying network conditions
- Ensuring compliance with Oman's regulatory and privacy requirements
- Integrating multiple biometric and geolocation verification services
- Building a seamless and secure onboarding flow for both customers and agents
Solution
I built a React application with Ant Media WebRTC SDK for secure, real-time video calls, Uqudo Face Match API for identity verification and liveness detection, Socket.IO for session signaling, and Context API for state management. The solution includes geo-location verification, call recording, full audit trails, and an embedded agent KYC web module in the Digital Services Portal. Role-based access control and a dashboard for monitoring sessions and agent performance ensure compliance and operational visibility.
Secure, real-time video calls with Ant Media SDK.
Liveness detection and facial recognition integration.
Regulatory-compliant, geo-location verified onboarding.
Recording, screenshots, and session logging.
KYC Flow
The remote onboarding process follows three main steps: from video session to ID verification and biometric face match.
Step 1 Video KYC Session
The customer joins a secure, real-time video call with an agent using the Ant Media WebRTC SDK. The main interface displays the live video stream, session controls, and instructions in Arabic or English. Geo-location is verified to ensure the customer is in Oman, and the session is recorded for the full audit trail.
The agent guides the customer through the verification steps while the system captures screenshots and logs all actions. Socket.IO handles signaling and session state, while Context API manages the flow across the React application.
Step 2 Live ID Document Verification
The customer holds their Oman ID or Resident Card in front of the camera for live verification. The agent validates the document in real time, checking authenticity, expiration, and alignment with the customer's stated details.
Document data is captured securely and cross-referenced with the Uqudo verification pipeline. This step ensures regulatory compliance and prevents identity fraud before proceeding to biometric verification.
Step 3 Face Match & Liveness Detection
Using the Uqudo Face Match API, the system performs facial recognition to verify that the customer matches the photo on their ID. Liveness detection runs in parallel to prevent spoofing, ensuring a real person is present, not a photo or video replay.
Once the face match and liveness checks pass, the KYC session is marked as complete. Results, recordings, and audit data are stored for compliance and can be reviewed via the agent dashboard.
Key Features
- Secure, real-time video call capabilities with Ant Media WebRTC SDK
- Live identity verification of Oman ID or Resident Card
- Liveness detection to prevent spoofing and identity fraud
- Facial recognition integration with Uqudo Face Match API
- Geo-location tracking to confirm customer is in Oman
- Multilingual support in Arabic and English
- Call recording, screenshots, and full audit trail logging
- Embedded agent KYC web module in the Digital Services Portal
- Dashboard and analytics for monitoring sessions and agent performance
- Role-based access control for secure permission management
My Role
- Developed the React-based Video KYC web application for Bank Nizwa Prism.
- Integrated Ant Media WebRTC SDK for secure, real-time video calls.
- Implemented Uqudo Face Match API for identity verification and liveness detection.
- Configured Socket.IO for session signaling and real-time communication.
- Built geo-location verification to confirm customer presence in Oman.
- Implemented call recording, screenshots, and audit trail logging.
- Developed the embedded agent KYC web module for the Digital Services Portal.
- Built dashboard and analytics for session monitoring and agent performance.
- Implemented role-based access control and multilingual support (Arabic & English).
Tech Stack
Key Learnings
- Real-time communication handling with WebRTC
- Biometric verification and liveness detection best practices
- Designing secure, compliant workflows for financial onboarding
- Optimizing performance for live video and API-heavy applications
Deliverables
- React Video KYC web application
- Ant Media WebRTC integration for secure video calls
- Uqudo Face Match and liveness detection integration
- Geo-location verification and Oman compliance flow
- Call recording, screenshots, and audit trail system
- Embedded agent KYC module for Digital Services Portal
- Dashboard and analytics for sessions and agent performance
- Role-based access control and multilingual support
Project: Video KYC for Bank Nizwa Prism | Industry: Fintech / Digital Banking | Status: Development