Telecom and SIM activation
Bind a SIM to a present, verified person.
SIM activation needs proof that the subscriber is real and present. KYCVerify pairs a document or signed Aadhaar artefact with active liveness and a face match to the portrait, and keeps the evidence encrypted until your retention period ends.
- 1Consent
- 2Aadhaar
- 3Liveness
At submit
- Face match against the Aadhaar photo
- Duplicate detection
- Age (18+)
- steps at the counter or on the phone
- 3
- UIDAI-signed photo to match against
- 1
- minimum age, configurable
- 18
decision.auto_decline: true · a failed check declines
The problem
What this use case needs from verification.
Presence
Active challenges require the subscriber to move on camera; frames are checked for one, consistent face.
Binding
Face match compares the live selfie with the document portrait or the UIDAI-signed photo.
Repeat activations
Duplicate detection flags one face activating many subscriptions.
Recommended workflow
Steps the person sees, checks that decide.
A second workflow with the document step instead of Aadhaar serves subscribers who present a passport or another card. Duplicate review lets you apply your own rule for how many connections one person may hold.
In the hosted flow
- 1Consent
- 2Aadhaar
- 3Liveness
At submit
- Face match against the Aadhaar photo
- Duplicate detection
- Age (18+)
- IP recorded for the audit trail
Keys left out of the config keep their defaults. Paste it into the workflow builder, or read every key on the workflows page.
{
"steps": {
"document": { "enabled": false },
"aadhaar": { "enabled": true, "methods": ["secure_qr", "offline_xml"] },
"liveness": { "enabled": true, "challenges": 3 },
"face_match": { "enabled": true },
"duplicate": { "enabled": true },
"age": { "enabled": true, "min_age": 18 },
"aml": { "enabled": false }
}
}Signals
What happens when something is off.
Real cases for this industry, the check that sees each one and what the engine records. Codes are exactly as they appear in the decision.
| When | Seen by | Outcome |
|---|---|---|
| A photo of the subscriber is shown to the camera | liveness | attempt failschallenge_failed or frames_identical |
| Someone else's Aadhaar QR is scanned | face_match | failedface_match_failed |
| One person activates many connections | duplicate | reviewduplicate_found |
| Only a birth year is on the Aadhaar record, and it straddles 18 | age | reviewage_uncertain |
| The QR's signature does not verify | aadhaar | failedaadhaar_signature_invalid |
Checks used
The capabilities behind it.
Each has its own page with an in-browser demo of the rule it applies.
Liveness
Active challenge-response: turn left, turn right, smile, move closer, in a random order.
Active challenge-responseFace match
1:1 comparison of the selfie with the document portrait, or the Aadhaar photo.
SFace cosine · 0.363Aadhaar
Secure QR and Offline e-KYC XML, verified against UIDAI's own signatures.
UIDAI RSA · XML-DSigDuplicate detection
Flags a document or a face already seen in another verification in the same app.
Fingerprints · embeddings
Regulatory context
Where the rules meet the product.
Subscriber verification in India is tightly specified. KYCVerify can support a verification you design; it does not stand in for the prescribed process. This is context, not legal advice.
Not legal advice. KYCVerify does not certify compliance with any law or regulator. Confirm how each rule applies to you with your compliance team and counsel.
Telecommunications Act, 2023
Requires authorised entities to identify the people they serve through verifiable biometric-based identification, with the method prescribed by the government. KYCVerify's face match is not Aadhaar biometric authentication.
Department of Telecommunications instructions
Name the documents and processes that count for subscriber verification and cap the connections one person may hold. Duplicate detection helps you see repeat activations; the rule is yours to apply.
Digital Personal Data Protection Act, 2023
Applies to subscriber identity data as to any personal data. Per-app retention and on-demand purges keep what you hold to what the purpose needs.
What KYCVerify does not settle for you
- Indian telecom subscriber verification follows the Department of Telecommunications' instructions, which name the methods that count. KYCVerify does not provide Aadhaar biometric or OTP authentication through an AUA/KUA.
- Liveness is active challenge-response, not certified PAD.
Integrate
One call starts it.
A short expires_in_hours suits a counter: the link is opened on the store tablet and expires before the shift ends.
- 1Create the session with this workflow and your own reference.
- 2Send the person the url, or open it on a device you control.
- 3Act on the signed session.status_updated webhook.
Create a session
curl -X POST https://kycverify.me/api/v1/sessions \
-H "x-api-key: $KYC_API_KEY" \
-H "content-type: application/json" \
-d '{
"workflow_id": "wf_0k3t1c8n5e2wpzr6g4ya",
"vendor_data": "msisdn-request-7781",
"metadata": {
"store": "BLR-KRM-04",
"channel": "retail"
},
"expires_in_hours": 2
}'201 Created
{
"session_id": "ses_0k3v9x2m4a7qhd8f1rtb",
"status": "not_started",
"url": "https://kycverify.me/verify/q3Xf…",
"session_token": "q3Xf…",
"workflow_id": "wf_0k3t1c8n5e2wpzr6g4ya",
"vendor_data": "msisdn-request-7781",
"expires_at": "2026-10-03T11:12:44Z"
}FAQ
Questions.
Does it work in a retail store?
Yes. Staff can create a verification link in the console and open it on the store's tablet or the subscriber's phone.
More solutions
Other ways teams use KYCVerify.
Fintech and lending
Borrower onboarding with Aadhaar, PAN, liveness and sanctions screening, with evidence behind every decision.
Crypto exchanges
Passport-grade document checks and sanctions screening before the first deposit.
Marketplaces and gig
Verify sellers, hosts and drivers once, and stop banned users from returning.
Build this workflow in the sandbox.
Set up the configuration above in the workflow builder and run a test session in minutes, then talk to us about going live.