Per-page AES-256-GCM encryption for SilverBullet. Only the page body is encrypted -- frontmatter (tags, dates, metadata) stays plain so indexing and queries keep working. Passphrase is entered once per session and lost when you close the tab.
Run Library: Install in SilverBullet and enter:
github:ahzay/silverbullet-crypt/PLUG.md
- Open any page, run Crypt: Encrypt Page from the command palette
- Navigate away and back -- it prompts for your passphrase once, then auto-decrypts
- Edits are auto-re-encrypted on save
- Crypt: Decrypt Page permanently decrypts a page (writes plaintext to disk)
- Crypt: Change Password re-encrypts all encrypted pages with a new passphrase
- Reload the page to lock (clears cached passphrase)
- PBKDF2 key derivation (100k iterations, SHA-256)
- AES-256-GCM encryption via Web Crypto API
- Frontmatter is preserved in plain text, only the body after
---is encrypted - Runs entirely in Space Lua, no compiled plug needed
- Encrypted pages have plain frontmatter followed by
%%ENCRYPTED%%and base64-encoded salt, IV, and ciphertext