Skip to content

Karmanya03/PassMann

Repository files navigation

PassMannn - Secure Password Manager Browser Extension

📁 Project Structure

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

🔐 Security Features

  • 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

🚀 Installation Instructions

  1. Open Chrome Extensions

    • Navigate to chrome://extensions/
    • Enable "Developer mode" (toggle in top right)
  2. Load Extension

    • Click "Load unpacked"
    • Select the ./extension/ folder
    • The PassMannn extension will appear in your browser
  3. Pin Extension

    • Click the puzzle piece icon in Chrome toolbar
    • Pin PassMannn for easy access

💻 Usage Guide

First-Time Setup

  1. Click the PassMannn icon in your browser toolbar
  2. Create a strong master password (this encrypts all your data)
  3. Your encryption keys are generated automatically

Adding Passwords

  1. Open PassMannn popup
  2. Click "Add Entry"
  3. Fill in service, username, and password
  4. Data is encrypted before storage

Auto-Fill

  1. Navigate to any login page
  2. PassMannn will detect password fields
  3. Click the PassMannn icon to fill credentials

Security Best Practices

  • Use a unique, strong master password
  • Enable browser sync cautiously (data is encrypted)
  • Lock the vault when not in use
  • Regular backups recommended

🛠️ Development

Building from Source

# Install dependencies
cargo install wasm-pack
pip install Pillow

# Build extension
.\build.ps1

Testing

# Run Rust tests
cargo test

# Verify extension build
node test-extension.js

🔧 Technical Details

Cryptographic Specifications

  • 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

Browser Compatibility

  • Chrome/Chromium 88+
  • Edge 88+
  • Opera 74+
  • Other Manifest V3 compatible browsers

Performance

  • WASM module size: ~350KB
  • Encryption speed: ~1000 entries/second
  • Memory usage: <10MB typical

🔒 Security Considerations

  1. Master Password: Choose a strong, memorable passphrase
  2. Browser Storage: Data encrypted before Chrome storage
  3. Network: No network requests, fully offline
  4. Memory: Sensitive data cleared on lock
  5. Updates: Verify extension source before updates

📞 Support

This extension was built with security-first design principles:

  • Open source cryptographic libraries
  • Industry-standard algorithms
  • Minimal attack surface
  • No telemetry or tracking

🎯 Features

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

About

Zero-knowledge password manager browser extension built in Rust + WebAssembly. XChaCha20-Poly1305 encryption with Argon2id key derivation - all crypto runs client-side in WASM, fully offline, no telemetry.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors