A production-style full-stack platform for protecting digital assets using machine-learning fingerprinting, automated piracy detection, and AI-assisted enforcement workflows.
DAPS helps creators and rights holders register original media, generate unique fingerprints, monitor potential infringements, and respond with faster legal and operational workflows.
The platform combines:
- a React/Vite frontend for dashboards and analyst tooling
- a Node.js/Express API for authentication, orchestration, and persistence
- a FastAPI ML microservice for image/video fingerprinting and similarity checks
- a background scraper for identifying and reporting potential piracy events
- MongoDB for storing users, protected assets, and violations
- Responsive Cyberpunk UI with modern dark mode aesthetics and data-rich analyst toolsets
- Secure media registration with upload, storage, and ownership mapping
- Visual fingerprint generation using perceptual hashes and CNN embeddings
- Image/video comparison for duplicate and infringement detection
- Hybrid hit-and-run scraper (Cheerio + Puppeteer) for fast, memory-efficient background scanning and reporting
- Violation intelligence dashboard for reviewing detected breaches
- Robust AI Legal Assistant using a multi-model fallback system (OpenRouter) to generate legal strategies and copyright takedown requests
- ML sandbox for side-by-side diagnostic comparison during demos and testing
| Layer | Stack | Responsibility |
|---|---|---|
| Frontend | React, Vite, Tailwind | Cyberpunk UI, auth views, ML sandbox, violation dashboard |
| Backend API | Node.js, Express, Mongoose | Auth, uploads, AI fallback routing, orchestration |
| ML Service | FastAPI, PyTorch, TorchVision, OpenCV | Fingerprinting, embedding generation, similarity scoring |
| Scraper Node | Node.js, Axios, Puppeteer, Cheerio | Hybrid hit-and-run asset scanning and reporting |
| Database | MongoDB Atlas / Docker | Users, media records, violation records |
GSS/
├── backend-node/ # Express API, auth, uploads, AI endpoints, MongoDB integration
├── backend-python/ # FastAPI ML service for hashing, embeddings, and comparisons
├── frontend/ # React frontend variant
├── frontend-react/ # Primary Vite/React UI used for dashboard and demo flows
├── node-scrapper/ # Background scraper and reporting pipeline
├── combined_architecture_flow.md
├── backend_architecture_flow.md
├── frontend_architecture_flow.md
├── python_architecture_flow.md
└── scraper_architecture_flow.md
- User uploads an original asset through the frontend.
- The Node backend accepts the file and sends it to the Python ML service.
- The ML service generates a fingerprint profile using hashes and embeddings.
- The backend stores the media and metadata in MongoDB.
- The scraper service scans external sources for likely matches.
- Suspect files are verified by the ML service and reported back as violations.
- The frontend displays violations and exposes AI-assisted response tools.
To run the entire stack seamlessly and avoid local environment configuration issues, use the provided Docker Compose setup:
-
Configure Environment Variables: Ensure you have created the necessary
.envfiles locally before running Docker.backend-node/.env(See the Node backend.envexample below)node-scrapper/.env(RequiresBACKEND_URL=http://backend-node:5000andSCRAPER_API_KEY)
-
Start the Stack:
docker-compose up --buildThis builds and starts the Frontend (accessible at http://localhost), Node API, Python ML Service, Scraper, and a local MongoDB container, automatically linking internal networks and environment variables.
If you prefer to run services individually:
- Node.js 18+
- Python 3.10+
- MongoDB Atlas or local MongoDB
- npm / pip
cd backend-node
npm install
npm startExample .env for backend-node/.env:
PORT=5000
JWT_SECRET=your_jwt_secret
MONGODB_URI=your_mongodb_connection_string
OPENROUTER_API_KEY=your_openrouter_api_key
SCRAPER_API_KEY=daps-internal-key-2026
PYTHON_SERVICE_URL=http://localhost:8000
BACKEND_URL=http://localhost:5000cd backend-python
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python run.pycd frontend-react
npm install
npm run devcd node-scrapper
npm install
node index.js --run-now- Frontend:
http://localhost:5173 - Backend API:
http://localhost:5000 - Python ML Service:
http://localhost:8000
POST /api/auth/loginPOST /api/auth/registerPOST /api/auth/sendotpPOST /api/auth/forgot-passwordPOST /api/auth/reset-password
POST /api/media/uploadGET /api/media/meGET /api/media/violations/meGET /api/media/allPOST /api/media/report
POST /api/ai/analyzePOST /api/ai/summarizePOST /api/ai/draft-takedown
POST /compare/imagePOST /compare/videoPOST /compare/two-images
The project can be deployed to services such as Render, but the Python ML service may be noticeably slower on free-tier hosting because:
- the service can sleep and cold-start after inactivity
torch/torchvisionmodel loading is heavier in cloud CPU environments- fingerprint generation happens during real-time upload and comparison flows
For smooth live demonstrations, the local environment provides the best real-time experience.
- Clean separation of concerns via microservice-style architecture
- Real-world combination of security, computer vision, and AI-assisted legal tooling
- Designed for demo readiness, experimentation, and future productization
- Extensible structure for adding new detectors, models, or enforcement workflows
This repository is an advanced prototype / demo system for digital asset protection and piracy monitoring. It is ideal for showcasing:
- full-stack system design
- ML service integration
- media fingerprinting workflows
- AI-enhanced operational tooling
- multi-service deployment patterns
This project is intended for educational, prototype, and demonstration use unless otherwise specified by the repository owner.