Vault for Encrypted Credentials, Notes, and Aliases
Project description
Vecna CLI
Vault for Encrypted Credentials, Notes, and Aliases.
Name inspired by Vecna the arch-lich from Dungeons & Dragons, who is known for his obsession with secrets and knowledge.
Vecna is a secure, developer-focused command-line vault for storing credentials, secrets, and frequently used commands. Whether you're managing API keys, long commands with embedded secrets, or sensitive notes, Vecna provides a simple, encrypted solution that keeps your data safe and easily accessible.
Table of Contents
Features
-
Encrypted Vault Securely stores credentials, notes, and sensitive data using AES-256-GCM encryption.
-
Master Password Protection Uses a master password to derive a strong encryption key via PBKDF2 with 200,000 iterations.
-
Credential Management Easily add, retrieve, update, list, and delete credentials from the command line.
-
Alias Management Create aliases for frequently used commands, making it easier to manage complex or sensitive operations.
-
Auto-Expiring Sessions Sessions automatically expire after a configurable timeout (default: 15 minutes), and the vault is re-locked.
-
Clipboard Integration Passwords can be copied to the clipboard for quick, secure use.
-
Password Generator Built-in utility to generate secure, customizable passwords on demand.
-
Local-First, No Cloud All data is stored locally; Vecna performs no network operations and sends nothing externally.
-
Linux-Only Support (for now) Uses
/dev/shmfor secure key caching; support for other platforms is planned.
Installation
Vecna can be easily installed via pipx.
python3 -m pip install --user pipx
pipx install vecna
Usage
After installation, you can use vecna from the command line to manage your secure vault and credentials.
Initialize Vault
vecna init
Lock/Unlock Vault
vecna lock
vecna unlock
Credentials Management
Vecna provides a simple interface for managing credentials. You can add, retrieve, list, update, and delete credentials securely.
vecna creds <command> [options]
Use
vecna creds --helpto see available more details on commands and options.
Example
vecna creds add myapi -u myuser -p mypass --notes "API credentials for MyAPI" --tags "api,production"
vecna creds get myapi
vecna creds list
vecna creds update myapi --password newpass
vecna creds delete myapi
Aliases Management
Vecna allows you to create aliases for frequently used commands, making it easier to manage complex or sensitive command-line operations.
vecna alias <command> [options]
Example
vecna alias add myalias --command "curl -X POST https://api.example.com/data" --notes "API data submission" --tags "api,production"
vecna alias get myalias
vecna alias list
vecna alias update myalias --command "curl -X POST https://api.example.com/data --header 'Authorization: Bearer token'"
vecna alias delete myalias
Generate Password
Vecna includes a built-in password generator that can create secure passwords of specified lengths.
vecna generate [options]
Example
vecna generate --length 16 --symbols --numbers --show
Dependencies
Vecna is written in Python and uses the following core libraries:
cryptography— encryption and key derivationpyperclip— cross-platform clipboard handlingTyper— building the CLIrich— colored CLI output
Security
See SECURITY.md for details on how Vecna secures your data, trust assumptions, and key exposure windows.
Changelog
See CHANGELOG.md for a detailed list of changes and updates.
Contributing
See CONTRIBUTING.md for guidelines on how to contribute to Vecna.
License
MIT License
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 vecna-0.1.1.tar.gz.
File metadata
- Download URL: vecna-0.1.1.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
baa0c3ddd6a2324c3cc066cb213df99c9f95d8fa8e6982790b351c15346d42dc
|
|
| MD5 |
0dcf1b16a4da2516b086f949300ba7ee
|
|
| BLAKE2b-256 |
4f6dfd0b04c7ec2f529ea8dda622c2ba4bba706caf5f0b4dc741cb4f7df235bd
|
Provenance
The following attestation bundles were made for vecna-0.1.1.tar.gz:
Publisher:
build.yaml on thrapai/vecna
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vecna-0.1.1.tar.gz -
Subject digest:
baa0c3ddd6a2324c3cc066cb213df99c9f95d8fa8e6982790b351c15346d42dc - Sigstore transparency entry: 352875344
- Sigstore integration time:
-
Permalink:
thrapai/vecna@afeda9d19de607f98ca03a0c85ef58dd76756573 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/thrapai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yaml@afeda9d19de607f98ca03a0c85ef58dd76756573 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vecna-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vecna-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea0bda625e7edbd54951624f43f0f1c3a4cfdf89797c44bdd4903d438dfebaf3
|
|
| MD5 |
c0e46a8875d63acc59a8076601b4fa8f
|
|
| BLAKE2b-256 |
c47892ee3d1f5635fe768ee8ba1a430d0e6c9c60de6fa62750e672732eb9cc07
|
Provenance
The following attestation bundles were made for vecna-0.1.1-py3-none-any.whl:
Publisher:
build.yaml on thrapai/vecna
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vecna-0.1.1-py3-none-any.whl -
Subject digest:
ea0bda625e7edbd54951624f43f0f1c3a4cfdf89797c44bdd4903d438dfebaf3 - Sigstore transparency entry: 352875353
- Sigstore integration time:
-
Permalink:
thrapai/vecna@afeda9d19de607f98ca03a0c85ef58dd76756573 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/thrapai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yaml@afeda9d19de607f98ca03a0c85ef58dd76756573 -
Trigger Event:
push
-
Statement type: