PassMannn/
├── src/ # Rust source code
│ ├── crypto.rs # Core cryptographic functions (XChaCha20Poly1305, Argon2id)
│ ├── db.rs # Secure database with SQLCipher support
│ ├── security.rs # Security utilities and validation
│ ├── entry.rs # Password entry management
│ ├── vault.rs # Vault operations
│ └── main.rs # Main application entry point
├── wasm/ # WebAssembly module
│ ├── src/lib.rs # WASM bindings for browser
│ └── Cargo.toml # WASM dependencies
├── extension/ # Browser extension files
│ ├── manifest.json # Extension configuration
│ ├── popup.html # Modern UI with Tailwind CSS
│ ├── background.js # Service worker
│ ├── content.js # Content script for auto-fill
│ ├── wasm-loader.js # WASM module loader
│ ├── icons/ # Extension icons (16, 32, 48, 128px)
│ └── wasm/ # Compiled WASM files
├── build.ps1 # Build script for Windows
└── README.md # This file
- Military-Grade Encryption: XChaCha20Poly1305 authenticated encryption
- Strong Key Derivation: Argon2id with 64MB memory cost
- Secure Random Generation: Cryptographically secure randomness
- Zero-Knowledge Architecture: Master password never stored
- Client-Side Encryption: All encryption happens in your browser
- SQLCipher Support: Database-level encryption when available
-
Open Chrome Extensions
- Navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Navigate to
-
Load Extension
- Click "Load unpacked"
- Select the
./extension/folder - The PassMannn extension will appear in your browser
-
Pin Extension
- Click the puzzle piece icon in Chrome toolbar
- Pin PassMannn for easy access
- Click the PassMannn icon in your browser toolbar
- Create a strong master password (this encrypts all your data)
- Your encryption keys are generated automatically
- Open PassMannn popup
- Click "Add Entry"
- Fill in service, username, and password
- Data is encrypted before storage
- Navigate to any login page
- PassMannn will detect password fields
- Click the PassMannn icon to fill credentials
- Use a unique, strong master password
- Enable browser sync cautiously (data is encrypted)
- Lock the vault when not in use
- Regular backups recommended
# Install dependencies
cargo install wasm-pack
pip install Pillow
# Build extension
.\build.ps1# Run Rust tests
cargo test
# Verify extension build
node test-extension.js- Algorithm: XChaCha20Poly1305-IETF
- Key Derivation: Argon2id (memory: 64MB, iterations: 1, parallelism: 1)
- Nonce: 192-bit (24 bytes) random nonce per encryption
- Salt: 256-bit (32 bytes) random salt per user
- Chrome/Chromium 88+
- Edge 88+
- Opera 74+
- Other Manifest V3 compatible browsers
- WASM module size: ~350KB
- Encryption speed: ~1000 entries/second
- Memory usage: <10MB typical
- Master Password: Choose a strong, memorable passphrase
- Browser Storage: Data encrypted before Chrome storage
- Network: No network requests, fully offline
- Memory: Sensitive data cleared on lock
- Updates: Verify extension source before updates
This extension was built with security-first design principles:
- Open source cryptographic libraries
- Industry-standard algorithms
- Minimal attack surface
- No telemetry or tracking
✅ Implemented
- Secure password storage
- Modern glass-effect UI
- Auto-fill detection
- Master password protection
- WebAssembly crypto engine
- Multiple icon sizes
- Manifest V3 compliance
🔄 Future Enhancements
- Password strength indicator
- Secure password generator
- Import/export functionality
- Biometric unlock
- Multi-device sync
- Secure sharing