Metadata-Version: 2.4
Name: password-wallet
Version: 0.2.0
Summary: Administrador de billeteras porque soy imbecil y me olvido de la mayoria de contraseñas complejas
Author: imaguss
License-Expression: MIT
Project-URL: Homepage, https://github.com/imaguss/password-wallet
Project-URL: Repository, https://github.com/imaguss/password-wallet
Keywords: password,wallet,clipboard,security
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Natural Language :: Spanish
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Security :: Cryptography
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=49.0.0
Requires-Dist: debugpy>=1.8.21
Requires-Dist: pyperclip>=1.11.0
Dynamic: license-file

# Password Wallet

A terminal-based password manager that stores encrypted credentials and copies them to your clipboard, automatically clearing after 5 seconds.

## Installation

```bash
pip install password-wallet
```

## Usage

Password Wallet uses two files:

- A **key file** — stores the cryptographic salt for master password derivation
- A **vault file** — stores your encrypted credentials

### First time setup

```bash
password-wallet key_file vault_file
```

You will be prompted to create a master password. Both files will be created automatically.

### Adding a credential

```bash
password-wallet key_file vault_file --new-password
```

Follow the prompts to enter the username, platform name, and password.

### Listing credentials

```bash
password-wallet key_file vault_file --list
```

Displays all stored usernames and platforms.

### Searching and copying a password

```bash
password-wallet key_file vault_file --search-pass "GitHub"
```

Copies the password to the clipboard and clears it after 5 seconds. If multiple users exist for the same platform, you can select one interactively.

### Deleting a credential

```bash
password-wallet key_file vault_file --delete-pass "GitHub"
```

## How it works

| Step | Detail |
|------|--------|
| **Key derivation** | Master password is derived using **Argon2id**, a memory-hard KDF resistant to GPU/ASIC attacks |
| **Encryption** | Credentials are encrypted with **Fernet** (AES-128-CBC + HMAC-SHA256) |
| **Clipboard** | Passwords are copied via `pyperclip` and automatically cleared after 5 seconds |
| **Salt** | The salt is stored in the key file; without both the key file and the master password, decryption is infeasible |

### File structure

- **Key file** — contains the Argon2 salt (binary, 16 bytes)
- **Vault file** — contains the encrypted JSON blob with all credentials

> **Note:** Losing either the key file or the master password makes your data unrecoverable.
