
How sharing works
- End-to-end encryption: Content is encrypted in your browser using AES-256-GCM before upload. The encryption key stays in the URL fragment and is never sent to the server.
- Optional signing: When a signing key is available, mux signs the content with your private key. Recipients can verify the signature on mux.md.
- Expiration: Shares can expire after 1 hour, 24 hours, 7 days, 30 days, or never. You can change expiration after sharing.
Message signing
Signing proves that you authored a shared message. When enabled, mux.md displays your GitHub username alongside a “Verified” badge.Signing key discovery
mux looks for a signing key in these locations (first match wins):~/.mux/message_signing_key— mux-specific key (can be a symlink)~/.ssh/id_ed25519— standard SSH Ed25519 key~/.ssh/id_ecdsa— standard SSH ECDSA key
Supported key types
- Ed25519 (recommended) — fast, secure, 32-byte keys
- ECDSA — P-256, P-384, and P-521 curves supported
GitHub identity detection
To display your GitHub username on signed shares, mux detects your identity via the GitHub CLI:gh auth login, your GitHub username appears on mux.md alongside the signature verification.
GitHub CLI is optional. Without it, shares are still signed—recipients just see the public key
fingerprint instead of your username.
Enabling/disabling signing
Click the pen icon (✏️) in the share popover to toggle signing on or off. This setting persists across sessions. When signing is disabled (or no key is found), shares are still encrypted—they just won’t include a signature.Using shared content in mux
mux can read mux.md URLs using theweb_fetch tool. When you paste a mux.md link into chat, mux decrypts the content client-side and makes it available to the assistant.
This enables several workflows:
- Cross-session sharing: Move context or instructions between workspaces in the same mux client
- Team collaboration: Send encrypted snippets to teammates who can paste them into their own mux sessions
- Preserving context: Save important outputs and retrieve them later in new conversations
https://mux.md/<id>#<key> URL into your message, and mux will fetch and decrypt the content.
Generating a signing key
If you don’t already have an SSH key, generate one:-N "" flag creates a key without a passphrase (required for mux to use it automatically).