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.py
are 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
INFO
command 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.