Metadata-Version: 2.4
Name: comfyvault
Version: 0.1.1
Summary: A secure, terminal-only password manager.
License: MIT
License-File: LICENSE
Author: Abderrahman YOUABD
Author-email: youabd50@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
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-Dist: click (>=8.1.0,<9.0.0)
Requires-Dist: cryptography (>=41.0.0,<42.0.0)
Requires-Dist: pyperclip (>=1.8.2,<2.0.0)
Requires-Dist: rich (>=13.0.0,<14.0.0)
Description-Content-Type: text/markdown

# ComfyVault 🔒

A secure, terminal-only password manager for hackers and CLI enthusiasts.

**No GUI. No Cloud. Just you and your encrypted secrets.**

## Features

- 🔐 **Strong Encryption**: AES-256 (via Fernet) with PBKDF2 key derivation.
- 🚀 **Fast**: Instant startup, no laggy Electron apps.
- 📦 **Portable**: Single encrypted file storage (`.secrets.enc`).
- 📋 **clipboard**: Auto-copy passwords to clipboard.
- 🐧 **Cross-Platform**: Windows, macOS, Linux.

## Installation

### From PyPI (Recommended)

```bash
pip install comfyvault
```

### From Source

```bash
git clone https://github.com/abderrahmanyouabd/comfyvault.git
cd comfyvault
poetry install
```

## Usage

**1. Initialize your vault**
```bash
comfyvault init
```

**2. Add a password**
```bash
comfyvault add github "myusername"
# You will be prompted for the password securely
```

**3. Get a password**
```bash
comfyvault get github
# Copies password to clipboard and shows metadata
```

**4. List all services**
```bash
comfyvault list
```

**5. Generate a secure password**
```bash
comfyvault gen --length 20 --symbols
```

## Security Design

- **Master Password**: Never stored. Used to derive the encryption key.
- **Key Derivation**: PBKDF2HMAC-SHA256, 600,000 iterations, random salt.
- **Encryption**: Fernet (AES-128-CBC with HMAC-SHA256). *Note: Cryptography's Fernet guarantees valid encryption.*

## License

MIT

