An open-source implementation of the Messaging Layer Security protocol

An open-source implementation of the Messaging Layer Security protocol

Binary tree
Binary tree

OpenMLS is a software library that can serve as a building block in applications that require end-to-end encryption of messages.

It has a safe and easy-to-use interface that hides the complexity of the underlying cryptographic operations.

What is MLS?

Messaging Layer Security (MLS) is a security layer for end-to-end encrypting messages in groups of size two to many. It is being built by the IETF MLS working group and designed to be efficient, practical and secure.

See more

Developer resources

Developer resources

The OpenMLS library is written in pure Rust. It supports different cryptographic backend libraries. It ships with a backend based on RustCrypto and an optional backend based on Evercrypt.

The library can be compiled for all targets supported by the Rust standard library, including Android, iOS, Windows, Linux, macOS, and WebAssembly.


Check out our code and documentation to learn more about using the OpenMLS library.

The OpenMLS book is a user manual that explains how to use the different parts of OpenMLS and provides concrete examples.


Curious about the latest developments or a technical deep dive into the internals of OpenMLS? Check out the blog!

Maintenance & Support

Maintenance & Support

OpenMLS is maintained and supported by Phoenix R&D and Cryspen.

Adopters and funders

Adopters and funders

We offer commercial support and look forward to hearing from you!

We offer commercial support and look forward to hearing from you!

hello@openmls.tech

For community support, please visit our Zullip channel.

For community support, please visit our Zullip channel.