π A military-grade, self-hosted password manager with enterprise features
π― Quick Start β’ π³ Docker Deployment β’ β¨ Features β’ π‘οΈ Security β’ π Documentation
"In a world where data breaches happen daily, why trust your passwords to someone else's cloud?"
SecureVault is a zero-trust, locally-hosted credential management solution that puts YOU in control of your sensitive data. Built with enterprise-grade security standards, it offers the convenience of modern password managers without the privacy concerns.
- π’ Enterprises seeking complete data sovereignty
- π¨βπ» Developers who need secure API key management
- π Privacy enthusiasts who refuse to trust third parties
- π Home users wanting bank-level security for personal credentials
- AES-256 Encryption with authenticated encryption (Fernet)
- PBKDF2 Key Derivation (100,000+ iterations) - NSA approved
- Zero-Knowledge Architecture - Even we can't see your passwords
- Session Hardening with automatic timeouts
- Brute-Force Protection with progressive lockouts
- π Modern Web UI - Sleek, responsive, mobile-friendly
- π» Powerful CLI - Perfect for automation and power users
- π Synchronized Access - Same vault, multiple interfaces
- β° Time-Limited Tokens - Share credentials that auto-expire
- π± QR Code Generation - Instant mobile sharing
- π Password-Protected Shares - Double-layer security
- π Audit Trail - Know exactly who accessed what, when
- π Encrypted Exports - Your backups are as secure as your vault
- π Cross-Platform Compatibility - Works on Windows, macOS, Linux
- π¦ Portable Design - Take your vault anywhere
The fastest way to get SecureVault running:
# Clone the repository
git clone https://github.com/DeepDN/credential-manager.git
cd credential-manager
# Start with Docker Compose
docker-compose up -d
# Access the application
open http://localhost:8000
For development or custom setups:
# Clone the repository
git clone https://github.com/DeepDN/credential-manager.git
cd credential-manager
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Start the application
python run_web.py
- Docker and Docker Compose installed
- Port 8000 available
-
Clone and Navigate
git clone https://github.com/DeepDN/credential-manager.git cd credential-manager
-
Start the Application
docker-compose up -d
-
Verify Deployment
# Check container status docker-compose ps # View logs docker-compose logs -f securevault # Test health endpoint curl http://localhost:8000/health
-
Access SecureVault
- Open your browser to
http://localhost:8000
- Create your master password
- Start managing your credentials securely!
- Open your browser to
# Stop the application
docker-compose down
# Restart with latest changes
docker-compose up -d --build
# View real-time logs
docker-compose logs -f
# Access container shell
docker-compose exec securevault bash
# Backup your data
docker-compose exec securevault cp -r /app/vault /app/backups/
Your data is automatically persisted in Docker volumes:
- Vault Data:
./vault-data
(your encrypted credentials) - Backups:
./backup-data
(encrypted backup files) - Logs:
./logs
(application logs)
Customize SecureVault behavior with environment variables:
# Security Settings
SECUREVAULT_SESSION_TIMEOUT=300 # Session timeout in seconds
SECUREVAULT_MAX_ATTEMPTS=5 # Max failed login attempts
SECUREVAULT_PBKDF2_ITERATIONS=100000 # Key derivation iterations
# Server Settings
SECUREVAULT_HOST=0.0.0.0 # Bind address
SECUREVAULT_PORT=8000 # Port number
# Storage Paths
SECUREVAULT_VAULT_PATH=/app/vault/vault.enc
SECUREVAULT_BACKUP_DIR=/app/backups
Create a docker-compose.override.yml
for custom settings:
version: '3.8'
services:
securevault:
environment:
- SECUREVAULT_SESSION_TIMEOUT=600
- SECUREVAULT_MAX_ATTEMPTS=3
ports:
- "8080:8000" # Use different port
Component | Algorithm | Key Size | Iterations |
---|---|---|---|
Vault Encryption | AES-256-GCM | 256-bit | N/A |
Key Derivation | PBKDF2-SHA256 | 256-bit | 100,000+ |
Password Hashing | bcrypt | 256-bit | Adaptive |
Session Tokens | Fernet | 256-bit | N/A |
- π Zero-Knowledge Architecture: Your master password never leaves your device
- π End-to-End Encryption: Data encrypted before storage, decrypted only in memory
- π« No Telemetry: Absolutely no data collection or phone-home functionality
- π Perfect Forward Secrecy: Session keys are ephemeral and non-recoverable
- π‘οΈ Memory Protection: Sensitive data cleared from RAM after use
- π Audit Logging: Comprehensive activity tracking for security monitoring
SecureVault provides a comprehensive REST API:
POST /api/vault/create
- Create new vaultPOST /api/auth/login
- Authenticate userPOST /api/auth/logout
- Logout userGET /api/auth/status
- Check authentication status
GET /api/credentials
- List all credentialsPOST /api/credentials
- Add new credentialGET /api/credentials/{id}
- Get specific credentialPUT /api/credentials/{id}
- Update credentialDELETE /api/credentials/{id}
- Delete credentialPOST /api/credentials/search
- Search credentials
POST /api/credentials/share
- Generate sharing tokenGET /share/{token}
- View shared credentialPOST /api/vault/export
- Export vault dataGET /api/audit-logs
- Get audit logs
credential-manager/
βββ app/ # FastAPI application
β βββ main.py # Main application & routes
β βββ vault.py # Credential storage engine
β βββ security.py # Encryption & authentication
β βββ models.py # Data models & schemas
βββ docs/ # Documentation
βββ mobile-apps/ # Mobile app source
βββ browser-extensions/ # Browser extension source
βββ themes/ # UI themes
βββ docker-compose.yml # Docker deployment
βββ Dockerfile # Container definition
βββ requirements.txt # Python dependencies
βββ README.md # This file
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/ -v
# Run with coverage
coverage run -m pytest tests/
coverage report -m
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Container won't start:
# Check logs
docker-compose logs securevault
# Rebuild container
docker-compose down && docker-compose up -d --build
Port already in use:
# Use different port
docker-compose down
# Edit docker-compose.yml to change port mapping
docker-compose up -d
Permission issues:
# Fix file permissions
sudo chown -R $USER:$USER ./vault-data ./backup-data ./logs
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Discussions
- π§ Security Issues: Create a private issue with security label
This project is licensed under the MIT License - see the LICENSE file for details.
- Local Only: This application is designed for local/private network use
- Master Password: If you forget your master password, your data cannot be recovered
- Backup Important: Regular encrypted backups are essential
- Trusted Environment: Only run on computers you trust completely
Made with β€οΈ for security and privacy
"Your secrets are safe with SecureVault - because they never leave your device."