Executive impersonation
A voice with authority asks finance to move money outside the normal process, today.
Scammers can now copy a voice you trust. VoxShield listens to the call, looks for signs the voice is machine-made, and — when it cannot tell — says so instead of guessing.
The whole story, one scroll
The problem
Cloning a voice no longer needs a studio or a data scientist. It needs a few seconds of speech — a voicemail, a reel, a recorded meeting — and the result is convincing enough to carry an instruction that a human will act on.
A voice with authority asks finance to move money outside the normal process, today.
A cloned customer voice passes a call-centre check that was designed for humans.
A familiar voice in distress asks for money immediately, and doubt feels cruel.
A caller claiming police or government authority manufactures urgency and compliance.
The voice is only the opener; the attack is the sequence of requests that follows.
Number spoofing and a familiar voice defeat both halves of the check most people actually run — who the screen says is calling, and whether they sound right.
Why detection alone is not enough
Published research shows the same detector performing far better on clean test sets than on real audio. Add a phone line, background noise and a short call, and the gap grows again. That gap is what VoxShield is designed around.
A detector that is often wrong but still prints “SAFE” is more dangerous inside a bank than no detector at all.
This is why VoxShield publishes no accuracy figure and treats “I cannot tell” as a real answer.A single accuracy figure hides the conditions it was measured under, so VoxShield does not advertise one. Test results, their datasets and their limits are written up separately, for people who want to check the work.
See the measurementsVoxShield only gives a verdict when it has a detector it has actually checked for that audio. Everything else returns LOW_CONFIDENCE — which, on a high-value transfer, still stops the transaction.
How it stays silentSection 1 of 2 · The claim
One claim, in plain words — and the list of things we deliberately do not say.
VoxShield does not claim to always know whether a voice is real. It claims to be honest about when it does not know — and to make that honesty stop the transaction.
That is the whole product. Everything below is either part of it or explicitly not claimed.Four things, all of them checkable:
Said plainly, so nobody has to guess:
Architecture
Two inputs, one pipeline, and a gate that decides whether a score may be read at all. Nothing on this diagram leaves the machine it runs on.
The solution
Every four-second window walks the same path, on one laptop, with no outbound network call. Select a stage to read what it actually does.
Precondition gate
The gate asks whether the window can support a conclusion — before any model score is read. Four checks, and a failure is never resolved in the reassuring direction.
A score that cannot be trusted should never become SAFE.
Enforced in three places: a database CHECK constraint, the gate itself, and the test suite.Verdict system
LOW_CONFIDENCE is not a softer SAFE. It carries no risk number, sets
is_fake to null, and at high-stakes profiles it
stops the transaction exactly as a detection would.
Three-valued by design. No failure path produces SAFE — not too little speech, not a degraded channel, not a model throw, a GPU out-of-memory, a queue overflow or signals that disagree by more than 45 points. A missing model file stops the process from starting at all.
Risk profile & mitigation
Detection produces a verdict. The risk profile decides what that verdict costs. This table is the product in one screen.
| Risk profile | SUSPICIOUS | HIGH_RISK | LOW_CONFIDENCE |
|---|---|---|---|
| Routine enquiry | Log | Flag to agent | Log |
| Account change | Flag to agent | Hold + callback | Prompt secondary question |
| High-value transfer | Hold + callback | Block + escalate | Hold + callback |
| Privileged access | Block + escalate | Block + escalate | Block + escalate |
At the two strictest profiles, LOW_CONFIDENCE and SUSPICIOUS produce the identical action — which is the entire argument for making the refusal a first-class verdict.
The pipeline returns the verdict and the action the active profile prescribes, and the Console displays both. Changing the profile on a live call changes the prescribed action end to end.
Step-up verification, incidents, alerts and the mitigation engine are written up in the
enterprise specification and are not built yet. When they land, every
mitigation carries an integration_mode of
simulated, pending_approval or
integrated, and the UI prints it. No demo of this ever claims a
real bank transaction was blocked.
Products
Each carries its real build status, not its intended one.
Capture. Analyse. Protect. An Android app that runs both models inside the APK through ONNX Runtime Mobile — no server, no network round trip. Live-call capture is device dependent and still under validation; recording analysis and test-file mode are the supported paths today.
Product detailDetect. Decide. Respond. The offline analysis console: 17 endpoints, five verdict states, profile actions, enrolments, and an audit chain you can verify from the Settings screen. One laptop, one process, zero outbound sockets at runtime.
Console tourIntegrate voice security anywhere. The intended path for banks, telecom operators and contact centres. It does not exist yet — no package, no key, no endpoint. The REST and WebSocket contract the Console already serves is what it would be built on.
What is decided so far
Understand risk. Investigate faster. An offline, grounded assistant inside
the Console. It returns a verbatim passage from the project's own documents with a
citation, or it refuses with NO_GROUNDED_ANSWER. It never generates
prose — the help system refuses to guess, exactly like the detector.
Section 2 of 2 · Current stage
A hackathon project, mid-build. This is the state on 23 September 2026, not a roadmap and not a wish list.
| Part | Stage | What that means today |
|---|---|---|
| Console | Working | Runs offline on one laptop. Takes call audio, produces verdicts, records every decision. Tested in code; a human sign-off pass is still outstanding. |
| Mobile app | Working, with a limit | Both models run inside the Android app. Checking a saved recording works; capturing audio during a live call is blocked by the phone's own audio rules on the one device tested so far. |
| Sign-in & roles | Working | Enterprise sign-in, one-time codes, sessions and five roles are built and tested. |
| Assistant | Working | Answers questions using the project's own documents, with citations, or says it does not know. Saved chat history is not built. |
| Incidents & automatic response | Designed only | Written up in detail; no code yet. The Console shows the recommended action, a person carries it out. |
| Phone → Console hand-off | Designed only | Sending a recording from the app to the Console is designed, not built. |
| SDK | Not started | No package, no key, no endpoint. Only the data format it would use is settled. |
| Public hosting | None | There is no VoxShield service to sign into. It runs on the demo machine, offline, by design. |
Why this section exists. A demo can make anything look finished. Keeping the claim and the current stage in two separate places means neither one has to be read carefully to avoid being misled.
How it is built
Offline, unpaid and un-framework’d — not because it was easier, but because each constraint removes a claim we would otherwise have to defend.
Every threshold lives in one constants file. A literal anywhere else is treated as a bug.
It downloads model weights at install time. At runtime the process makes none — pull the network mid-demo and nothing changes.
Against an 80% threshold, plus 54 assertions that enforce which layer may import which.
All permissive. A model with no licence file was dropped rather than shipped.
Both models loaded occupy 85 MB of 6 081 MB VRAM. No cloud bill, no API key, no quota.
Measured, not asserted
Speed, capacity and privacy facts — all reproducible from the repository on one laptop (RTX 4050, 6 GB). None of these are accuracy claims.
Security & privacy
One outbound call exists in the entire codebase, in the model download script, at install time. Pull the network during the demo and nothing changes.
Audio is analysed in memory and the window is discarded. No transcription, so no new class of personal data.
Voiceprints are 192 floats, encrypted at rest, never returned by any API, and erasable cryptographically.
SHA-256 chain; verification names the first broken link. Tamper-evident — and not called a blockchain.
Every model file is SHA-256 verified at load. A missing or altered model refuses to start the process.
VoxShield
It claims to always be honest about whether it knows — and to make that honesty actionable. Team Innovexa, SIH 2026, PS 26104, built for ₹0.