Skip to content

Welcome to Cryptid

Federated secure messaging where the server knows almost nothing. Built on MLS.

Secure messengers get to pick two of three. Strong security, real decentralization, or usability that doesn’t drive people away.

SecurityDecentralizedUsable
Signal
Matrix⚠️
SimpleX⚠️

Signal is centralized. Matrix permits unencrypted messages. SimpleX makes groups painful. Cryptid is an attempt at doing all three at once.

Two-layer identity

Each device holds its own cryptographic identity for MLS, while a persistent user identity ties a person’s devices together. Multi-device works without an account system or any external directory.

Unlinkable authentication

Devices spend PrivacyPass tokens instead of presenting credentials. A server verifies a token is valid without learning who spent it, so rate limiting works without tracking.

Double-encrypted envelopes

Two layers of encryption. A server sees a delivery address and an opaque blob - never the content, the sender, the group, or even the message type.

Minimal-state federation

Servers are dumb pipes. They hold short-lived routing state that expires on its own, and they never learn a social graph. Anyone can run one.

v0.11   Specification stage. Nothing is implemented yet.

At the time of writing this, the reference specification is internally consistent and covers the wire format, identity, mailboxes, authentication, federation, moderation, and media. The server API is being rewritten against it now.

Settled

  • Wire format and canonical serialization
  • Per-group mailbox keypairs
  • PrivacyPass issuance and redemption
  • Blind KeyPackage distribution
  • Opaque envelope relay between servers
  • Encrypted blob storage

In Progress

  • The server API: abstract operations with per-transport bindings.
  • Error model and authorization model are done; the remaining operation families are being written.

Deliberately Out of Scope for v1

  • Network-level anonymity against traffic analysis
  • Onion routing and relay networks

Not yet started

A server implementation, and any client. The pseudocode throughout this spec is illustrative, not runnable.


Proudly Antifascist

Cryptid is proudly antifascist.

Strong encryption and federation matter most to the people fascists target first: organizers, journalists, migrants, queer and trans people. A protocol built for them is not politically neutral and pretending otherwise would be its own kind of position.

If this is a problem for you, you are not welcome in our spaces. Our Code of Conduct spells out the rest.



The Cryptid specification is being developed in the open under CC-BY-SA 4.0.

CC-BY-SA Logo