Follow stream · CASE 05 · Digital Forensics · FinTech Security

VeriFlow

VeriFlow Suraksha

Document DNA for loan underwriting.

Live demo

Deployed demo with five pre-loaded test packets.

An offline, deterministic document-forensics engine for bank underwriting. It checks loan-applicant packets (salary slips, bank statements, employment letters, ITRs) for tampering, inflated figures and chronological anomalies, and every flag comes with its evidence and its arithmetic.

01 Lab: check a loan packet

Change any figure and watch the coherence rules re-evaluate, with the arithmetic shown.

Salary slip
Bank statement
Loan application

Four of VeriFlow's twelve rules, re-implemented in the browser. Edit any figure. The real engine also checks font geometry, error level analysis, PDF chronology and tax recalculation, and routes internally consistent forgeries (packet E) to manual review.

02 Brief

The problem

Loan fraud rarely looks like fraud. A well-made forgery is internally neat. The tells are in the file structure and in whether the numbers agree across documents. Black-box AI tools give underwriters a score they cannot defend.

Why it matters

Underwriting decisions have to be explainable. A forensic engine should be able to show its work like an accountant, not just output a probability.

03 Architecture

A two-tier forensic pipeline. Layer 1 inspects file structure before reading any text. Layer 2 extracts financial fields and cross-checks them across the whole packet.

VeriFlow pipeline: a document packet is inspected at layer one for structural DNA (font geometry, error level analysis, PDF chronology) before any text is trusted. Layer two extracts fields by OCR, runs cross-document maths, recalculates tax deductions and applies twelve forensic rules. The result is approve, reject or manual review, with evidence.L1 · STRUCTURAL DNAL2 · COHERENCEDoc packetslip·stmt·ITRFont geometry0.1–0.8 pt driftELArecompressionChronologyproducer · TZ · datesOCR fieldsEasyOCRCross-doc mathTDS · PF recalc12 rulesdeterministicAPPROVEREJECTREVIEW
FIG. 05Two-tier forensic pipeline
  1. 01

    Structural DNA

    Font-size micro-deviations (0.1–0.8 pt), baseline drift, character spacing: the marks copy-paste editing leaves in PDFs.

  2. 02

    Error Level Analysis

    JPEG recompression inconsistencies that reveal pasted regions in scanned documents.

  3. 03

    Chronological forensics

    Suspicious PDF producers, IST timezone mismatches, creation/modification inconsistencies.

  4. 04

    Coherence engine

    Cross-document maths (salary slip vs bank credit vs loan application) and independent TDS / PF recalculation.

  5. 05

    12-rule forensic engine

    Arithmetic fraud, impossible values, round-number suspicion, CTC vs monthly mismatch and more.

04 Implementation

Stack

Python · FastAPI · PyMuPDF · OpenCV · NumPy · EasyOCR · Pydantic v2 · React 19 · Vite

My contribution

Sole committer on the public repository.

  • Runs entirely offline, so applicant documents never leave the machine.
  • TDS is recalculated under the FY 2024-25 new-regime slabs, and PF at 12% of basic, to catch fabricated deductions.
  • Five pre-loaded packets cover genuine, income mismatch, arithmetic fraud, visual anomaly and a perfect forgery that routes to manual review.

05 Engineering decisions

  1. Deterministic over probabilistic

    Every decision is reproducible and backed by exact calculations, because an underwriter has to defend a rejection.

  2. Structure before text

    Inspecting how a file was built catches edits that leave the visible text perfectly plausible.

06 Evidence

No published results yet. This file is at the live demo stage, and results will be added once they can be backed by evidence.

Sourced from: github.com/Prathamesh0-0/VeriFlow-Suraksha README; PRD.md