Advanced Insider Threat Detection and Secure File Monitoring System developed using Flask.
FileSentinel is a cybersecurity-focused secure file management and monitoring system designed to detect insider threats, monitor suspicious activities, analyze leaked files, and securely manage organizational documents.
The project includes:
- Role-based authentication
- Secure file uploads
- Malware detection using ClamAV
- File watermarking
- Leak analysis and tracing
- Real-time monitoring dashboard
- Employee activity inspection
- Security alerts and audit logging
- Admin and Employee login system
- Secure password hashing using bcrypt
- Session management
-
Upload and manage files securely
-
Support for:
- DOCX
- XLSX
-
File permissions management
-
Download tracking
-
File deletion tracking
- Malware scanning using ClamAV
- Real-time suspicious activity monitoring
- Security alerts dashboard
- Insider threat detection
- File watermarking and leak tracing
- Live security monitor
- Real-time logs using WebSockets
- Employee inspection dashboard
- Leak analyzer system
- Session timeline tracking
- Python
- Flask
- Flask-SocketIO
- SQLAlchemy
- HTML
- CSS
- JavaScript
- MySQL
- WAMP Server
- SQLyog
- ClamAV Antivirus
- Watermark Tracking
- Audit Logging
Install the following software before running the project:
- Python 3.11+
- WAMP Server
- SQLyog or phpMyAdmin
- ClamAV
- Git
filesentinel/
│
├── app.py
├── config.py
├── extensions.py
├── filesentinel.sql
├── requirements.txt
├── README.md
│
├── modules/
│ ├── admin.py
│ ├── auth.py
│ ├── employee.py
│ ├── virus_scan.py
│ ├── watermark.py
│ ├── leak_analyzer.py
│ └── ...
│
├── templates/
├── static/
│ ├── css/
│ ├── js/
│ └── images/
│
├── screenshots/
├── storage/
│ ├── backups/
│ ├── files/
│ ├── pending/
│ ├── profile/
│ └── temp/
│
└── uploads/
git clone https://github.com/YOUR_USERNAME/filesentinel.git
cd filesentinelpython -m venv venvActivate virtual environment:
venv\Scripts\activatepip install -r requirements.txtOpen WAMP Server and ensure:
- Apache is running
- MySQL is running
Open SQLyog or phpMyAdmin.
Create database:
filesentinel
Import the provided SQL file:
filesentinel.sql
The admin account is already included inside the SQL file.
Username: admin
Password: admin123
Open:
config.py
Update MySQL username and password if required.
Example:
MYSQL_HOST = "localhost"
MYSQL_USER = "root"
MYSQL_PASSWORD = ""
MYSQL_DB = "filesentinel"Install ClamAV Antivirus.
Ensure these services/files are available:
clamd.exe
freshclam.exe
Update virus database:
freshclamOpen:
modules/virus_scan.py
Update ClamAV executable path if needed.
Example:
CLAMSCAN_PATH = r"C:\Program Files\ClamAV\clamscan.exe"python app.pyOpen browser:
http://127.0.0.1:5000
- Empty folders are maintained using
.gitkeep - ClamAV must be properly configured for malware detection
- Ensure MySQL credentials are correct
- Storage folders are used for runtime file handling
- WebSocket monitoring requires Flask-SocketIO
- AI-based anomaly detection
- Email alert system
- Multi-factor authentication
- Cloud deployment support
- Advanced analytics dashboard
This project was developed for educational and cybersecurity learning purposes only.









