Skip to content

Secret Blocks

Secret blocks let you store encrypted values — passwords, API keys, tokens — inline within your markdown notes. They’re encrypted individually with AES-256-GCM and stored as ciphertext in the .md file.

Secret blocks use a fenced syntax with the :::secret directive:

:::secret[Label]
your-secret-value
:::

On save, the plaintext value is encrypted and replaced with the ciphertext:

:::secret[Database Password]
enc:v1:aGVsbG8gd29ybGQ...
:::

Press Cmd+Shift+S / Ctrl+Shift+S to open the secret template picker. Available templates:

TemplateFields
PasswordLabel, value
API KeyLabel, key
Credit CardNumber, expiry, CVV, name
SSH KeyLabel, private key
Env VariableVariable name, value
License KeyLabel, key
Recovery CodeLabel, codes
CustomLabel, value

You can type the :::secret fence directly in the editor:

:::secret[My API Key]
sk-abc123def456
:::
  • Click a locked secret card to reveal its value.
  • Click “Copy” to copy the value to your clipboard (auto-cleared after 30 seconds).
  • Secrets auto-hide after 30 seconds of being revealed.
  • Click again or press Escape to re-lock immediately.
  • Each secret block is encrypted with a unique nonce (AES-256-GCM).
  • Secret values are encrypted — labels remain plaintext for searchability.
  • The encryption key is derived from your master password via Argon2id.
  • Decrypted values are zeroed from memory when a card is collapsed or the vault is locked.
  • Secret values are never indexed by the search engine — only labels are searchable.