How niladri990/ai-based-fake-identity-document-screening-system-sih26188 works
DocVerify AI is a prototype for officer-led identity-document screening. Officers authenticate, upload a document and optional live portrait, review the screening dossier, and record a determination. The screening API orchestrates extraction, ICAO MRZ parsing, rule validation, tampering and face analysis, registry checks, risk scoring, and report generation. The React application also supports dashboard, history, alerts, registry administration, settings, and audit review. The README documents these capabilities; some service-level links are supported by the screening module’s SOURCE INDEX references rather than sampled service implementations.
Main entry points: screenings.py Screening API · api.ts API Client · App.tsx App Navigation · main.py FastAPI App
Components 30
Officer Workspace
- App Navigation
frontend/src/App.tsx - Auth State
frontend/src/context/AuthContext.tsx - New Screening
frontend/src/pages/NewScreening.tsx - Case Inspector
frontend/src/pages/CaseInspector.tsx - Dashboard
frontend/src/pages/Dashboard.tsx - History
frontend/src/pages/History.tsx - Alerts
frontend/src/pages/Alerts.tsx - Settings
frontend/src/pages/Settings.tsx - API Client
frontend/src/services/api.ts
Backend API
- FastAPI App
backend/app/main.py - Document Upload
backend/app/api/documents.py - Screening API
backend/app/api/screenings.py - Registry API
backend/app/api/registries.py - Audit API
backend/app/api/audit.py - Risk Settings API
backend/app/api/settings.py
Screening Analysis
- OCR Extraction
backend/app/services/ocr_service.py - MRZ Engine
backend/app/services/mrz_service.py - Document Validation
backend/app/services/validation_service.py - ELA Forensics
backend/app/services/forensics_service.py - Face Matching
backend/app/services/face_service.py - Registry Checks
backend/app/services/registry_service.py - Risk Scoring
backend/app/services/risk_engine.py - PDF Dossier
backend/app/services/report_service.py
Data and Storage
- PostgreSQL
backend/app/models/models.py - DB Session
backend/app/db/session.py - Document Storage
backend/app/core/config.py
Identity and Access
- JWT Security
backend/app/core/security.py - Auth API
backend/app/api/auth.py - Access Dependencies
backend/app/api/deps.py
Other components
- Security Officer
Connections 46
- Security Officer → App Navigation: uses
README.md - App Navigation → Auth State: provides auth
frontend/src/App.tsx - App Navigation → Dashboard: routes to
frontend/src/App.tsx - App Navigation → New Screening: routes to
frontend/src/App.tsx - App Navigation → Case Inspector: routes to
frontend/src/App.tsx - App Navigation → History: routes to
frontend/src/App.tsx - App Navigation → Alerts: routes to
frontend/src/App.tsx - App Navigation → Settings: routes to
frontend/src/App.tsx - New Screening → API Client: submits screening
frontend/src/services/api.ts - Case Inspector → API Client: loads dossier
frontend/src/pages/CaseInspector.tsx - Dashboard → API Client: loads metrics
frontend/src/pages/Dashboard.tsx - History → API Client: loads cases
frontend/src/pages/History.tsx - Alerts → API Client: loads alerts
frontend/src/pages/Alerts.tsx - Settings → API Client: loads settings
frontend/src/pages/Settings.tsx - Auth State → API Client: authenticates
frontend/src/context/AuthContext.tsx - API Client → Document Upload: uploads document
frontend/src/services/api.ts - API Client → Screening API: requests screening
frontend/src/services/api.ts - API Client → Registry API: manages records
frontend/src/services/api.ts - API Client → Risk Settings API: updates weights
frontend/src/services/api.ts - FastAPI App → Document Upload: mounts router
backend/app/main.py - FastAPI App → Screening API: mounts router
backend/app/main.py - FastAPI App → Registry API: mounts router
backend/app/main.py - FastAPI App → Audit API: mounts router
backend/app/main.py - FastAPI App → Risk Settings API: mounts router
backend/app/main.py - Screening API → OCR Extraction: extracts fields
backend/app/api/screenings.py - Screening API → MRZ Engine: parses MRZ
backend/app/api/screenings.py - Screening API → Document Validation: validates document
backend/app/api/screenings.py - Screening API → ELA Forensics: checks tampering
backend/app/api/screenings.py - Screening API → Face Matching: matches portrait
backend/app/api/screenings.py - Screening API → Registry Checks: checks watchlists
backend/app/api/screenings.py - Screening API → Risk Scoring: calculates risk
backend/app/api/screenings.py - Screening API → PDF Dossier: generates dossier
backend/app/api/screenings.py - Screening API → PostgreSQL: persists results
backend/app/api/screenings.py - Document Upload → Document Storage: stores uploads
backend/app/api/documents.py - Document Upload → PostgreSQL: records metadata
backend/app/api/documents.py - Registry API → PostgreSQL: reads and writes
backend/app/api/registries.py - Audit API → PostgreSQL: reads audit log
backend/app/api/audit.py - Risk Settings API → PostgreSQL: reads weights
backend/app/api/settings.py - Screening API → Access Dependencies: requires access
backend/app/api/screenings.py - Document Upload → Access Dependencies: requires access
backend/app/api/documents.py - Auth API → JWT Security: issues tokens
backend/app/api/auth.py - Access Dependencies → JWT Security: decodes token
backend/app/api/deps.py - Access Dependencies → DB Session: gets database session
backend/app/api/deps.py - DB Session → PostgreSQL: connects ORM
backend/app/db/session.py - FastAPI App → DB Session: creates tables
backend/app/main.py - PDF Dossier → Document Storage: writes dossier