OpenMLS

P2P Protocol

A Rust implementation of the Messaging Layer Security (MLS) protocol as specified in RFC 9420. It is a software library meant to be a building block for applications that need end-to-end encryption of group messages, with an interface that hides the complexity of the underlying cryptography. OpenMLS does not implement its own primitives: it relies on pluggable cryptography providers (a RustCrypto-based one and a libcrux-based one) and storage providers (in-memory, SQLite and others). It supports three ciphersuites, builds for several platforms including WebAssembly, and provides an interoperability client and a delivery-service example. It is the reference-style Rust implementation of the standard that has its own entry in this matrix as MLS (Messaging Layer Security) .

Community

Details

License Permissive (MIT). https://github.com/openmls/openmls (Rust workspace with crypto, storage and test crates)
Dev Status 🔬 Beta
Owner Maintained and developed by Phoenix R&D and CE Labs, per the README; hosted under the openmls GitHub organisation
Owner - List
Governing Body Phoenix R&D and CE Labs as maintainers; no formal governance body is described
Governing Body - List
Country Not stated by the project.
Start Year 2020
Stack Rust; RustCrypto and libcrux cryptography providers; SQLite, in-memory and sqlx storage providers; WebAssembly build; delivery-service and CLI examples
Funding Not stated by the project.
Last Investigated Oct 29, 2026

Topology view

This tool in the centre and the things it is directly related to. Each line names the kind of relationship.

Topology view: OpenMLSThis tool in the centre and the things it is directly related to. Each line names the kind of relationship.OpenMLSMarmot Protocol (Basis for)MarmotProtocolMLS (Messaging Layer Security) (Based on)MLS(Messaging L…Phoenix R&D (Developed by, Stewarded by)Phoenix R&DCryspen (Stewarded by)Cryspen

Open in Graph Explorer

Affordances

End-to-end encrypted Composable groups

P2P Protocol Attributes

Owner - List
Origins An open implementation of the IETF MLS standard for secure group messaging, so applications can adopt it without writing their own cryptography
Database N/A
Query Language N/A
Data Formats MLS messages as defined in RFC 9420 (TLS-style presentation language)
Collaborative Live Editing N/A
Rich Text Editing N/A
Mobile Support Library-level: builds for Android and iOS targets are produced in CI but not tested
Web Support Yes, as a library compiled to WebAssembly (the 'js' feature)
Native Apps Library-level
Terms Free and open source (MIT)
Funds Not stated by the project.
Based On RFC 9420, Messaging Layer Security
Governing Body - List
P2P Architecture Protocol library for end-to-end encrypted groups; MLS expects a delivery service to carry messages, which OpenMLS provides only as an example, so it is transport-agnostic rather than peer-to-peer by itself
Overlay Network None: OpenMLS defines no network
Content Addressing No.
Local-First Not a data layer; group state is held by each client
E2EE Yes: end-to-end encryption of group messages, as defined by MLS (RFC 9420)
CRDTs Lib No: not a CRDT library.
Byzantine Fault Tolerance Partial: MLS detects invalid commits and OpenMLS offers fork-resolution helpers; it is not a consensus protocol
Signature Yes: members authenticate with signature keys in credentials, as MLS specifies
Permissions Group membership is managed through MLS proposals and commits by members; no separate permission model is described in the README
Semantic Web Compatibility N/A: no RDF, JSON-LD or SPARQL layer.
Smart Contract N/A: no ledger or smart-contract component.
Protocol Stack Position Application-layer cryptographic protocol, independent of transport
Asset / Value Embedding None: no token or value-transfer mechanism.
Protocol Maturity / Standardization Implements an IETF RFC (9420); the library itself is pre-1.0 and supports three ciphersuites

Relationships

How this tool connects to other tools and organizations, from relationships reviewed by the OpenHaven data steward. They describe how projects connect, not how good they are.

Developed by
  • Phoenix R&D
Stewarded by
  • Cryspen
  • Phoenix R&D