Metadata-Version: 2.4
Name: secure-vault-library
Version: 0.1.0
Summary: A standalone object-oriented Python library for PIN-based file locking workflows.
Author: Secure Vault Project
License: MIT
Keywords: security,pin,locking,vault,file-management
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# Secure Vault Library

`secure-vault-library` is a standalone Python package for PIN-based locking workflows in secure file-management systems.

## Why this exists

The package is designed to be reusable outside this project. It provides:

- PIN validation with configurable policy rules
- Secure PIN hashing using PBKDF2-HMAC-SHA256
- Lock creation and verification workflows
- Unlock validation workflows
- A small object-oriented API that can be used by web apps, CLIs, or desktop tools

## Installation

```bash
pip install secure-vault-library
```

For local development:

```bash
pip install -e .
```

## Quick example

```python
from secure_vault_library import PinPolicy, SecureVaultLockService

policy = PinPolicy(min_length=4, max_length=8)
service = SecureVaultLockService(policy=policy)

validation = service.validate_pin("2468")
assert validation.valid

lock_payload = service.create_lock("2468", "2468")
assert lock_payload.is_locked

verified = service.verify_pin("2468", lock_payload.pin_hash)
assert verified.verified
```

## Main classes

- `PinPolicy`
- `PinValidationResult`
- `LockPayload`
- `PinVerificationResult`
- `SecureVaultLockService`

## Publishing

Build the package:

```bash
python -m build
```

Publish to PyPI:

```bash
python -m twine upload dist/*
```
