- Shipped
- August 11, 2026 at 12:09 AM UTC
- Author
- Kamo
- Commit
- ead740f
Feature grants describe a plan. They never described this member, because the console gates navigation on org-level org.features — so a member with no license at all saw every app the organization was entitled to, and the member-level licensing that already existed in the database had no effect on anything. MemberCapabilities is that missing answer, resolved once on the server. A member without a seat keeps a deliberate floor: text conversation with teammates, support, their own profile, their own billing — enough to reach a human and to buy a seat back. Incoming-message translation stays on too, because reading what you were sent is not spending. Everything that costs money to run is off. An active org trial licenses everyone in the org rather than only the seat holder. A trial org is seeded with the Free plan's single seat, so gating the trial on licenses would have meant the owner alone could evaluate the product while the team they invited to evaluate it saw nothing. Login is untouched: authentication has never consulted billing state and still does not. Losing a seat costs features, never access.