Skip to content

Permissions matrix

This page is a snapshot of the role × permission matrix as defined in fedms_federation/config/roles_permissions.yml. For the live truth, always check that file.

Living document

The matrix evolves as the framework matures. Open issues affecting the permission model are tracked at fedms/components/profile#10. The tables on this page summarize the current state.

Site-wide permissions

Permission manager host devops
access group overview
create org group
create event group
create session group

Org-level permissions

Roles: Manager, Host/Sponsor, Service Provider, Speaker/Tutor, Moderator, Attendee/Delegate, Observer.

The Manager role has the broadest org-level permissions. Other individual roles inherit the member permissions (view group, view group media of various types) and add little on top.

Permission manager host
administer members
edit group
create subgroup:event entity
view any unpublished group
view group_membership relationship
view own unpublished group
view own unpublished group_media (all types)
view unpublished group_media (all types)
view own unpublished group_node (book, page)
view unpublished group_node (book, page)
create group_media (all types) entity & relationship
update any group_media (all types) entity & relationship
update own group_media (all types) entity & relationship
view group_media (all types) relationship
create group_node (book, page) entity & relationship
update any group_node (book, page) entity & relationship
update own group_node (book, page) entity & relationship

The member insider role gets:

  • view group
  • view group_media (all types) entity
  • view group_node:book relationship
  • view group_node:page relationship

Event-level permissions

Roles: Manager, Host/Sponsor, Service Provider, Speaker/Tutor, Moderator, Attendee/Delegate, Observer.

The same pattern as Org, with these event-specific additions for Manager:

Permission manager host
create fedms_event:in entity & relationship
update any fedms_event:in entity & relationship
update own fedms_event:in entity & relationship
view fedms_event:in relationship
create subgroup:session entity
update any subgroup:session relationship
update own subgroup:session relationship

And member adds:

  • view fedms_event:in entity

Session-level permissions

Same pattern as Event, with session-specific additions for Manager:

Permission manager host
create fedms_session:in entity & relationship
update any fedms_session:in entity & relationship
update own fedms_session:in entity & relationship
view fedms_session:in relationship

member adds:

  • view fedms_session:in entity

Roles that are placeholders today

Several individual roles are defined but carry no extra permissions yet:

  • attendee (event, session)
  • moderator (event, session)
  • observer (event, session)
  • service (event, session)
  • speaker (event, session)

They inherit the member permissions and, for now, behave like a generic Member. As the role-specific UX matures, role-specific permissions will be added. The tracking issue is fedms/components/profile#10.

How to read the YAML

Each role block in roles_permissions.yml has up to four keys:

Key Meaning
label Display name.
weight Display ordering and "seniority".
admin (Optional) true if this role bypasses access checks.
scope insider or outsider for sync-driven roles; absent for individual roles.
global_role Site role that drives this group role (for sync-driven roles).
permissions List of permission strings granted to this role.

Future work

  • Per-role permission tables in this page should be generated from the YAML at build time — currently they are hand-maintained. This is on the to-do list for the documentation tooling.
  • Adding new permissions (e.g. for the upcoming Notification feature, see fedms/components/federation#23) means extending both the YAML and this page.