๐ How I Built a KYC Verification Flow in Flutter Using Jumio & Veriff


๐งพ Introduction
In the insurance industry, verifying the identity of users during onboarding is critical for compliance with Anti-Money Laundering (AML) regulations. In one of my recent projects at SNIC Insurance, I developed a KYC (Know Your Customer) verification flow using Flutter along with Jumio and Veriff integrations. This helped us reduce onboarding time by 60% and ensured AML compliance.
In this post, Iโll share how I built the flow, the challenges I faced, and how I overcame them.
๐ Tech Stack & Tools Used
Flutter โ for cross-platform mobile app
Jumio & Veriff SDKs โ for document & face verification
REST APIs โ for backend validation
.NET Core โ for backend integration and logging
AWS S3 โ to store user document images (optional)
PostgreSQL โ for saving KYC status
๐ How the Verification Flow Works
User fills in basic details (name, ID number, country, etc.)
They are prompted to verify their identity:
Upload government-issued ID
Complete live selfie or face scan
Jumio or Veriff SDK handles the biometric validation.
The backend receives a webhook/callback with the verification status.
Based on the result, we update the KYC flag in the user's profile.
โ ๏ธ Challenges Faced
SDK Integration Conflicts: Flutter plugins for both providers had platform-specific issues (e.g., Android SDK versioning).
Handling Failures Gracefully: Users often failed selfie checks due to lighting or angle โ so we added retry logic and error tips.
Dealing with Incomplete Sessions: Some users dropped mid-way. We implemented backend timeouts and cleanup jobs.
โ Results & Benefits
60% reduction in onboarding time
Higher user trust due to seamless verification experience
Compliant with local AML guidelines
Automated rejection/approval based on the providerโs status callback
๐ Final Thoughts
This project was a real learning experience in combining compliance, UX, and cross-platform development. If you're working in fintech or insurance and need to build a KYC flow, I highly recommend exploring Jumio or Veriff โ both are robust and easy to integrate with some setup work.
Feel free to connect with me on LinkedIn or check out my GitHub for upcoming code samples!
Subscribe to my newsletter
Read articles from Yasir Raza directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
