Developed & licensed by ParseSphere Innovation.
Incognito-Vault is a secure, scalable, and feature-rich platform designed to streamline database management, logging, and forms for both office and student needs, with robust security features and an intuitive interface.
- Current Version:
v1.0.0 - Release Date: December 3, 2024
- Features
- Security Features
- Project Structure
- Documentation
- Production Deployment
- Usage
- Contributing
- License
- Contact
- Secure User Authentication: Login system with rate-limiting and lockout mechanisms.
- Super Admin Dashboard: Comprehensive admin panel with features for database management, logs, and settings.
- Error Handling: User-friendly error pages and robust backend error handling.
- Documentation: Clear and detailed project documentation for ease of use.
- Responsive Design: All templates are optimized for different screen sizes.
- Modular Codebase: Clean, modular code for easy maintenance and scalability.
- Robust Security: Robust protections against malicious code that affects performance and security vulnerabilities of the server. This application is designed to protect your data from both traditional and advanced hacking attacks
Incognito-Vault ensures the highest level of security through the following features:
-
Rate Limiting
- Protects against brute-force attacks by limiting the number of login attempts.
-
Lockout Mechanism
- Temporarily locks accounts after multiple failed login attempts to prevent unauthorized access.
-
Captcha Verification
- Prevents automated attacks with integrated CAPTCHA on login forms.
-
Session Management
- Implements secure user session handling to prevent session hijacking.
-
Redis-Powered Backend
- Fast and secure data caching and session management using Redis.
-
Error Handling and Logging
- Graceful error pages and detailed server-side logging to monitor and address security issues promptly.
-
Secure Authentication
- Encrypted passwords and secure login protocols ensure user credentials are safeguarded.
-
HTTPS Ready
- Supports secure communication with HTTPS encryption. (Only if Deployed in production environment like VPS server or cloud server in Hostinger or Amazon AWS).
-
Security Audit
- A detailed Security Audit Report is available to ensure transparency and continued improvements.
- The report is accessible in the root directory or Visit Audit.md .
For detailed information on the project structure and modules, refer to the Project Documentation.
To deploy Incognito-Vault in a production environment, follow these steps:
-
Operating System:
- Linux (e.g., Ubuntu 20.04+ or CentOS 7+) (For Production Environment)
- macOS (for development only)
- Windows 10/11 (WSL2 recommended for development)
-
Memory:
- Minimum: 2 GB RAM
- Recommended: 4+ GB RAM
-
Disk Space:
- Minimum: 20 GB free
- Recommended: 50 GB free
-
CPU:
- 64-bit processor
- Multi-core recommended for better performance
-
Python 3.8+
-
Python Virtual Environment
-
A production-ready WSGI server (e.g., uWSGI)
-
Redis installed and configured
-
Mysql installed and configured
-
Nginx or Apache as a reverse proxy (optional but recommended)
-
Virtual Environment Creation & Configuration:
-
Create a virtual environment
python -m venv .venv
-
Activate the virtual environment
source .venv/bin/activate -
Set environment variables for database credentials, Redis, and Flask settings (e.g.,
FLASK_ENV=production).
-
-
Make sure all required dependencies are installed:
pip install -r requirements.txt
- Update Configuration Files:
- Edit the database configuration in the
Database/directory. - Ensure Redis settings in
Modules/redis_manager.pyare correct for your production environment.
- Edit the database configuration in the
-
Run the application using uWSGI:
uwsgi --ini uwsgi.ini
-
Feel free to call Inku Assistant, Your very own assistant in Incognito-Vault and it will solve all the above problems.
-
Give necessary permissions to Inku Assistant.
chmod +x Inku.sh
-
Call Inku Assistant for Server Setup.
./Inku.sh
-
-
Use Nginx to serve as a reverse proxy to forward requests to Gunicorn. Example Nginx configuration:
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } -
Restart Nginx to apply the configuration:
sudo systemctl restart nginx
-
Use Let's Encrypt or another SSL provider to secure your application. For Let's Encrypt:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d yourdomain.com
-
Ensure Redis is running:
sudo systemctl start redis sudo systemctl enable redis- Verify Redis Installation:
- To confirm Redis is correctly installed and running, use the following commands:
redis-cli ping
-
If Redis is running, it will return:
PONG
For a production environment, follow these steps to secure Redis:
-
Bind Redis to localhost (to prevent external access): Edit the Redis configuration file (usually located at
/etc/redis/redis.conf):bind 127.0.0.1 -
Require a Password: Uncomment and set a strong password in the same configuration file:
requirepass your-strong-password
-
Restart Redis to apply changes:
sudo systemctl restart redis
To monitor Redis logs and performance:
-
Check Logs
sudo journalctl -u redis
-
Use the
INFOcommand to see details about memory usage, connections, and more:redis-cli INFO
By following these steps, you ensure that Redis is not only running but also secure and optimized for
Production use. This addition includes security measures and monitoring tips that are essential for aReliable Production Setup. -
After setting up your Incognito-Vault platform, you can start using it by accessing the application through your web browser.
- Visit the application’s homepage (e.g., http://yourdomain.com).
- Use the provided login credentials (set during setup or in the database) to log in.
- After successful login, you will be redirected to your dashboard based on your user role (admin or regular user).
- Admin users will have access to the Super Admin Dashboard.
- From the dashboard, you can manage users, view logs, and perform various administrative tasks, such as:
- Managing User Accounts: Add, remove, or modify user accounts.
- Database Management: View and modify the application’s database through the Admin panel.
- Log Monitoring: View activity logs to track usage and detect any issues.
- Access the Database Management section to add or modify entries.
- The platform supports structured templates for managing forms, queries, and logging.
- If errors occur, the platform logs them securely for admin review.
- Admins are notified in real-time via error handling and logging features integrated into the platform.
We welcome contributions from the community! Here’s how you can get involved in improving Incognito-Vault:
- Fork the Repository
- Fork the Incognito-Vault repository on GitHub to create your own copy.
- Clone Your Fork
-
Clone the repository to your local machine:
git clone https://github.com/your-username/incognito-vault.git
-
- Create a Feature Branch
-
Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
-
- Make Changes
- Implement your changes locally.
- Make sure to follow the project’s coding conventions and run tests.
- Commit and Push Changes
-
After implementing your changes, commit them to your local branch:
git add . git commit -m "Description of the changes" git push origin feature/your-feature-name
-
- Create a Pull Request
- Go to the Incognito-Vault GitHub page and create a pull request from your feature branch.
- Provide a detailed description of the changes you've made.
- Review Process
- Your pull request will be reviewed by the project maintainers.
- You may be asked to make additional changes based on the feedback.
This project is licensed under the Incognito-Vault Attribution & Compliance License (IVACL).
By using, modifying, or distributing this software, you agree to comply with the terms outlined in the license, including proper attribution to ParseSphere Innovations.
For full details, refer to the LICENSE file included in this repository.
For any questions, licensing inquiries, or permissions, please reach out to:
ParseSphere Innovation
- Email: parsesphereinnovations@gmail.com
- Website: https://cutt.ly/parsephere-innovations
- Address: Sodepur, Kolkata
We value your feedback and inquiries regarding Incognito-Vault and aim to respond promptly.