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.

Vecna Logo

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.2.tar.gz (17.1 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.2-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file vecna-0.1.2.tar.gz.

File metadata

  • Download URL: vecna-0.1.2.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vecna-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1469db0c8947f522a5e34759b6ef55826f617f6d6a5ce4269220a2954687bb34
MD5 137ea2aa7b14b14a052b8cf8e0736356
BLAKE2b-256 e1f9ea6e53cb2ffd547722fe06c5cd9f67f06ea8a8d3d126c8c12ae1ccb67782

See more details on using hashes here.

Provenance

The following attestation bundles were made for vecna-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: vecna-0.1.2-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.13.7

File hashes

Hashes for vecna-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9a848d4fe837fdaed6dd83a3d8586eeec7f81f487a23c15cc382acf1c177c63c
MD5 550b958b3362e48cfafdb8f192b519d0
BLAKE2b-256 1a2716a475f668d24fa45fa3abb735c1e71f59e526284f304d028d61b6daaf17

See more details on using hashes here.

Provenance

The following attestation bundles were made for vecna-0.1.2-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