Skip to main content

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.

Test Coverage PyPI version License: MIT

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/shm for 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 --help to 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 derivation
  • pyperclip — cross-platform clipboard handling
  • Typer — building the CLI
  • rich — 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vecna-0.1.1.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vecna-0.1.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

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

Hashes for vecna-0.1.1.tar.gz
Algorithm Hash digest
SHA256 baa0c3ddd6a2324c3cc066cb213df99c9f95d8fa8e6982790b351c15346d42dc
MD5 0dcf1b16a4da2516b086f949300ba7ee
BLAKE2b-256 4f6dfd0b04c7ec2f529ea8dda622c2ba4bba706caf5f0b4dc741cb4f7df235bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for vecna-0.1.1.tar.gz:

Publisher: build.yaml on thrapai/vecna

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for vecna-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea0bda625e7edbd54951624f43f0f1c3a4cfdf89797c44bdd4903d438dfebaf3
MD5 c0e46a8875d63acc59a8076601b4fa8f
BLAKE2b-256 c47892ee3d1f5635fe768ee8ba1a430d0e6c9c60de6fa62750e672732eb9cc07

See more details on using hashes here.

Provenance

The following attestation bundles were made for vecna-0.1.1-py3-none-any.whl:

Publisher: build.yaml on thrapai/vecna

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page