Matrix Conference 2025

Matrix Conference 2025

MatrixRTC
2025-10-17 , Lynn Conway

In this talk, we will share the newest improvements to MatrixRTC. We'll focus on how the security and encryption architecture has evolved to provide robust, private communications for Matrix users. Additionally, we will show how to integrate Element Call into clients using the Rust or JS-SDK in a matter of minutes. Whether you're building a custom Matrix client or want to know what makes MatrixRTC such a great solution for secure communication, you'll walk away with practical knowledge to bring encrypted calling capabilities to your users and an in-depth understanding about the key distribution for real- time (MatrixRTC) sessions.


In this talk, we'll explore the evolving landscape of MatrixRTC, the real-time communication layer of the Matrix protocol, and highlight key advancements in its encryption architecture. We'll dive into end-to-end encryption in MatrixRTC, detailing how to-device-based cryptography enables secure media sessions without compromising usability. We'll discuss how the concept of Invisible Crypto, a design philosophy that hides the complexities of encryption from users while maintaining the highest standards of security, will be implemented in MatrixRTC and Element Call's widget implementation.

Further, we'll examine recent improvements in JWT-based MatrixRTC Authorization Service. These improvements will allow configuration of strong rules on who can use your SFU backend services while still enabling functionality across federation.

This year we saw a lot of advancements in the encryption and key sharing for MatrixRTC. On top of that, the proposed MatrixRTC specification (apart from the encryption) did not require major changes, which signals a significant milestone in its maturity.

With this achievement, there is no better time to accelerate the adoption of MatrixRTC-based calls. With Element Call, we went the extra mile to make this adoption as easy as possible. Element Call, being a widget, is available to the broader ecosystem and can be used as a shortcut to make clients compatible with MatrixRTC calls without much development effort, similar to the sliding sync proxy. We would like to show how easy it is to implement Element Call into any JS-SDK or Rust SDK backed client (any client supporting the widget API).

At the end of the talk, we will have a live demonstration of a call with a client that did not previously support MatrixRTC-based VoIP.

VoIP engineer at Element.