How aliestereroan/deeptrace works
DeepTrace is a Chromium extension for local AI-image detection. Its principal workflow starts with a page image or user scan request, routes the image through the background worker to offscreen ONNX inference, then returns a verdict for display. Separate branches provide history/export, settings and localization, provenance reading, and model certification/training. The README documents the extension flow; sampled source confirms offscreen scoring and provenance. Several UI and backend subsystem links are documented or indicated by the source index rather than sampled implementation.
Main entry points: offscreen.js Inference bridge · background.js Message routing · content.js Image scanning · popup.js Scan interface
Components 24
Scanning and UI
- Image scanning
extension/content.js - Message routing
extension/background.js - Scan interface
extension/popup/popup.js
Local inference
- Inference bridge
extension/offscreen.js - ONNX scorer
extension/lib/scorer.js - Image preprocessing
extension/lib/preprocess.js - Provenance reader
extension/lib/provenance.js - Confidence bands
extension/lib/confidence.js
Results and preferences
- Scan history
extension/history/history.js - Extension settings
extension/settings/settings.js - Localization
extension/i18n.js - Theme handling
extension/theme.js - Help page
extension/help/help.js
Model development
- Photo harvesting
backend/evaluate/harvest_real_photos.py - Photo degradation
backend/evaluate/degrade_real_photos.py - Real-photo scoring
backend/evaluate/score_real_photos.py - Frontier scoring
backend/evaluate/frontier_wrapper.py - Model certification
backend/evaluate/evaluate_frontier.py - Model fine-tuning
backend/train/finetune/finetune_frontier.py - ONNX export
backend/train/finetune/export_onnx.py
Other components
- Browser user
- Web page images
- ONNX Runtime Web
- Image host
Connections 23
- Browser user → Scan interface: requests scan
README.md - Browser user → Web page images: right-clicks image
README.md - Web page images → Image scanning: exposes images
README.md - Image scanning → Message routing: sends scan
README.md - Scan interface → Message routing: requests scan
- Message routing → Inference bridge: routes inference
README.md - Inference bridge → Image host: fetches image bytes
extension/offscreen.js - Inference bridge → Provenance reader: reads metadata
extension/offscreen.js - Inference bridge → ONNX scorer: scores bytes
extension/offscreen.js - ONNX scorer → Image preprocessing: prepares tensor
extension/lib/scorer.js - ONNX scorer → ONNX Runtime Web: runs inference
README.md - Inference bridge → Message routing: returns result
README.md - Message routing → Image scanning: returns verdict
README.md - Image scanning → Browser user: displays badge
README.md - Scan interface → Scan history: views history
- Scan history → Browser user: exports report
README.md - Extension settings → Browser user: offers controls
README.md - Photo harvesting → Photo degradation: supplies photos
backend/evaluate/degrade_real_photos.py - Real-photo scoring → Frontier scoring: scores photos
- Model certification → Frontier scoring: scores candidates
backend/evaluate/evaluate_frontier.py - Model certification → Real-photo scoring: uses metrics
backend/evaluate/evaluate_frontier.py - Model fine-tuning → ONNX export: exports checkpoint
- ONNX export → Frontier scoring: checks agreement
backend/train/finetune/export_onnx.py