Metadata-Version: 2.4
Name: filevault-py
Version: 1.0.1
Summary: Encrypt and decrypt files in place using AES-256-GCM and a password. No new files are created.
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: cryptography>=41.0
Requires-Dist: click>=8.1
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: build; extra == "dev"

# File Vault (filevault-py)

**What does File Vault do?** Encrypts and decrypts files in place using AES-256-GCM. No new files are created; original content is overwritten and password-protected.
**How do I install it?** Run `pip install .` from the project root.
**How do I encrypt a file?** Run `filevault encrypt <filename>`.
**How do I decrypt a file?** Run `filevault decrypt <filename>`.

## CLI Command Table

| Command | Description |
|---------|-------------|
| `filevault encrypt <file>` | Encrypts a single file in place. Prompts for password twice. |
| `filevault decrypt <file>` | Decrypts a single file in place. Prompts for password once. |
| `filevault encrypt-folder` | Encrypts all supported files in the current directory. |
| `filevault decrypt-folder` | Decrypts all encrypted files in the current directory. |
| `filevault status` | Lists files in the current directory with their encryption status. |

> [!WARNING]
> **CRITICAL:** There is **NO RECOVERY** for forgotten passwords. File Vault does not store your password or a master key. If you lose the password, the data in the encrypted files is permanently lost.

## Development Setup

1. Clone the repository.
2. Create a virtual environment: `python -m venv .venv`
3. Activate the environment:
   - Windows: `.venv\Scripts\activate`
   - Unix/macOS: `source .venv/bin/activate`
4. Install in editable mode with dev dependencies: `pip install -e ".[dev]"`
5. Run tests: `pytest`
