Step-by-Step Walkthrough

How DocEnsure Works

From document upload to final verdict — every step of the verification pipeline. Upload, scan, analyze, and get your verdict in under 2 minutes.

Upload
Scan
Analyze
Verdict
01
Upload Document
Client-side validation + format detection

Upload any supported document for verification. The system immediately validates format, size, and resolution before processing begins.

Supported Formats

PDF PNG JPG TIFF BMP

Quality Gate

  • File size check (max 100MB)
  • Resolution check (min 640x480)
  • Format validation
  • DPI check from EXIF data
  • Blank page detection
  • PDF encryption check
Auto-Detection: Document type is automatically detected with a confidence score (e.g., "Salary Slip — 94% confidence").
02
Quality Pre-Check
Server-side validation + quality scoring

After upload, the server performs deeper quality checks. Documents that fail minimum quality standards are blocked before verification begins — preventing wasted processing on unreadable files.

Client-Side Checks

  • File size validation
  • Format verification
  • Resolution check

Server-Side Checks

  • PDF page count analysis
  • Text layer detection
  • DPI extraction from EXIF
  • Blank page detection
  • Corruption check
Good
300+ DPI, clear text
Fair
150-299 DPI, readable
Poor
Below 150 DPI, blocked
03
Candidate Identity Detection
OCR extraction + fuzzy matching

OCR (pytesseract + PyPDF2) extracts text from the document. Regex patterns then extract identity fields like name, DOB, PAN, and Aadhaar. The system fuzzy-matches against existing candidates to auto-link documents.

Fields Extracted via Regex

  • Full name
  • Date of birth, Gender
  • PAN (ABCDE1234F)
  • Aadhaar (XXXX XXXX XXXX)
  • Passport, DL, Voter ID
  • Employee ID
  • Phone, Email

5-Signal Matching

  • Exact ID match (PAN, Aadhaar)
  • Fuzzy name (Levenshtein)
  • DOB match
  • Filename pattern match
  • Employee ID cross-ref
Exact Match

ID numbers match perfectly. Auto-linked to existing candidate profile.

Probable Match

Strong similarity detected. User confirms the correct candidate.

Ambiguous Match

Multiple potential matches. User selects from a shortlist.

No Match

No existing candidate found. New candidate profile created automatically.

04
AI Verification — 142 Checks
11 categories running in parallel

The core verification engine runs 142 independent forensic checks across 11 categories simultaneously. Each category specializes in a different aspect of document authenticity.

Visual & Layout 18
Signature Verification 12
Metadata Analysis 18
Image Forensics 16
Content Verification 18
Security Features 14
Database Verification 18
AI/ML Detection 10
Audit & Compliance 10
Document Liveness 5
Biometric Verification 5
142
Total Checks
11
Categories
<2m
Processing
05
Scoring & Verdict
Blended scoring + critical failure caps

All 142 check results are aggregated into a single authenticity score using a blended formula. Critical failures apply hard caps to prevent high scores on clearly fraudulent documents.

Blended Scoring Formula

score = 0.6 * avg_confidence + 0.4 * (1 - penalty_score)
  • 60% weight: average confidence across all checks
  • 40% weight: inverse of penalty score from failures

Critical Failure Caps

  • 3+ critical failures = max score 35
  • 2 critical failures = max score 50
  • 1 critical failure = max score 65

Risk Levels

Very Low
85-100
Low
65-84
Medium
45-64
High
20-44
Critical
<20
CLEAR
Accept
REVIEW
Manual check
SUSPICIOUS
Don't accept
FRAUDULENT
Reject
06
Report & Candidate Profile
PDF report + auto-enriched profiles + audit trail

A comprehensive PDF report is generated with the verdict banner, category-by-category breakdown, and individual check results. The candidate profile is automatically enriched with data from each verified document.

PDF Report Contents

  • Verdict banner (Clear / Review / Suspicious / Fraudulent)
  • Overall authenticity score
  • Category breakdown with scores
  • Individual check results (142 items)
  • Critical findings highlighted
  • Actionable recommendations

Candidate Profile

  • Auto-enriched with each new document
  • All verified documents linked
  • Verification history timeline
  • Cross-document consistency checks
  • Full audit trail with timestamps
  • Downloadable PDF reports
verification_report_summary.json
{ "document_id": "doc_8f3a2b1c", "candidate": "Rajesh Kumar Sharma", "document_type": "salary_slip", "verdict": "SUSPICIOUS", "score": 38, "risk_level": "HIGH", "checks_passed": 118, "checks_failed": 16, "checks_warning": 8, "critical_failures": 3, "top_findings": [ "PDF edited with iTextSharp after creation", "Gross Pay does not match component sum", "7 font families detected (expected 1-2)" ], "recommendation": "Do not accept. Request original payslip directly from employer.", "report_url": "/reports/doc_8f3a2b1c.pdf", "verified_at": "2026-03-28T10:16:42Z" }

Start Verifying Documents Today

Upload your first document and see all 142 checks in action. Free tier available with 25 documents/month.

Contact Us No credit card required for free plan