Terminal vault CLI for secure notes
Project description
Terminal Note Vault
A local, offline password security toolkit and note vault.
Security Toolkit Demo (Single Script)
A standalone educational demo for secure password management.
Features
- Secure Vault: AES-128 (Fernet) encryption with PBKDF2 key derivation.
- Password Policy: Enforces min 8 chars, alphanumeric (letters + numbers).
- Input Masking: Asterisks (
******) on Windows, hidden input on others. - Lockout Manager: Exponential backoff for failed attempts.
- Batch Mode: Analyze CSV files for password strength.
- Entropy Estimation: Log2-based strength estimation.
Installation
- Install dependencies:
pip install -r requirements.txt
Usage
Run the script directly:
python src/terminal_vault/security_toolkit.py <command> [args]
Commands:
init: Initialize a new vault and set a master password.add <name>: Add a new secret.get <name>: Retrieve a secret.check: Check a password against the policy.batch <file.csv>: Batch check passwords from a CSV file.reset-lockout: Reset failed attempt counters.
Security Boundaries (IMPORTANT)
[!WARNING] Educational Demo Only
This toolkit is designed for educational purposes to demonstrate security concepts.
- Scope: Protects against casual local access and throttled brute-force attacks.
- Limitations:
- No Host Protection: Does not protect against malware, keyloggers, or root access.
- No Memory Protection: Secrets may exist in memory.
- No Cloud/Sync: Strictly local storage.
- No Hardware Security: Does not use TPM or Secure Enclave.
- Recovery: If you lose your Master Password and Recovery Token, data is lost.
Main Application Usage (vault)
The main application is installed as the vault command.
Installation
pip install .
Commands
1. Initialization
Initialize a new vault. You will be prompted to set a username and master password.
vault init
2. User Management
Manage your credentials (username and password).
vault user
3. Reset Password
Reset your master password (requires current password).
vault reset-password
4. Add Entry
Add a new note or secret to the vault.
--title: Title of the entry (Required).--tags: Comma-separated tags (Optional).- You will be prompted for the Note content (visible input).
vault add --title "My Secret" --tags "work,finance"
5. Retrieve Entries
Search and view entries.
--tag: Filter by a specific tag.--search: Search for text in titles.- If no arguments are provided, lists all entries.
vault get
vault get --tag "work"
vault get --search "bank"
6. Batch Security Check
Check a CSV file of passwords for security policy violations.
vault check passwords.csv
7. Security Report
Generate a report of the current vault's security health (e.g., weak passwords).
vault report
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file terminal_vault-0.1.0.tar.gz.
File metadata
- Download URL: terminal_vault-0.1.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c8604b7b90722722acca167405a971e1cdaf2e98f531661972c20f71576f995
|
|
| MD5 |
0508663a82db93480e67a3b486d1bcad
|
|
| BLAKE2b-256 |
5a517369d73e48087fc16c10b958e0b6a159eca95684a0060cba884935291d48
|
File details
Details for the file terminal_vault-0.1.0-py3-none-any.whl.
File metadata
- Download URL: terminal_vault-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cadd1141430ce46f9debb9a681798313fb6b331edefd692d3ded465629ee7ef
|
|
| MD5 |
be217e1853feee9e40b70227de80b9bd
|
|
| BLAKE2b-256 |
b3b8ab98782d3fada3422e1b76b8a742bebb2d65dbc2b76c54cc553ec5e0b849
|