A professional Django-based web application for managing and generating smart passwords with deterministic cryptography. Provides a comprehensive web interface for secure password management.
Powered by smartpasslib - The core library for deterministic password generation
- π Web-Based Interface - Access your password manager from any device
- π Zero Password Storage - Passwords generated on-demand, never stored in database
- π¨ Responsive Design - Works seamlessly on desktop and mobile devices
- π Project Organization - Organize credentials by projects and categories
- π Advanced Search - Quickly find and manage your login information
- β‘ Real-Time Generation - Instant password generation with cryptographic security
Your passwords don't need to be stored because they were never created - they already exist as mathematical certainties, waiting to be discovered through the correct combination of login and secret phrase.
- Python 3.8+
- PostgreSQL (recommended) or SQLite
- Redis (for Celery tasks, optional)
# Arch Linux
sudo pacman -S postgresql
# Ubuntu/Debian
sudo apt-get install postgresql postgresql-contrib
# Initialize database cluster (Arch Linux)
sudo su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'"
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Clone repository
git clone https://github.com/smartlegionlab/smart-password-manager.git
cd smart-password-manager
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
# Install PostgreSQL adapter
pip install psycopg2-binary
-- Access PostgreSQL shell
sudo -u postgres psql
-- Create database
CREATE DATABASE smart_password_manager_db
OWNER postgres
ENCODING 'UTF-8'
LC_COLLATE 'en_US.UTF-8'
LC_CTYPE 'en_US.UTF-8'
TEMPLATE template0;
Create .env
file in project root:
# Core Settings
DJANGO_ENV=development
SECRET_KEY=your-generated-secret-key-here
DEBUG=True
# Database Settings
DB_NAME=smart_password_manager_db
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432
# Optional: Redis/Celery Settings
REDIS_URL=redis://localhost:6379/1
CELERY_BROKER_URL=redis://localhost:6379/0
Generate secret key:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
# Apply migrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Collect static files
python manage.py collectstatic
python manage.py runserver
Access the application at: http://localhost:8000 Admin interface: http://localhost:8000/admin
Modern web interface for smart password management
- Backend: Django 5.2+
- Database: PostgreSQL (recommended) or SQLite
- Frontend: HTML5, CSS3, JavaScript
- Security: SHA3-512, deterministic cryptography
- Task Queue: Celery with Redis (optional)
Default development credentials:
- User: postgres
- Password: postgres
- Database: smart_password_manager_db
- Host: localhost
- Port: 5432
This web application is part of a comprehensive suite:
- Desktop Manager - Cross-platform desktop application
- CLI PassGen - Command-line password generator
- CLI PassMan - Console-based password manager
- SmartPassLib - Core password generation library
- No Password Storage - Credentials generated on-demand
- PostgreSQL Security - Enterprise-grade database security
- Django Security - Built-in protection against common vulnerabilities
- Cryptographic Security - SHA3-512 and system entropy
- Environment Variables - Secure configuration management
Learn about the technology behind this application:
- SmartPassLib Documentation - Core library documentation
For production deployment, consider:
- Using PostgreSQL with secure credentials
- Setting
DEBUG=False
- Using environment-specific settings
- Configuring proper SSL/TLS certificates
- Setting up backup strategies
- Database user:
postgres
- Database password:
postgres
- Configure PostgreSQL data source in PyCharm
# Run tests
python manage.py test
# Run with coverage
coverage run manage.py test
coverage report
BSD 3-Clause License
Copyright (c) 2025, Alexander Suvorov
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Explore more professional tools at Smart Legion Lab