fix: Improve accuracy - remove phone bias, raise threshold to 0.65, apply 10% conservative bias to ensemble
Deepfake Authenticator
c40bdaa
fix: Add phone video detection and bias correction - reduces false positives on mobile videos by 15%
Deepfake Authenticator
6dc8e68
fix: Risk badge now considers FAKE/REAL result - authentic videos show VERIFIED AUTHENTIC instead of CRITICAL RISK
Deepfake Authenticator
87bbdd7
Phase 5: Async chunk-streaming pipeline with early exit - reduces RAM and enables fast termination
Deepfake Authenticator
8d12a34
Phase 3: Add face detection caching across chunks - 60% reduction in MediaPipe calls
Deepfake Authenticator
feec9df
Update backend detector
Deepfake Authenticator
3acbc83
auto: sync changes $(date +%Y-%m-%d\ %H:%M)
Deepfake Authenticator
f7e99c8
fix: improve ProcessingSection spacing and padding
Deepfake Authenticator
30de428
feat: split backend (HF) and frontend (Vercel)β
Deepfake Authenticator
1dfcfc7
- Backend: remove static file serving, API-only
- Backend: CORS updated to allow Vercel domains
- Dockerfile: remove frontend copy, pure API image
- Frontend: VITE_API_URL env var for HF Space URL
- Frontend: vercel.json with SPA rewrite rules
- Frontend: .env.example with setup instructions
feat: replace vanilla frontend with React + Vite UIβ
Deepfake Authenticator
70348ce
- New frontend-react/ with React 18 + TypeScript + Tailwind CSS v4
- GridScan WebGL background on hero (Three.js + postprocessing)
- PillNav replaced with RadioNav icon tab bar
- Styled-components buttons: AnalyzeButton, InitiateButton, FileUploadInput
- Purple/black dark theme throughout all pages
- SVG area chart for frame-by-frame analysis
- Neumorphic cards on result page
- React Router with /pricing page
- Remove frontend-vanilla/ and stitch design artifacts
fix: restore working detector β clean rewrite from last known-good state, add C2PA + audio timeout only
feat: extension v2 β tab capture instead of downloadβ
Deepfake Authenticator
4c0afe5
- Use chrome.tabCapture API to record live tab stream (no download needed)
- Works on YouTube, Twitter, Netflix, any platform
- MediaRecorder captures 12s of video+audio as WebM
- Background service worker handles tabCapture.getMediaStreamId
- Content script records stream and sends base64 chunks to background
- Background sends blob to /analyze endpoint
- Popup simplified: one big 'Capture & Analyze' button
- Shows recording progress in overlay
- Removed yt-dlp dependency for extension (still available for /analyze-url)
fix: yt-dlp filename mismatch in analyze-url endpointβ
Deepfake Authenticator
20dd477
- Use prefix + .%(ext)s template so yt-dlp appends its own extension
- Glob search for created file across .mp4/.webm/.mkv/.avi/.mov
- Second glob fallback catches any yt-dlp naming scheme
- Clean up all prefix-matching files in finally block
- Fixes 'Unsupported file type' error from extension
feat: auto-analyze + YouTube support in browser extensionβ
Deepfake Authenticator
6c71866
Extension:
- Auto-analyze: popup detects video and starts analysis immediately (400ms delay)
- Comprehensive video detection: YouTube watch/shorts/youtu.be, Twitter/X,
Instagram, Facebook, generic <video>, og:video meta tags
- YouTube sends URL to /analyze-url backend endpoint
- Direct URLs fetched by background service worker
- Results saved to chrome.storage for popup last-result display
Backend:
- New POST /analyze-url endpoint for browser extension
- yt-dlp integration: downloads YouTube/Twitter/Instagram/TikTok videos
- httpx fallback for direct .mp4/.webm URLs
- Auto-cleanup of temp files
- Added yt-dlp and httpx to requirements.txt
feat: Chrome/Edge browser extensionβ
Deepfake Authenticator
0f27de7
- Manifest V3 extension with context menu, toolbar popup, content script
- Right-click any video β Analyze with Authrix
- Toolbar popup: auto-detects page videos, manual URL input, last result
- Content script overlay: radar loading animation, verdict display,
confidence bar, insight cards, audio result, re-analyze button
- Background service worker: fetches video URL, sends to localhost:8000
- AV_MISMATCH shown as DEEPFAKE in overlay
- Error state with server offline detection and instructions
- Icons generated (16/48/128px)
fix: AV_MISMATCH hard override always sets verdict to FAKEβ
Deepfake Authenticator
bd97ad3
- AV_MISMATCH now bypasses visual threshold entirely
- Confidence boosted to min 72% when AV_MISMATCH fires
- Lowered mismatch trigger: visual >= 0.45 AND audio < 0.55
- Cleaned up broken if/elif syntax in verdict block
feat: make nav links functional (Dashboard/Agents/Logs/Network)β
Deepfake Authenticator
cede9a4
- Dashboard: navigates to hero/upload section
- Agents: modal showing all 5 AI agents with descriptions and tech stack
- Logs: modal showing session history (last 20 analyses with verdict/confidence)
- Network: modal showing live health check, model status, API endpoint
- Escape key closes any open modal
- Click outside modal to dismiss
- Logs auto-populate after each analysis
fix: AV_MISMATCH shows as DEEPFAKE (red) not yellow warningβ
Deepfake Authenticator
7f580a0
- Frontend: AV_MISMATCH uses same red color + gpp_bad icon as AI_VOICE
- Verdict label shows 'DEEPFAKE (AV MISMATCH)'
- Backend: AV_MISMATCH overrides visual REAL verdict to FAKE
- Both AI_VOICE and AV_MISMATCH count as audio_fake in final decision
fix: audio-visual mismatch detection for face-swap deepfakesβ
Deepfake Authenticator
03f204c
- Swap audio model to Vansh180/deepfake-audio-wav2vec2 (ASVspoof-trained, 92.8% acc)
- Add AV_MISMATCH detection: when visual says FAKE but voice is human
this is the hallmark of face-swap deepfakes (dubbed movie audio)
- AV_MISMATCH boosts audio fake score based on visual confidence
- New result label: AV_MISMATCH (yellow warning) vs AI_VOICE (red) vs HUMAN_VOICE (green)
- Frontend: yellow warning badge + icon for AV_MISMATCH state
- Fix tooltip text visibility (white on dark, colored border)
- Fix timeline bar heights (px not %, overflow:visible for tooltips)
- Full Authrix design system: Space Grotesk, #0c150f bg, #00ff9c neon green
- 4-state SPA: Hero β Upload β Processing β Results
- Hero: spinning 3-ring orb, gradient headline, stat pills, floating HUD
- Upload: glassmorphic drop zone with scan-line, drag/drop, live queue clock
- Processing: rotating orb, 4 sequential pipeline steps with segmented bars, CLI terminal
- Results: cinematic banner with circular verdict badge, 80px confidence score,
Primary Vectors insight cards, System Diagnostics terminal, Probability Timeline
with actual frame_timeline data, Audio analysis section
- All wired to FastAPI /analyze and /health endpoints
feat: React + Three.js UI with 3D reactive orbβ
Deepfake Authenticator
459d5a1
- Vite + React + TypeScript frontend
- Three.js / React Three Fiber: animated 3D orb that changes color/behavior
based on analysis state (idle=blue, loading=fast spin, FAKE=red, REAL=green)
- Framer Motion: spring animations, AnimatePresence transitions, shimmer button
- Zustand state management
- Animated confidence arc (SVG semicircle gauge)
- Frame timeline with per-bar Framer Motion animations
- Agent pipeline cards with sequential activation
- Audio analysis card with Wav2Vec2 + heuristic scores
- Sticky 3D orb panel on desktop, stacks on mobile
- Vite proxy for dev, FastAPI serves built dist in production