ds-vault: Encrypted Password Vault for Emacs

Overview

ds-vault is a minimal, hardened Emacs Lisp utility for encrypting, decrypting, and managing a KeePassXC-compatible password database using GnuPG.

It uses the external gpg command for maximal control, auditability, and OPSEC transparency.

DeadSwitch does not trust abstractions. This vault is silent, verifiable, and self-destructing by design.

Why External GPG?

DeadSwitch uses raw gpg intentionally:

  • Full Transparency: You see every step. No hidden agents.
  • Cross-Tool Compatibility: Decrypt from the terminal if Emacs disappears.
  • No Trust in Caching: Explicit keys, explicit files, explicit logic.
  • Real Signing Flow: --sign + --encrypt = your data is yours alone.

Installation

  1. Clone or copy this repo.
  2. Add it to your load-path:

    (add-to-list 'load-path "/path/to/ds-vault/")
    (require 'ds-vault)
  3. Create a config file (ds-vault-config.el) that defines:

    (defvar ds/key-id "YOUR-GPG-KEY-ID")
    (defvar ds/clear-db "/path/to/vault.kdbx")
    (defvar ds/encrypted-db "/path/to/vault.kdbx.gpg")
    (defvar ds/backup-dir "/path/to/backups/")
    (defvar ds/timestamp (format-time-string "%Y%m%d-%H%M%S"))

Usage

Call the commands from M-x or bind them to keys.

Command Description
ds/vault-encrypt Encrypt and sign the vault
ds/vault-decrypt Decrypt the vault
ds/vault-status Check if vault is sealed or exposed
ds/vault-backup Backup the encrypted vault with version
ds/vault-help Show usage instructions

Status Output

The status check is brutally honest:

  • Vault is ENCRYPTED - you're good.
  • Vault is PLAIN TEXT - seal it now.
  • Insecure state - both files exist. Fix it.
  • No vault files found - nothing to protect… yet.

Philosophy

DeadSwitch believes encryption should be:

  • Explicit
  • Reversible
  • Offline-friendly
  • Not reliant on agents or GUIs

This vault reflects that mindset.

Example Workflow

M-x ds/vault-status
M-x ds/vault-encrypt
M-x ds/vault-backup
M-x ds/vault-decrypt

License

MIT - because freedom includes the freedom to vanish.

Author

DeadSwitch | The Silent Architect

Description
ds-vault is a minimal, hardened Emacs Lisp utility for encrypting, decrypting, and managing a KeePassXC-compatible password database using GnuPG.
Readme 39 KiB
Languages
Emacs Lisp 100%