Blog

Notes from the engine room.

Engineering writing, not content marketing. Every number states its dataset, every claim is checkable against the repository, and the caveats stay in.

31 August 2026 · 8 min read · Pricing

What KYC and face-verification APIs actually cost in India: a transparent, per-call teardown

The Indian KYC market hides its pricing behind sales calls and stray PDFs. Here is the model we publish instead — per-call credits, 1,000 free at signup, prepaid, no per-seat licensing and no minimums.

Read the post

31 August 2026 · 9 min read · Engineering

Self-hosted face recognition and liveness: run KYC on-prem as one Rust binary

One statically-linked Rust binary, MIT-licensed face models, no onnxruntime, no libpq, no GPU and embedded database migrations — how the engine runs air-gapped on your own infrastructure, with the vendor never holding a biometric.

Read the post

31 August 2026 · 9 min read · Security

Injection attacks beat presentation-only liveness — the frame-level detection that answers back

Presentation attacks reach the camera; injection attacks replace it. Why ISO 30107-3 liveness does not cover injection, and the frame-level signals, spectral forensics and capture-integrity layer that do.

Read the post

31 August 2026 · 8 min read · Comparison

Evaluating a Digitap face-match alternative: a drop-in contract, published accuracy and public pricing

If you are weighing alternatives to Digitap's face-match endpoint, here is an honest checklist — a Digitap-compatible request contract, a richer signed response, benchmarks with their dataset attached, a self-host option and transparent per-call pricing.

Read the post

30 August 2026 · 8 min read · Engineering

Replacing our face engine with an MIT-licensed stack — and beating it on accuracy

How we swapped a research-only face recognition stack for MIT-licensed models, why the pipeline mattered more than the model, and the full LFW numbers — caveats included.

Read the post

30 August 2026 · 7 min read · Engineering

V-CIP and RBI's video-KYC rules: what the liveness engine actually has to do

An engineering reading of video-based customer identification: why a per-frame liveness check is not continuous liveness, and the four properties a V-CIP engine must hold for the length of a call.

Read the post

30 August 2026 · 8 min read · Guide

Passive vs active vs continuous liveness — an engineer's guide

The three shapes of liveness detection, the attacks each one actually stops, the friction each one costs, and the injection problem that none of them solves on its own.

Read the post

Receipts

The numbers behind the posts.

Posts summarise; these pages carry the raw material — measured benchmarks, the release-by-release changelog, and our certification status in plain words.