SentinelAI is an AI-powered system for secure content protection, real-time monitoring, and copyright enforcement. It provides comprehensive tools for intellectual property protection, automated content scanning, and DMCA takedown management.
- AI-Powered Content Detection: Advanced image recognition and matching using CLIP embeddings
- Real-time Monitoring: Automated scanning of web content for copyright violations
- DMCA Management: Automated DMCA takedown notice generation and tracking
- User Authentication: Secure user management with JWT tokens and Google OAuth
- Dashboard Analytics: Comprehensive reporting and analytics dashboard
- Image Upload & Protection: Secure image storage and protection registration
- Similarity Matching: Vector-based similarity search for content identification
- Batch Processing: Efficient processing of multiple images and content
- Notification System: Email alerts for matches and takedown status
- Automated Scraping: Intelligent web scraping for content monitoring
- Queue Management: Redis-based job queuing for scalable processing
- Report Generation: PDF report generation for DMCA notices
- Framework: FastAPI (Python)
- Database: PostgreSQL with pgvector extension
- ORM: SQLAlchemy
- Migrations: Alembic
- Authentication: JWT, Google OAuth
- Queue: Redis with RQ
- AI/ML: CLIP embeddings, vector similarity search
- Image Processing: Pillow
- PDF Generation: ReportLab
- Web Scraping: BeautifulSoup, icrawler
- Framework: React 19
- Build Tool: Vite
- Styling: Tailwind CSS
- Routing: React Router DOM
- HTTP Client: Axios
- Animations: Framer Motion
- Icons: Lucide React
- Authentication: Google OAuth, JWT decode
Before running this application, make sure you have the following installed:
- Python 3.8+
- Node.js 16+
- PostgreSQL 12+ with pgvector extension
- Redis Server
- Git
git clone <repository-url>
cd SentinelAIcd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt# Create PostgreSQL database
createdb sentineldai
# Install pgvector extension
psql -d sentineldai -c "CREATE EXTENSION IF NOT EXISTS vector;"
# Run database migrations
alembic upgrade headCreate a .env file in the backend directory:
# Database
DATABASE_URL=postgresql://username:password@localhost/sentineldai
# Redis
REDIS_URL=redis://localhost:6379
# JWT
SECRET_KEY=your-secret-key-here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
# Email Configuration
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=[email protected]
EMAIL_PASS=your-app-password
# Google OAuth
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# Other configurations...cd ../frontend
npm installCreate a .env file in the frontend directory:
VITE_API_BASE_URL=http://localhost:8000
VITE_GOOGLE_CLIENT_ID=your-google-client-idcd backend
source venv/bin/activate
uvicorn main:app --reload --host 0.0.0.0 --port 8000cd frontend
npm run devThe application will be available at:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
- User Registration/Login: Users can sign up and authenticate
- Content Upload: Upload images for protection
- Monitoring Setup: Configure content monitoring parameters
- Match Detection: System automatically detects similar content
- DMCA Actions: Generate and send takedown notices
- Reporting: View analytics and reports
POST /users/login- User loginPOST /users/register- User registrationPOST /users/google-login- Google OAuth login
POST /ip/upload- Upload image for protectionGET /ip/matches- Get content matchesPOST /ip/scan- Initiate content scanGET /ip/reports- Get protection reports
GET /notifications- Get user notificationsPOST /notifications/send- Send notification
For detailed API documentation, visit /docs when the backend is running.
cd backend
pytestcd frontend
npm test- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email [email protected] or join our Discord community.
- CLIP model for image embeddings
- FastAPI community
- React ecosystem
- Open source contributors