Skip to content
Easily encrypt files, notes, and passwords
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd cmd/seal-pw: make decryption error fatal May 12, 2019


Seal is a simple program to encrypt files, notes, and passwords. Seal depends on the vis editor because vis can be used in a pipe without writing temporary files. Install vis by compiling it from source or using your package manager:

Distro Command to install Vis
Arch Linux pacman -S vis
Debian apt-get install vis
OSX Homebrew pull request

If you have any ideas on how Seal could use Vim without writing data in cleartext to disk, let me know!

First steps

Install Seal and generate your private key:

$ go get

$ seal-keygen 
Created directory /home/david/.seal
Enter passphrase: 
Enter same passphrase again: 
Wrote public key: /home/david/.seal/david.publickey
Wrote private key: /home/david/.seal/david.privatekey

Backup your private key:

$ cp ~/.seal/david.privatekey /mnt/usbkey
$ lpr ~/.seal/david.privatekey  # print the private key

Encrypt files

Encrypt a file:

$ seal example.pdf
Wrote example.pdf.sealed (encrypted with key david)
$ rm example.pdf

Reveal the contents of the encrypted file:

$ seal-cat example.pdf.sealed | zathura -
Enter passphrase for key david: ...

Encrypt notes

Seal can create and edit encrypted documents. You do not need to enter a passphrase to create an encrypted document:

$ seal-edit doc.txt.sealed  # launches the vis editor

Subsequent edits require a passphrase:

$ seal-edit doc.txt.sealed
Enter passphrase for key david: ...

Manage passwords

The seal-pw program can be used as a password manager. To generate a password for a new account:

$ seal-pw github  # launches the vis editor to specify account information

Run the same command again to copy the password to the clipboard:

$ seal-pw github
Enter passphrase for key david: ...
username: davidlazar
Password copied to clipboard for 10 seconds.

Use seal-cat and seal-edit to view and update account information:

$ seal-cat github 
Enter passphrase for key david: 
username: davidlazar
clipboard: lQBphTfTTaafOEFCJHc4udEJYvAe99eJ

Related work

  • Pick: Minimal password manager for macOS and Linux
  • Pwclip: Hash-based password manager
You can’t perform that action at this time.