Identity Verification (KYC)
esimtida seamlessly integrates identity verification powered by Stripe Identity. This module ensures regulatory compliance for your users by automating the capture and validation of identity documents.
The Verification Flow
Our pre-built KYC flow guides users through submitting their Government ID, Live Selfie, and Proof of Address. Once submitted, the data is securely transmitted to Stripe Identity.
- Initiation: User triggers a verification session from their dashboard.
- Capture: Stripe's secure UI collects the documents (no sensitive biometric data is stored on your server).
- Processing: Stripe evaluates the documents using AI fraud detection.
- Webhook Resolution: Your esimtida backend receives a secure webhook (`identity.verification_session.verified`) and updates the user's status globally.
KYC Status Enum
Users have an implicit identity status assigned to their profile. These states can be used via middleware to restrict access to sensitive features.
| Status | Description |
|---|---|
| PENDING | The user has not started the verification process. |
| PROCESSING | Documents submitted; pending AI or manual review. |
| VERIFIED | Identity verified. Full features unlocked. |
| FAILED | Verification failed (expired ID, fraud detected). |