We need to integrate with external applications. Objective: enable them to securely generate room links with proper ownership attribution. Proposed solution: Following the OAuth2 Machine-to-Machine specification, we expose an endpoint allowing external applications to exchange a client_id and client_secret pair for a JWT. This JWT is valid only within a well-scoped, isolated external API, served through a dedicated viewset. This commit introduces a model to persist application records in the database. The main challenge lies in generating a secure client_secret and ensuring it is properly stored. The restframework-apikey dependency was discarded, as its approach diverges significantly from OAuth2. Instead, inspiration was taken from oauthlib and django-oauth-toolkit. However, their implementations proved either too heavy or not entirely suitable for the intended use case. To avoid pulling in large dependencies for minimal utility, the necessary components were selectively copied, adapted, and improved. A generic SecretField was introduced, designed for reuse and potentially suitable for upstream contribution to Django. Secrets are exposed only once at object creation time in the Django admin. Once the object is saved, the secret is immediately hashed, ensuring it can never be retrieved again. One limitation remains: enforcing client_id and client_secret as read-only during edits. At object creation, marking them read-only excluded them from the Django form, which unintentionally regenerated new values. This area requires further refinement. The design prioritizes configurability while adhering to the principle of least privilege. By default, new applications are created without any assigned scopes, preventing them from performing actions on the API until explicitly configured. If no domain is specified, domain delegation is not applied, allowing tokens to be issued for any email domain.
LiveKit - Chat with us - Roadmap - Changelog - Bug reports
La Suite Meet: Simple Video Conferencing
Powered by LiveKit, La Suite Meet offers Zoom-level performance with high-quality video and audio. No installation required—simply join calls directly from your browser. Check out LiveKit's impressive optimizations in their blog post.
Features
- Optimized for stability in large meetings (+100 p.)
- Support for multiple screen sharing streams
- Non-persistent, secure chat
- End-to-end encryption (coming soon)
- Meeting recording
- Meeting transcription & Summary (currently in beta)
- Telephony integration
- Secure participation with robust authentication and access control
- Customizable frontend style
- LiveKit Advances features including :
- speaker detection
- simulcast
- end-to-end optimizations
- selective subscription
- SVC codecs (VP9, AV1)
La Suite Meet is fully self-hostable and released under the MIT License, ensuring complete control and flexibility. It's simple to get started or request a demo.
We’re continuously adding new features to enhance your experience, with the latest updates coming soon!
Table of Contents
Get started
Docs
We're currently working on both technical and user documentation for La Suite Meet. In the meantime, many of the essential aspects are already well covered by the LiveKit documentation and their self-hosting guide. Stay tuned for more updates!
Self-host
La Suite Meet is easy to install on your own servers
We use Kubernetes for our production instance but also support Docker Compose. The community contributed a couple other methods (Nix, YunoHost etc.) check out the docs to get detailed instructions and examples.
Questions? Open an issue on GitHub or join our Matrix community.
Note
Some advanced features (ex: recording, transcription) lack detailed documentation. We're working hard to provide comprehensive guides soon.
Known instances
We hope to see many more, here is an incomplete list of public La Suite Meet instances. Feel free to make a PR to add ones that are not listed below🙏
| Url | Org | Access |
|---|---|---|
| visio.numerique.gouv.fr | DINUM | French public agents working for the central administration and the extended public sphere. ProConnect is required to login in or sign up |
| visio.suite.anct.gouv.fr | ANCT | French public agents working for the territorial administration and the extended public sphere. ProConnect is required to login in or sign up |
| visio.lasuite.coop | lasuite.coop | Free and open demo to all. Content and accounts are reset after one month |
| meet.demo.mosacloud.eu | mosa.cloud | Demo instance of mosa.cloud, a dutch company providing services around La Suite apps. |
Contributing
We <3 contributions of any kind, big and small:
- Vote on features or get early access to beta functionality in our roadmap
- Open a PR (see our instructions on developing La Suite Meet locally)
- Submit a feature request or bug report
Philosophy
We’re relentlessly focused on building the best open-source video conferencing product—La Suite Meet. Growth comes from creating something people truly need, not just from chasing metrics.
Our users come first. We’re committed to making La Suite Meet as accessible and easy to use as proprietary solutions, ensuring it meets the highest standards.
Most of the heavy engineering is handled by the incredible LiveKit team, allowing us to focus on delivering a top-tier product. We follow extreme programming practices, favoring pair programming and quick, iterative releases. Challenge our tech and architecture—simplicity is always our top priority.
Open-source
Gov 🇫🇷 supports open source! This project is available under MIT license.
All features we develop will always remain open-source, and we are committed to contributing back to the LiveKit community whenever feasible. To learn more, don't hesitate to reach out.
Help us!
Come help us make La Suite Meet even better. We're growing fast and would love some help.
Contributors 🧞
Credits
We're using the awesome LiveKit implementation. We're also thankful to the teams behind Django Rest Framework, Vite.js, and React Aria — Thanks for your amazing work! This project is tested with BrowserStack.
License
Code in this repository is published under the MIT license by DINUM (Direction interministériel du numérique). Documentation (in the docs/) directory is released under the Etalab-2.0 license.
