Updated

Security

The values of your Environments are encrypted in your browser and the server cannot read them. Notes, logs and issues are not end-to-end encrypted, because your AIs have to be able to read them through MCP. This page says what protects what so you can decide what to store where.

What is protected and how

Data Server can read it? AI can read it via MCP? Protection
Environment values No No Encrypted in your browser with your master key (zero-knowledge)
Passwords (vault) No No Encrypted in your browser with AES-256-GCM and a key derived from your master key (PBKDF2, 600,000 iterations); outside MCP’s reach
Notes, logs, issues, tasks, records Yes Yes Access with your account or API key
Shared folders (notes, issues, logs, tasks) Yes Yes, for people with access Only with accepted friends and by role; the AI shares only if you ask
Environment and variable names Yes Yes (names only) Visible so the AI knows what exists

Separated API keys

  • An MCP key never reaches environment data.
  • A CLI key never reaches notes, logs, issues or records.
  • Keys can be revoked at any time in Settings.
  • Keys in the URL are stripped from md-doc’s access logs.

What your machine stores (CLI)

Only the environments key, in the system keyring (gnome-keyring/KWallet, Keychain or Credential Manager). If there is no keyring, it uses a file with 600 permissions. That key does not open the vault passwords.

Honest limits

  • mddoc run masking prevents accidental leaks, not deliberate ones.
  • If you use an API key in a client’s URL, it may appear in logs outside md-doc.
  • Anyone with your master key and your session can decrypt your environments: protect them.

What we cannot promise

We do not say everything is end-to-end encrypted, because it is not. md-doc exists so your AIs can read your notes, and for that the server has to be able to read them.

Frequently asked questions

Are md-doc secrets end-to-end encrypted?

The values of your Environments are encrypted in your browser with your master key and the server only stores encrypted data (zero-knowledge). Notes, logs and issues are not end-to-end encrypted, because the server and your AI have to be able to read them.