My personal password manager and document store
  • Ruby 82.6%
  • Shell 17.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-03-07 14:44:26 +02:00
completions Add fish shell integration with dynamic command completion (v0.2.0) 2025-11-01 23:12:20 +02:00
FISH_INTEGRATION.md Add fish shell integration with dynamic command completion (v0.2.0) 2025-11-01 23:12:20 +02:00
geheim.rb Fix fzf not opening on empty input (v0.3.1) 2025-11-01 23:29:36 +02:00
IDEAS.md ideas 2025-09-04 08:54:45 +03:00
install-fish.sh Add fish shell integration with dynamic command completion (v0.2.0) 2025-11-01 23:12:20 +02:00
README.md Add deprecation notice to README 2026-03-07 14:44:26 +02:00

geheim.rb

⚠️ DEPRECATED: This project is no longer maintained. I have switched to another solution and will not be doing any further work on this project.

This is an humble Ruby script for text and binary document encryption. It uses AES-256-CBC by default and the initialization vector is generated from an user input PIN.

This is for my own use. So the documentation here may be lacking. But feel free to try out yourself or ask!

Features

  • Works on MacOS, Linux and on Android via Termux.
  • Encrypts and stores any type of documents and files (text, binary, etc). Meant for smaller files, such as text, PDFs, etc.
  • All documents are stored in a Git repository.
  • All file names are encrypted as well and kept in encrypted indices in the same Git repository.
  • The indices are searchable through fzf, the fuzzy finder.
  • The Git repository can be synchronized with N remote Git repositories (e.g. to two separate VMs for geo-redundancy).
  • Text entries are edited using NeoVim (with file caching and swapping etc. disabled).
  • Clipboard support for MacOS and GNOME (Linux).
  • Interactive geheim shell support.
  • Can import and export documuments in batches.
  • Can shred exported data again.