What the server can and cannot see

A sync server, morphgate.com or one you run, stores your vault as ciphertext. This page lists what it can see and what it can't, so you can decide what to trust it with.

What the server never receives

  • Your master password.
  • Your recovery key.
  • Any key that decrypts your vault or a team's vault.
  • The contents of any item: hostnames, users, passwords, SSH keys, VPN configurations, snippets, notes, tags, attachments, session logs, scheme colors.
  • Vault names inside a team. They are encrypted like items.
  • Which item refers to which. A host's key, jump host or VPN are references inside encrypted items.
  • What you do in a session: which hosts you open, or what you run.

What the server stores

Encrypted items and files
Ciphertext, padded so exact sizes don't show, with a revision number, when it changed, and which device sent it. For files (attachments and session logs), the size and whether it is an attachment or a session log.
Your keys, wrapped
Your account's private keys encrypted under a key from your password, and again under your recovery key. Only your app can unwrap them.
Public keys
Your encryption and signing public keys. In a team, other members' apps use them to verify you.
Slow hashes
Of the value your app derives to prove your password, and of your recovery key's proof. They can't be turned back into either.
Account details
Your email address, whether it's verified, whether two-step verification is on, and your plan.
Devices
Each device's name, platform, app version, and when it was added and last seen.
Teams
The team's name, its members and their email addresses, roles, policies and who can open which vault, plus the team's activity log. See Activity log.

What a server could do, and what it couldn't

Assume the worst: the server is broken into, or its operator turns hostile.

It could
Read the metadata above. Refuse to sync, or delete your copy on the server. Offer an older copy of your vault.
It couldn't
Decrypt your items. Change or forge an item: every item is signed, and MorphGate checks the signature before it decrypts. Quietly roll you back: each device remembers the newest revision it has seen and treats an older one as an error. Weaken how your password is processed: the app refuses key settings below a safe minimum. Give itself access to a team vault: the app only uses vault keys signed by a member it verified.

In a team, the server decides who is a member and who may write. It could keep serving a removed member, or accept a change from someone with view access. It still can't read or forge items, or hand anyone a vault key.

The exceptions on morphgate.com

Two secrets have to be readable by the server, because it uses them itself. Both are stored encrypted, apart from vault data, and neither helps anyone read a vault:

  • your authenticator secret, if two-step verification is on, so it can check your codes;
  • a team's single sign-on client secret, so it can complete a sign-in with the team's identity provider.

The audit stream's signing secret, for Business teams, is stored the same way.

Your copy is the real copy

Your devices hold the full vault. If the server disappeared, they would keep working with what they have. You can always export your vault from the app, and download what the server keeps about your account.

Check it yourself

The app, the protocol and the reference server are open source at github.com/valicm/MorphGate. The protocol's tests run against any server address, so you can check a server before you trust it with your vault. See The open protocol.