Advanced Real-Time Deepfake Detection & Digital Content Authentication Platform
Built for the Kanad S.H.I.E.L.D. Hackathon β Problem Statement PS-69E9C82813D10
Sentinel AI is a cyber-intelligence platform designed for law enforcement, cyber investigation teams, and digital forensics analysts. It leverages OpenAI GPT-4o vision to perform deep forensic analysis of uploaded images and media, detecting synthetic generation artifacts, face swaps, GAN fingerprints, and digital manipulation at scale.
The platform provides a professional Security Operations Center (SOC)-style dashboard with real-time statistics, a cinematic verdict reveal system, and detailed per-analysis forensic reports with six independent forensic sub-scores.
- Live statistics: deepfakes detected, suspicious media, authentics confirmed, accuracy rate
- Threat breakdown chart with category distribution
- Real-time activity feed of recent analyses
- Drag-and-drop image/video/audio upload
- Base64 encoding with secure transmission
- Asynchronous AI analysis with live progress indicator
- Cinematic verdict reveal animation on completion
- Full searchable table of all past analyses
- One-click delete for record management
- Status and verdict indicators per entry
- Animated confidence gauge (0β100%)
- Six forensic sub-scores:
- Face Consistency β facial feature coherence
- Lighting Analysis β shadow and light source consistency
- Compression Artifacts β natural vs. synthetic compression patterns
- Frequency Analysis β frequency-domain anomaly detection
- Temporal Consistency β frame-to-frame stability (video)
- Noise Pattern β statistical noise distribution analysis
- Manipulation indicators list
- Metadata flags
- AI-generated forensic summary
- User uploads an image via the browser
- The image is converted to a base64 data URL client-side
- The API server receives the payload and immediately returns a
201withstatus: analyzing - Asynchronously, the server sends the image to OpenAI GPT-4o vision with a detailed forensic prompt
- GPT-4o returns structured JSON with verdict, confidence score, forensic sub-scores, and indicators
- The frontend polls
GET /api/analyses/:idevery 2 seconds untilstatus === "complete" - The verdict is revealed with a cinematic animation
Video and audio files receive a heuristic-based suspicious verdict with a recommendation for deeper codec-level analysis, since GPT-4o processes only image inputs.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser (React) β
β Dashboard β Upload & Analyze β History β Forensic Reportβ
β TanStack Query + Orval-generated hooks β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β HTTP (via proxy)
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β Express 5 API Server (Node.js) β
β POST /api/analyses β fire-and-forget OpenAI call β
β GET /api/analyses/:id β polling β
β GET /api/stats/dashboard β
β GET /api/stats/recent-activity β
β GET /api/stats/threat-breakdown β
ββββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββ
β β
ββββββββββΌβββββββββ βββββββββββΌββββββββββ
β PostgreSQL DB β β OpenAI GPT-4o β
β (Drizzle ORM) β β Vision API β
βββββββββββββββββββ βββββββββββββββββββββ
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, TanStack Query, wouter, Tailwind CSS, framer-motion, Recharts |
| Backend | Express 5, Node.js 24, TypeScript 5.9 |
| AI | OpenAI GPT-4o Vision (image analysis with JSON structured output) |
| Database | PostgreSQL 16 + Drizzle ORM |
| Validation | Zod v4 + drizzle-zod |
| API Contract | OpenAPI 3.1 + Orval codegen (React Query hooks + Zod schemas) |
| Package Manager | pnpm workspaces (monorepo) |
| Build | esbuild (server), Vite (frontend) |
sentinel-ai/
βββ artifacts/
β βββ api-server/ # Express API server
β β βββ src/
β β βββ routes/
β β β βββ analyses.ts # Deepfake analysis routes + OpenAI
β β β βββ stats.ts # Dashboard statistics routes
β β β βββ health.ts # Health check
β β βββ app.ts
β βββ sentinel-ai/ # React frontend (Vite)
β βββ src/
β βββ pages/
β β βββ Dashboard.tsx
β β βββ Analyze.tsx
β β βββ History.tsx
β β βββ Report.tsx
β βββ App.tsx
βββ lib/
β βββ api-spec/
β β βββ openapi.yaml # API contract (source of truth)
β βββ api-client-react/ # Generated React Query hooks
β βββ api-zod/ # Generated Zod validation schemas
β βββ db/ # Drizzle ORM schema + migrations
β βββ src/schema/
β βββ analyses.ts
βββ pnpm-workspace.yaml
- Node.js 20+
- pnpm 9+
- PostgreSQL 14+
- OpenAI API key with GPT-4o access
git clone https://github.com/YOUR_USERNAME/sentinel-ai.git
cd sentinel-aipnpm installcp .env.example .envEdit .env and fill in your values:
DATABASE_URL=postgresql://user:password@localhost:5432/sentinel_ai
OPENAI_API_KEY=sk-...your-key-here...
SESSION_SECRET=your-random-secret-stringpnpm --filter @workspace/db run push# Terminal 1 β API Server (port 8080)
pnpm --filter @workspace/api-server run dev
# Terminal 2 β Frontend (port 23148)
pnpm --filter @workspace/sentinel-ai run devOpen http://localhost:23148 in your browser.
# Full typecheck across all packages
pnpm run typecheck
# Regenerate API hooks and Zod schemas from OpenAPI spec
pnpm --filter @workspace/api-spec run codegen
# Push DB schema changes (dev only)
pnpm --filter @workspace/db run push
# Build all packages
pnpm run build| Method | Endpoint | Description |
|---|---|---|
POST |
/api/analyses |
Submit image/video for deepfake analysis |
GET |
/api/analyses |
List all analyses |
GET |
/api/analyses/:id |
Get single analysis (poll for completion) |
DELETE |
/api/analyses/:id |
Delete an analysis |
POST |
/api/analyses/:id/reanalyze |
Re-run analysis |
GET |
/api/stats/dashboard |
Dashboard statistics |
GET |
/api/stats/recent-activity |
Recent activity feed |
GET |
/api/stats/threat-breakdown |
Threat category breakdown |
GET |
/api/healthz |
Health check |
{
"id": 1,
"fileName": "suspect_image.jpg",
"fileType": "image",
"verdict": "deepfake",
"confidenceScore": 94.5,
"status": "complete",
"forensicDetails": {
"faceConsistency": 87.2,
"lightingAnalysis": 91.0,
"compressionArtifacts": 23.1,
"frequencyAnalysis": 88.5,
"temporalConsistency": 75.0,
"noisePattern": 82.3
},
"manipulationIndicators": [
"GAN-generated facial features detected",
"Unnatural boundary artifacts around facial region",
"Frequency domain shows non-natural patterns"
],
"metadataFlags": ["No EXIF data present", "Unusual compression signature"],
"summary": "High-confidence deepfake detected. The facial region exhibits classic GAN generation artifacts...",
"createdAt": "2026-05-24T18:00:00.000Z"
}| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
β | PostgreSQL connection string |
OPENAI_API_KEY |
β | OpenAI API key (needs GPT-4o access) |
SESSION_SECRET |
β | Random secret for session signing |
PORT |
Auto | API server port (default: 8080) |
NODE_ENV |
Auto | development or production |
Event: Kanad S.H.I.E.L.D. β Security Hackathon for Intelligence, Encryption, Law Enforcement and Defence
Problem Statement: PS-69E9C82813D10 β Sentinel AI: Advanced Real-Time Deepfake Detection and Digital Content Authentication
Category: Startups, Industry Partners, Companies with Tech Solutions, and Innovators/Researchers
Target Users: Law enforcement agencies, cyber crime investigation units, digital forensics teams, intelligence agencies
MIT License β see LICENSE for details.
Built with precision for national security. Every pixel analyzed. Every threat identified.