Clients should belong to groups (e.g. "dining", "general", "wifi"). Each group has certain permissions, whether it's to use an API or a specific endpoint (e.g. "dining/nutrition"). Clients should be able to belong to multiple groups and be able to join/leave groups when we want to change their permissions.