Hi Flarum team and community,
I’d like to propose a new feature to improve how groups (roles) and permissions are managed in Flarum—specifically, the ability for one role to inherit permissions from another.
🔹 The Problem
Currently, every group in Flarum must have its permissions configured manually. For example, if you have multiple moderation tiers like:
Trial Moderator
Basic Moderator
Senior Moderator
…you need to re-apply the same base permissions (e.g., view user cards, edit posts, reply to discussions) across each group—even though they logically form a hierarchy. This leads to:
- Repetitive configuration work.
- Risk of inconsistency between roles.
- Difficulty maintaining clean permission structures as forums grow.
🔹 Proposed Feature
Allow one role to "inherit" or "link to" the permissions of another role.
For example:
The Senior Moderator role can be set to inherit permissions from Basic Moderator.
This means all permissions assigned to Basic Moderator are automatically applied to Senior Moderator, without duplicating checkboxes.
This could be implemented as:
- A new option in the Admin Panel: “Inherit permissions from” when editing a group.
- Dropdown to select a source role.
- Supports multi-level inheritance (A → B → C).
- Additional permissions can still be added on top of inherited ones.
- No delegation or assignment of roles—this is purely about permission structure and reuse.
🔹 Benefits
- Reduces redundancy when managing multiple related roles.
- Enables clean, hierarchical permission systems (e.g., Junior → Mid → Senior).
- Easier maintenance: update permissions in the base role, and changes propagate down.
- Ideal for larger communities with tiered teams (moderators, support staff, content leads, etc.).
🔹 Example Use Case
- Create a base role:
Support Team with permissions to view and reply to discussions.
- Set
Lead Support to inherit from Support Team, then add extra permissions like pin discussions.
- Set
Admin to inherit from Lead Support, then add full access.
Now, if you disable reply to discussions in Support Team, it will automatically be removed from all inheriting roles (unless explicitly overridden).
🔹 Additional Notes
- Inheritance should be opt-in and explicit—not automatic based on naming or order.
- Clear indication in the admin UI: "This role inherits permissions from: [Group Name]".
- Could serve as a foundation for future extensions (e.g., override tracking, audit logs).
Has anything like this been considered before? I believe this would greatly improve scalability and maintainability of permission systems in Flarum.
If this isn’t suitable for core right now, would it be possible as an extension? I’d be happy to help test, document real-world use cases, or contribute ideas.
Thanks for your time!
— RIZ