Standard KYC checks were failing to detect sophisticated fraud attacks, such as deepfake videos used in liveness tests or digitally manipulated ID cards (synthetic IDs) generated by neural networks.
Analyzing video feeds (for liveness) and high-resolution images (for forensic OCR) required heavy computational power that would slow down the main banking application if not architecturally isolated.
The challenge was to run a computationally expensive proprietary AI model to score a video for deepfake markers and return a "Fraud/No-Fraud" verdict within seconds to keep the user experience smooth.
We used a "Best Tool for the Job" approach. Node.js acts as the lightweight traffic controller, receiving the user's video/ID upload. Python serves as the heavy-lifting worker, hosting the proprietary AI model and computer vision libraries necessary for forensic analysis.
Video feeds are streamed through the Python service which frame-by-frame analyzes the content for artifacts (pixel inconsistencies, lack of blood flow monitoring/rPPG) to detect deepfakes. ID Card images are processed to detect tampering (font anomalies, layer editing).
Face swaps, injected video and forged documents detected during onboarding, before any account is created.
Detection runs inside the onboarding flow, adding milliseconds rather than seconds to verification.
Model monitoring and retraining keep accuracy up as attack techniques evolve over time.
Detection scores feed the KYC risk engine instead of landing in a separate manual review queue.
Explore how Solvstrat engineers custom digital architectures and software platforms for leading brands.

Unified non-profit donation portal with live fund transparency telemetry and automated 501(c)(3) tax documentation.

Scalable cloud infrastructure modernization and zero-trust identity federation for high-growth enterprise teams.
Real-time detection of injected and synthetic media, active and passive liveness checks, and document forensics — built into digital onboarding to stop synthetic identity fraud at high throughput.
Passive analysis runs on every session with no added friction, and heavier checks escalate only on risk signals, so honest users see little change to the onboarding flow.
Yes. Inference runs as a stream within the session time budget, with GPU capacity sized for peak onboarding and a pipeline that degrades gracefully — queue and continue — rather than blocking.
SEE THE PROTOTYPE WE'D BUILD
Tell us where the work slows you down. We'll come back with a prototype of the custom software, internal tools or automation we'd build to remove it — working in weeks, and you own the code.