Files
meet/README.md

11 KiB
Raw Permalink Blame History

meet logo

PRs Welcome GitHub commit activity GitHub closed issues GitHub closed issues

LiveKit - Chat with us - Roadmap - Changelog - Bug reports

La Suite Meet Demonstration

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 with passphrase-in-link key distribution
  • 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)

End-to-end encryption

La Suite Meet supports end-to-end encryption (E2EE) for meetings, so the media server (LiveKit SFU) cannot read audio, video or screen-share content.

How it works

  • Each encrypted meeting carries a 48-character random passphrase appended to the URL hash (#…). The server never sees it; sharing the meeting link shares the key.
  • Frames are encrypted in the browser via LiveKit's Worker + crypto.subtle (AES-GCM); only the media payload is encrypted, codec headers stay clear so the SFU can still packetize RTP.
  • The runtime "is this call encrypted?" decision keys off the URL hash, not the database flag — a compromised server cannot fabricate a passphrase that all participants happen to share.
  • The DB flag (Room.is_encrypted) is a hint used at room creation time only (so the Create button knows to generate a hash) and to detect link/server inconsistencies.

Opt-in by user

End-to-end encryption is a per-user preference. In Settings → Security, signed-in users can enable "End-to-end encryption" — from then on every meeting they create is encrypted by default. Joining is unaffected: if a meeting URL has a passphrase, the joining client uses it.

Pause / resume for recording and transcription

While encryption is on, the SFU cannot record or transcribe (it has nothing to read). When an admin (or, if no admin is present, the longest-present participant — provided a pause has already been observed in the session) starts a recording or transcription:

  1. A confirmation dialog warns that encryption will be paused.
  2. On confirm, an ENCRYPTION_PAUSED message is broadcast over a LiveKit reliable data channel. While the sender hasn't yet flipped its own state, that message is itself encrypted — which is the trust anchor: only callers holding the passphrase can produce frames everyone can decrypt.
  3. Each receiver disables E2EE locally and republishes its tracks unencrypted.
  4. Late joiners send an ENCRYPTION_STATUS_PROBE so the leader can re-emit the announcement to them.
  5. When both recording and transcription stop, the participant who paused broadcasts ENCRYPTION_RESUMED and everyone re-enables E2EE with the same URL passphrase.

The pause state is intentionally session-only and never persisted — Room.is_encrypted does not flip.

Phone / SIP participants

Phone and other external devices can't decrypt our frames. When one joins an encrypted room, the backend webhook detects them, broadcasts a system notice (admins see a snackbar with an "Open settings" CTA), and removes the external participant. The admin can then disable encryption from the Security settings and the user can dial in again.

Configuration

ENCRYPTION_ENABLED=true

Setting ENCRYPTION_ENABLED=false disables the user preference toggle entirely; existing encrypted rooms stay encrypted but no new ones can be created.

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.

Were continuously adding new features to enhance your experience, with the latest updates coming soon!

🚀 Major roll out to all French public servants

On the 25th of January 2026, David Amiel, Frances Minister for Civil Service and State Reform, announced the full deployment of Visio—the French governments dedicated Meet platform—to all public servants. (Source in French)

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
mosacloud.cloud 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:

Philosophy

Were 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. Were 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.