Skip to content

Permissions

mzchat uses a system of roles to manage permissions within guilds.

Permissions are determined by the roles assigned to a user.

  • A user can be assigned multiple roles.
  • Effective permissions are the union of all permissions from assigned roles.
  • Roles have a priority/weight to determine hierarchy for moderation actions.

JWTs contain a permission_versions_by_guild map.

  • Every guild tracks a permission_version that increments on any role or assignment change.
  • The server rejects requests if the version in the JWT is stale, forcing the client to refresh its session.