Skip to content

KazeTachinuu/pulseguard

Repository files navigation

PulseGuard

Terminal password manager with encryption and interactive CLI.

PyPI version Python License: MIT

Docs

Docs available at [./docs/]

Features

  • Argon2 key derivation with AES-256 encryption
  • Interactive terminal UI with search
  • Password generator
  • Categories, tags, and favorites
  • Security audit (duplicates, reuse detection)
  • Clipboard support
  • CLI and Python API

Installation

pip install pulseguard

Or from source:

git clone https://github.com/KazeTachinuu/pulseguard.git
cd pulseguard
uv sync

Usage

Interactive Mode

pulseguard

Command Line

pulseguard list                  # List passwords
pulseguard add                   # Add password
pulseguard get                   # Get password
pulseguard edit                  # Edit password
pulseguard delete                # Delete password
pulseguard search                # Search passwords
pulseguard genpass               # Generate password
pulseguard stats                 # Vault statistics
pulseguard check                 # Security health check
pulseguard --version             # Show version

Python API

from pulseguard import Vault, PasswordEntry

vault = Vault()
entry = PasswordEntry("Gmail", "user@gmail.com", "password")
vault.add(entry)

# Get all entries
entries = vault.get_all()

# Search
results = vault.search("gmail")

Configuration

export PULSEGUARD_VAULT_PATH="/path/to/vault.json"

Default: ~/.pulseguard/vault.json

Security

  • Argon2id: 2 iterations, 64 MiB memory, 4 parallelism
  • File permissions: 0600
  • Master password always required
  • AES-128 (Fernet) encryption for all vault data

Development

uv sync                          # Install dependencies
./setup-hooks.sh                 # Install git hooks
uv run pytest                    # Run tests
uv run ruff check src tests      # Lint
uv run black src tests           # Format

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors