Every bank verifies who is transacting. SWAYAM verifies whether the decision is genuinely the customer's own. This page explains the whole system, and lets you play with the parts so it actually sticks.
A digital arrest scam does not steal a password. It steals the decision.
A caller says he is the police. He says a parcel in her name had drugs in it. He keeps her on the phone for four hours. He tells her to move her money to a safe account for verification. She is terrified.
She logs in herself. Types her own password. Reads her own OTP. Sends the money herself.
Password correct. OTP correct. Device correct. Face correct. Location correct.
Every check passes, because every check asks the same question: who is this? And the answer is right. It really is her.
Move the sliders. These are the real weights from app/domain/score/fusion.py
and the real thresholds from the config. This is exactly how a decision is formed.
Weights: coercion 0.30, sonar 0.25, rhythm 0.20, biometric 0.10, transaction 0.10, context 0.05.
Every feature is a stage in one loop. A feature is only finished when a real action enters at stage one and comes out as sealed evidence.
Three models trained by us on real public data, one fusion model that is shipped but currently switched off, and two classical algorithms with no training at all.
Type any ten digits below, twice. First the way you would type your own phone number, from memory. Then slowly, as if somebody were reading it to you down a phone line. Watch the bars.
A listening pause is a gap over 500 ms. This uses the same features the engine uses: average gap, unevenness of the gaps, and how many pauses there were. Nothing you type is stored or sent anywhere.
The problem statement names four. Here is exactly what exists in each.
The product a bank's fraud team runs all day. Six surfaces, all driven by real traffic. There are no demo buttons that play a canned story.
An alert on its own proves nothing later. When a case reaches a court, three questions get asked in order, and the Evidence panel answers them in that order.
"Risk score 87." A judge cannot weigh that. How often is it wrong? Wrong in which direction? There is no answer, because a black box score has no measured error rate.
"The behaviour is about 8 times more probable if produced by someone other than the account holder." That is a likelihood ratio, the standard way forensic science states evidence of identity, and it is validated so its error is known.
| Measure | Value | What it means |
|---|---|---|
| Cllr | 0.653 | 0 is perfect, 1 carries no information. Ours carries real, measurable information. |
| Cllr min | 0.6294 | The discrimination floor. How much of the cost is unavoidable. |
| Calibration loss | 0.0236 | The small part that is bad calibration rather than weak discrimination. |
| Comparisons | 6,208 + 6,208 | Genuine and impostor pairs it was measured over. |
Real attacks fired at the real production defences, on demand from the console. The last row is not an attack.
A system a bank deploys must know its own limits. Saying these out loud is worth more than hiding them, and a jury will find them anyway.
| Limit | The honest statement |
|---|---|
| Single signal accuracy | Keystroke equal error rate about 20 percent, touch about 21 percent. One behavioural signal from a short phrase is not enough alone. That is why six families are fused. |
| The XGBoost fusion model | Trained and shipped, weight in the live decision is zero today. The live score is rule fusion plus the trained keystroke biometric. We never claim six models vote. |
| Heart rate from a camera | Sensitive to lighting and movement. A bounded capability, graded, never a blocking decision on its own. |
| Dictation cadence | A calibrated behavioural signal, not a trained detector. Stated on the screen itself. |
| Court admissibility | Evidence is prepared to meet Section 63. Whether it is admitted is for a court. |
| iOS SDK | 1,736 lines of Swift that have never been compiled. Source, not a shipped SDK. |
| Fraud recall | 50 percent of individual fraudulent transactions on the labelled feed. We report the misses. Campaign level detection is 14 of 14. |
Click a question, try to answer it in your head first, then open it. If you can answer all of these you can present this project without notes.