Research demo · Hindi phone banking
It sounded like the customer. It was a clone.
The clone passed two checks. The third caught it.
- DigitsMatched
- Voice matchPassed
- AI voiceCaught
Random digits don't stop a clone.
A fresh digit challenge can stop old recordings. It didn’t stop this clone: it repeated the new digits and passed the voice match. The synthetic-speech check caught it.
- Clones accepted by voice match alone
- 94.8%
- 903 of 953
- Clones through all checks
- 0/953
- 95% upper bound 0.4%
- A cloner the model never saw (XTTS)
- 1/953
- held-out engine
- Test conditions
- Opened once, 4 Nov 2026
- 30 held-out speakers, public Hindi datasets
- Simulated G.711 phone line
- Thresholds frozen on separate data first
- Our own verifier only, not Gnani Biometrics or any bank
Three checks on the same phone audio.
Every check gets the same 8 kHz phone audio. We check the recording quality first; then all three checks must pass.
-
A
Spoken digits
Gnani Prisma
Transcribes the answer and compares it with the fresh challenge.
- Stops
- Replaying an old recording.
- Misses
- A clone that says the new digits.
-
B
Voice match
ECAPA speaker embedding
Compares the voice with the customer's enrolled voiceprint.
- Stops
- A stranger.
- Misses
- A clone (903 of 953 passed), and about 1 in 5 same-gender impostors.
-
C
AI voice check
Our model, trained on 8 kHz Hindi phone audio
Looks for signs the voice was generated by software.
- Stops
- The clones we tested.
- Misses
- A real person. On unfamiliar lines it also flags genuine callers.
A failed call hears one neutral line. The caller is never told which check failed, so an attacker learns nothing to tune against. The three checks share one audio channel: they're layered evidence, not independent factors.
Run a call yourself.
Pick a call to see what each check decided. Clone calls are labelled. These are replays; live microphone checks run only on this machine.
Simulated telephone channel (G.711 μ-law / AMR-NB 12.2k); no carrier call.
Spoken requests only move you through recovery. They can't approve a payment or undo the step-up.
Call check results
this call- Spoken digits matchWaiting
- Voice matches customerWaiting
- Live human voiceWaiting
How it did, including where it struggled.
We ran the final test once, on 4 Nov. We set the thresholds using separate data first. The test used 30 speakers kept out of training, new clone models and phone lines the model hadn’t seen.
Fig. 3 Catch and cost, by phone line
- G.711 μ-law trained on0/953
- AMR-NB 12.2k trained on0/953
- G.711 A-law unseen1/953
- GSM-FR unseen5/953
- AMR-NB 4.75k unseen bitrate0/953
| Gate | AI clones let through | Real callers stepped up |
|---|---|---|
| Voice match only | 903/953 (94.8%) | 28/803 (3.5%) |
| All checks, Gnani clones | 0/953 (under 0.4%) | 37/803 (4.6%) |
| All checks, unseen cloner (XTTS) | 1/953 (0.1%) | 37/803 (4.6%) |
| All checks, unseen engine family (FreeVC) | 6/600 (1.0%) | 19/600 (3.2%) |
"Under 0.4%" is the 95% upper bound for 0 of 953. The hardest attack: FreeVC through a GSM line, 18 of 600 (3%) got through. The full tables, with speaker-level bootstrap intervals and every codec, are in our results package.
Where this test stops.
What we found
- A new voice cloner could still get through.
- About 1 in 5 same-gender impostors passed the voice match in our test.
- We simulated the phone line; we didn’t call through a carrier.
- We tested read Hindi speech from public datasets, not real bank calls.
- We tested our own verifier, not Gnani Biometrics or any bank.
- Banks should pair voice checks with another way to verify.
What an attacker could do
- They have
- The customer's ID, 5–30 seconds of clean speech, and a voice-cloning service.
- They can
- Hear the challenge, make a spoken answer, then send it into the phone line.
- We assume
- The customer's original enrollment and our server are secure.
- We didn’t test
- Human relays, skilled impersonation, edited fake audio, over-the-air replay, or every future voice cloner.
Voice data
- Real speech came from AI4Bharat’s Kathbath and IndicVoices datasets (CC BY 4.0).
- Clones of dataset speakers stay private and will be deleted on 15 Nov 2026.
- The voices used for demo clones belong to the project team.
- Every clip made by a cloner carries an "AI-generated" label.