tejado7k downloadsEncrypt your notes using GPG. Supports smartcards for enhanced security! Keep your information safe and accessible only to you.
gpgCrypt is an Obsidian plugin to encrypt your notes effortlessly and seamlessly using GnuPG. All Obsidian functions can be used as usual, without reduced Markdown experience.
It integrates OpenPGP.js or your local GnuPG installation. For those seeking more advanced security measures, integration with the local GnuPG installation enables the use of OpenPGP smartcards (e.g. with YubiKey or Nitrokey).
gpgCrypt is developed by github.com/tejado.
Warning: Encrypted notes might be stored unencrypted on disk due to Obsidian's caching mechanisms, coredumps, or other reasons.
gpgCrypt is available over Obsidian Plugins: obsidian.md - gpgCrypt.
As an alternative, you can install it manually or use the Obsidian plugin Beta Reviewers Auto-update Tester.
To encrypt and decrypt your notes, gpgCrypt requires a key pair:
When you load gpgCrypt for the first time, a welcome dialog opens. Generate or use an existing key pair to encrypt your notes.
To use existing key pair, open gpgCrypt plugin settings and select an encryption backend: OpenPGP.js or GnuPG CLI Wrapper.
Public key and Private key, set the paths to your key files relative to your Obsidian VaultGnuPG CLI WrapperGPG executable path is set correctly.Encryption must be performed individually for each note. Navigate to the note's context menu and choose Encrypt with key pair.
To ensure all your notes are encrypted, turn on the Encrypt all notes feature in the settings of the gpgCrypt plugin. Each note will be encrypted upon its next modification.
The error There is no assurance this key belongs to the named user. Unusable public key happens in GnuPG CLI Wrapper mode when you imported the key and did not any specific trust for the key. In this case, gpg can't use the key.
Two solutions:
Always trust keys in the gpgCrypt plugin settings.More information:
Following commands can be used to encrypt/decrypt the files outside of Obsidian:
gpg --encrypt --armor --output - --recipient RECIPIENT_EMAIL_OR_KEY_ID path/to/vault/note.md
gpg --decrypt --output - path/to/vault/note.md
node --version).npm i or yarn to install dependencies.npm run dev to start compilation in watch mode.main.js and manifest.json to your vault VaultFolder/.obsidian/plugins/gpgCrypt/.npm run dev VaultFolder/.obsidian/plugins/gpgCrypt/ to start compilation in watch mode directly into your vault.