Back to projects
In development

SECURITY / PRODUCTIVITY

PassMan

Secure Local Password Manager

A secure, local-first password manager built with Rust that stores your passwords encrypted locally with military-grade encryption. Your data never leaves your device.

TauriReactNext.jsTypeScriptTailwind CSSRustAES-GCM-256Argon2id
PassMan โ€” preview
PassMan product preview

About the project

A secure, local-first password manager built with Rust that stores your passwords encrypted locally with military-grade encryption. Your data never leaves your device.

100% Local

AES-256 Encrypted

Cross-Platform

Privacy First

Key features

  • Local-First Storage - All data stored locally
  • Military-Grade Encryption - AES-GCM-256 with Argon2id
  • Cross-Platform Support - Windows, macOS, Linux
  • CLI Interface - Full command-line interface
  • Password Generation - Strong, customizable passwords
  • Secure Storage - Encrypted vault files

Project details

Role
Full Stack Developer
Duration
2024 โ€” Present
Type
Personal project
Status
In active development

Tech stack

TI
RT
NS
TT
TS
RT

Project gallery

More screenshots
coming soon

Technical deep diveโ–พ
PassMan is a secure, local-first password manager built with Rust that stores your passwords encrypted locally with military-grade encryption. Your data never leaves your device, ensuring complete privacy and security. ๐Ÿ”’

โœจ Key Features


#

๐Ÿ” Security & Privacy

- Military-Grade Encryption: AES-GCM-256 encryption with Argon2id key derivation
- Local-First Storage: All data is stored locally on your device
- No Cloud Dependencies: Your data never leaves your device
- Memory Safety: Built with Rust for memory safety and performance
- Secure File Permissions: Vault files have restricted permissions (600)

#

๐Ÿš€ Cross-Platform Support

- Windows: Native Windows application
- macOS: Native macOS application
- Linux: Native Linux application
- CLI Interface: Full command-line interface for power users
- Desktop GUI: Beautiful desktop application (coming soon)

#

๐Ÿ› ๏ธ Advanced Features

- Password Generation: Strong password generation with customizable options
- Vault Management: Encrypted vault files with secure storage
- Account Management: Store and organize multiple accounts
- Search & Filter: Quick search through your passwords
- Import/Export: Secure data migration capabilities

๐Ÿ—๏ธ Architecture


The project follows a modular architecture with three main components:


โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Desktop GUI โ”‚ โ”‚ CLI Tool โ”‚ โ”‚ Backend Lib โ”‚
โ”‚ (Tauri + โ”‚ โ”‚ (Rust) โ”‚ โ”‚ (Rust) โ”‚
โ”‚ React/Next) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚ โ”‚ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Encrypted Vault โ”‚
โ”‚ (Local JSON File) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜


๐Ÿš€ Quick Start


#

Prerequisites

- Rust 1.70+ (install from [rustup.rs](https://rustup.rs/))
- Git

#

Building from Source

1. Clone the repository
bash
git clone https://github.com/tarunjawla/passman.git
cd passman


2. Build the project
bash
cargo build --release


3. Run the CLI
bash
./target/release/passman --help


#

Using the CLI

1. Initialize a new vault
bash
passman init your-email@example.com


2. Add an account
bash
passman add "GitHub" --type social --url github.com --username user@example.com


3. List accounts
bash
passman list


4. Generate a password
bash
passman generate --length 16 --special --numbers


๐Ÿ”’ Security Details


- Encryption: AES-GCM-256 for vault encryption
- Key Derivation: Argon2id with secure parameters
- Memory Safety: Sensitive data is zeroized after use
- File Permissions: Vault files have restricted permissions (600)
- No Network: No data is ever sent over the network

๐Ÿ“ฆ Project Structure



passman/
โ”œโ”€โ”€ backend/ # Core Rust library
โ”‚ โ”œโ”€โ”€ src/
โ”‚ โ”‚ โ”œโ”€โ”€ lib.rs # Public API
โ”‚ โ”‚ โ”œโ”€โ”€ models.rs # Data structures
โ”‚ โ”‚ โ”œโ”€โ”€ crypto.rs # Encryption/decryption
โ”‚ โ”‚ โ”œโ”€โ”€ storage.rs # Vault file management
โ”‚ โ”‚ โ”œโ”€โ”€ auth.rs # Authentication
โ”‚ โ”‚ โ”œโ”€โ”€ generator.rs # Password generation
โ”‚ โ”‚ โ””โ”€โ”€ vault.rs # Main vault manager
โ”‚ โ””โ”€โ”€ Cargo.toml
โ”œโ”€โ”€ cli/ # Command-line interface
โ”‚ โ”œโ”€โ”€ src/
โ”‚ โ”‚ โ””โ”€โ”€ main.rs
โ”‚ โ””โ”€โ”€ Cargo.toml
โ”œโ”€โ”€ desktop/ # Desktop GUI (Tauri)
โ”‚ โ””โ”€โ”€ src-tauri/
โ”œโ”€โ”€ website/ # Marketing website
โ””โ”€โ”€ Cargo.toml # Workspace configuration


๐Ÿ› ๏ธ Development Status


#

โœ… Completed (Phase 1)

- [x] Rust workspace setup
- [x] Backend library with core functionality
- [x] Data models and types
- [x] Encryption/decryption system
- [x] Password generation
- [x] Vault storage management
- [x] Authentication system
- [x] CLI tool with basic commands

#

๐Ÿšง In Progress

- [ ] Desktop GUI (Tauri + React)
- [ ] Cross-platform builds
- [ ] Comprehensive testing
- [ ] Documentation

#

๐Ÿ“‹ Planned

- [ ] Mobile apps
- [ ] Browser extension
- [ ] Advanced features (2FA, etc.)
TJ

Tarun.

Compiling the good stuff...

Tarun Jawla โ€” Full Stack Engineer | React Native ยท NestJS | Open to Contract