How akblaster967-afk/drishtiai works
DrishtiAI is a full-stack identity-document screening prototype. Users authenticate, submit documents for OCR and analysis, and review evidence and risk outcomes; optional workflows include face comparison and document storage. The FastAPI application coordinates analysis and persistence, while a separate AI-screening route exposes image-forensics screening. The README documents the principal capabilities, but several connections among unsampled services and frontend screens are not visible in the excerpts, so those links are omitted rather than inferred.
Main entry points: main.py FastAPI application · App.jsx App routing · ai_fake_screener.py AI content screening · ocr.py OCR processing
Components 29
User interface
- App routing
src/App.jsx - Authentication
src/Pages/Login.jsx - Screening workspace
src/Pages/ForensicDeepDive.jsx - Analysis results
src/Pages/AnalysisResult.jsx - User portal
src/Pages/UserPortal.jsx - Audit logs
src/Pages/AuditLogs.jsx
API and persistence
- FastAPI application
backend/app/main.py - AI screening routes
backend/app/ai_screening_routes.py - SQLite persistence
backend/app/database.py
Document extraction
- OCR processing
backend/app/services/ocr.py - PDF image handling
backend/app/services/pdf_images.py - Field extraction
backend/app/services/field_extractor.py - Universal extraction
backend/app/services/universal_field_extractor.py - Document extraction
backend/app/services/document_specific_extractor.py - Aadhaar extraction
backend/app/services/aadhaar_extractor.py
Screening analysis
- Consistency checks
backend/app/services/document_consistency.py - Cross-document checks
backend/app/services/cross_document_consistency.py - Document verification
backend/app/services/document_verification_engine.py - Risk assessment
backend/app/services/risk_engine.py - Quality analysis
backend/app/services/quality_analyzer.py - Suspicious indicators
backend/app/services/indicator_analyzer.py
Optional screening
- Face comparison
backend/app/services/face_matcher.py - AI content screening
backend/app/services/ai_fake_screener.py - C2PA credentials
backend/app/services/c2pa_checker.py - Image detector
backend/app/services/deep_learning_detector.py - ELA forensics
backend/app/services/forensics_ela.py - EXIF analysis
backend/app/services/exif_checker.py - OCR forensics
backend/app/services/ocr_forensics.py
Other components
- User
Connections 34
- User → App routing: uses
src/App.jsx - App routing → Authentication: routes to
src/App.jsx - App routing → Screening workspace: routes to
src/App.jsx - App routing → Analysis results: routes to
src/App.jsx - App routing → User portal: routes to
src/App.jsx - App routing → Audit logs: routes to
src/App.jsx - Screening workspace → FastAPI application: submits screening
- FastAPI application → SQLite persistence: uses persistence
backend/app/main.py - FastAPI application → OCR processing: invokes
backend/app/main.py - FastAPI application → Field extraction: invokes
backend/app/main.py - FastAPI application → Consistency checks: invokes
backend/app/main.py - FastAPI application → Document verification: invokes
backend/app/main.py - FastAPI application → Quality analysis: invokes
backend/app/main.py - FastAPI application → Suspicious indicators: invokes
backend/app/main.py - FastAPI application → Risk assessment: invokes
backend/app/main.py - FastAPI application → Face comparison: invokes
backend/app/main.py - FastAPI application → AI screening routes: registers
backend/app/main.py - FastAPI application → Cross-document checks: invokes
backend/app/main.py - FastAPI application → Document extraction: invokes
backend/app/main.py - OCR processing → PDF image handling: uses
backend/app/services/ocr.py - OCR processing → Field extraction: uses
backend/app/services/ocr.py - OCR processing → Universal extraction: uses
backend/app/services/ocr.py - OCR processing → Aadhaar extraction: uses
backend/app/services/ocr.py - Document extraction → PDF image handling: uses
backend/app/services/document_specific_extractor.py - Document extraction → Field extraction: uses
backend/app/services/document_specific_extractor.py - Document extraction → Aadhaar extraction: uses
backend/app/services/document_specific_extractor.py - Document extraction → OCR processing: uses
backend/app/services/document_specific_extractor.py - AI screening routes → AI content screening: calls
backend/app/ai_screening_routes.py - AI content screening → C2PA credentials: uses
backend/app/services/ai_fake_screener.py - AI content screening → Image detector: uses
backend/app/services/ai_fake_screener.py - AI content screening → ELA forensics: uses
backend/app/services/ai_fake_screener.py - AI content screening → EXIF analysis: uses
backend/app/services/ai_fake_screener.py - AI content screening → OCR forensics: uses
backend/app/services/ai_fake_screener.py - Analysis results → Screening workspace: links back
src/Pages/AnalysisResult.jsx