- Shipped
- August 15, 2026 at 12:21 AM UTC
- Author
- kamo
- Commit
- 1d58f1d
All five Meet rights have real running features, so none is a chat-channel case: kamomeet-deployment is live and Meet-jibri is deployed, making recording real infrastructure rather than a planned feature. MeetController already gates its settings surface on MANAGE_MEET_SETTINGS, which is why that sixth right is enforced while these five are not. The create/start half (VIEW_MEETINGS, START_MEETING, MANAGE_MEETINGS) is ungated at every layer — the create route is a pass-through, no UI gate references them. Unlike LOS this module IS deployed and in use, so it is the seeded-migration case, not the free one: nobody holds START_MEETING today, so gating without seeding stops every member of every org from starting a meeting. The seed must ship in the same change as the gate. Worth saying plainly that 'may start a meeting' is low-sensitivity — correct for completeness, not urgent. The recording half cannot use the LOS proxy pattern at all. Recording is started inside the conference by Jibri and who may start it is decided by Meet's moderator model in Prosody, not by an HTTP call a proxy can intercept. Enforcing the Kamo right means mapping it onto moderator affiliation at the Prosody layer — the work already tracked as the KamoMeet moderator follow-up. It is also the most sensitive capability here, so it deserves the real integration rather than a gate that looks present in the editor and is bypassed by clicking Record.