An open-source implementation of the Messaging Layer Security protocol

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

Code

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.

See the code

API documentation

The public API documentation describes in detail how to use the OpenMLS library.

See the documentation

Book

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

See the book

Blog

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

See the blog

Maintenance & Support

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

Say hello!

hello@openmls.tech