Moderator privileges using tags instead of general role
As discussed in the IRC meeting 13/03/2022
Currently Pleroma has two roles to give elevated privileges, "Admin" and "Moderator". While Admin is a general superuser-role, it's less clear what moderators should be able to do. Some want moderators to be able to do more, while others may not want that. In !3480 (merged) extra privileges have been given to moderators, but this may cause current admins to have to revoke some of their moderators privileges. During the last meeting it was concluded that making shifts in expectations like that should not be done as it will undermine the trust people have in Pleroma as a project.
In an attempt to alleviate the immediate concerns a second MR was made to limit some of the extra privileges, !3578 (merged). The problem is that this is a band-aid and adds more complexity without really fixing the problem. In it's current form it also only addressed part of what is now considered a bigger problem.
A proposed sollution is to work with tags instead. We already have the concept of user tags, so this could be used to provide ellevated rights as well. The idea is to have "buckets" of functionality and assign a tag to each. Examples are
- Report triage
- Restrictive tags (ie. post as NSFW, remove media, …)
- Post deletion
- Account deactivation
- Account deletion (Which is in reality deleting all info and deactivating the account)
- Adding restrictions on one post (ie. mark as NSFW; unlisted / followers-only; …)
- ...
Current roles can still be used. E.g. getting the moderator role could give a basic set of tags. Meanwhile, whether someone gets a moderator badge can depend on whether they have one or more of the possible moderator tags. We could even easily make it a setting to determine what default tags a moderator has.
For the admin role it doesn't seem that a switch to tags is needed at the moment, but it could probably also be done if that's ever needed.
In a later stage we could consider adding custom roles if there's demand for that. Each custom role could provide it's own set of tags.
This will also make things easier for front-ends who want to add extra's for admins/mods, because these tags should be more stable than a general "moderator" role is. That means these tags should be provided to the FE as well.