Open-source tool to detect deepfakes and verify claims related to the Epstein files using public DOJ documents.
Following the release of 3.5M+ pages of Epstein files by the U.S. Department of Justice, AI-generated deepfake images falsely linking public figures to Epstein went viral (21M+ views on X alone). Fact-checkers at AP News, Bellingcat, and NewsGuard have been manually debunking these, but there's no automated open-source tool to help.
This project provides three verification tools:
- Document Search (RAG) - Search public DOJ documents to verify if a person or claim actually appears in the files
- Deepfake Detector - Analyze images to determine if they were AI-generated (94.4% accuracy)
- Provenance Checker - Verify image origin via EXIF metadata, C2PA Content Credentials, and known-fakes database
git clone https://github.com/miloudbelarebia/epstein-files-verifier.git
cd epstein-files-verifier
docker compose up -d- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
# Backend
cd backend
pip install -e ".[dev]"
uvicorn app.main:app --reload
# Frontend (separate terminal)
cd frontend
npm install
npm run devClick the "Open in GitHub Codespaces" badge above. The environment comes pre-configured with Python 3.11, Node.js 22, and all dependencies.
Try the deepfake detector without installing anything: Hugging Face Spaces Demo
Frontend (Next.js :3000) -> Backend (FastAPI :8000) -> ChromaDB + ML Models
3 pages: 3 API groups:
/search POST /api/search/query (RAG)
/detect POST /api/detect (Deepfake)
/verify POST /api/verify (Provenance)
To populate the RAG search, ingest documents from the DOJ:
# Ingest a single data set (recommended to start)
cd backend
python -m ingestion.cli pipeline --data-set 1
# Ingest all 12 data sets (3.5M+ pages, takes 24-48h)
python -m ingestion.cli pipeline --data-set 1
# ... through data-set 12
# Check status
python -m ingestion.cli statusData source: U.S. DOJ Epstein Library
curl -X POST http://localhost:8000/api/detect \
-F "image=@suspect_photo.jpg"curl -X POST http://localhost:8000/api/search/query \
-H "Content-Type: application/json" \
-d '{"question": "flight logs", "top_k": 10}'curl -X POST http://localhost:8000/api/verify \
-F "image=@suspect_photo.jpg"The deepfake detector combines multiple signals:
| Signal | Weight | Description |
|---|---|---|
| ML Model (SigLIP) | 50% | Fine-tuned image classifier (94.4% accuracy) |
| Metadata Analysis | 20% | EXIF data: missing camera info, AI software signatures |
| C2PA Credentials | 15% | Content Credentials cryptographic verification |
| Known Fakes DB | 10% | Perceptual hash match against debunked images |
| Structural | 5% | Image artifact analysis (future) |
- No facial recognition - The tool never collects, compares, or identifies faces
- No image storage - Uploaded images are processed in memory and immediately discarded
- Public documents only - Only indexes officially released DOJ documents
- Mandatory disclaimers - Every response includes a legal disclaimer
- Known fakes database - Stores only perceptual hashes, never actual images
- Backend: Python 3.11, FastAPI, ChromaDB, sentence-transformers, HuggingFace transformers
- Frontend: Next.js 15, React 19, Tailwind CSS 4, TypeScript
- ML Model:
prithivMLmods/deepfake-detector-model-v1(SigLIP-based) - Embedding:
sentence-transformers/all-mpnet-base-v2(768 dimensions) - Deployment: Docker, GitHub Codespaces, Hugging Face Spaces
# Run tests
cd backend && pytest tests/ -v --cov
# Lint
cd backend && ruff check . && ruff format --check .
cd frontend && npm run lint
# Using Makefile
make install # Install all dependencies
make test # Run tests
make lint # Run linters
make dev # Start dev serversSee CONTRIBUTING.md for guidelines.
MIT License - see LICENSE for details.
This tool provides analysis assistance, not legal conclusions. Results are probabilistic and should always be cross-referenced with professional fact-checkers (AP News, Reuters, Bellingcat, etc.). All document data comes from publicly released U.S. Department of Justice files.



