OpenMLS is a production-grade Rust implementation of the Messaging Layer Security (MLS) protocol (RFC 9420) for end-to-end encrypted group messaging. It provides a library that applications can use to build secure group communication features, handling group creation, member management, message encryption/decryption, key schedule, and tree synchronization. The architecture is modular: a core library (`openmls`) implements protocol logic, a `traits` crate defines abstractions for crypto, random, and storage, and multiple backends are available (RustCrypto, libcrux for crypto; memory, SQLite, SQLx for storage). Key entry points include `MlsGroup`, `KeyPackage`, `CommitBuilder`, `StagedWelcome`, and `PublicGroup`. The library supports both synchronous and asynchronous modes via feature flags, and includes extensive test vectors, fuzzing targets, and interop testing against other MLS implementations (mls-rs, mlspp). The repository also contains supporting components: a CLI demo application, a delivery service (DS) for testing, WASM bindings, and a comprehensive test framework with a single-group test harness and 'frankenstein' utilities for constructing malformed messages. External dependencies include `tls_codec` for wire serialization, `serde` for storage, and HPKE/ AEAD implementations. The codebase is actively maintained with frequent commits, CI pipelines, and security advisories. However, it carries medium technical drift due to many draft/experimental features (virtual clients, targeted messages, PQ ciphersuites) that may change incompatibly, and some TODO comments indicate incomplete work.