Moderation on the Fediverse
Right now when people install federated server instances of any kind that are open for others to join, they take on the job to be the instance admin. When membership grows, they attract additional moderators to help with maintenance and assuring a healthy community.
I haven’t been admin or mod myself, but AFAIK the moderation work is mostly manual, based on the specific UI administrative features offered by a particular app. Metrics are collected about instance operation, and federated messages come in from members (e.g. Flag
and Block
). There’s a limited set of moderation measures that can be taken (see e.g. Mastodon’s Moderation docs). The toughests actions that can be taken are to blocklist an entire domain (here’s the list for mastodon.social, the largest fedi instance).
The burden of moderating
I think (but pls correct me) that in general there are two important areas for improvement from moderators perspective:
- Moderation is very time-consuming.
- Moderation is somewhat of an unthankful, underappreciated job.
It is time-consuming to monitor what happens on your server, to act timely on moderation request, answer questions, get informed about other instances that may have to be blocked.
It is unthankful / underappreciated because your instance members take it for granted, and because you are often the bad guy when acting against someone who misbehaved. Moderation is often seen as unfair and your decisions fiercely argued.
Due to these reasons instances are closed down, or are under-moderated and toxic behavior can fester.
(There’s much more to this, but I’ll leave it here for now)
Federating Moderation
From the Mastodon docs:
Moderation in Mastodon is always applied locally, i.e. as seen from the particular server. An admin or moderator on one server cannot affect a user on another server, they can only affect the local copy on their own server.
This is a good, logical model. After all, you only control your own instance(s). But what if the federation tasks that are bound to the instance got help from ActivityPub federation itself? Copying from this post:
The whole instance discovery / mapping of the Fediverse network can be federated. E.g.:
- A new server is detected
- Instance updates internal server list
- Instance federates (
Announce
) the new server - Other instances update their server list
- Domain blocklisting / allowlisting actions are announced (with reason)
Then in addition to that Moderation Incidents can be collected as metrics and federated as soon as they occur:
- User mutes / blocks, instance blocks (without PII, as it is the metric counts that are relevant)
- Flags (federated after they are approved by admins, without PII)
- Incidents may include more details (reason for blocking, topic e.g. ‘misinformation’)
So a new instance pops up, and all across fedi people start blocking its users. There’s probably something wrong with the instance that may warrant blocklisting. Instance admin goes to the server list, sees a large incident count for a particular server, clicks the entry and gets a more detailed report on the nature of said incident. Makes the decision whether to block the domain for their own instance or not.
Delegated moderation
When having Federated Moderation it may also be possible to delegate moderation tasks to admins of other instances who are authorized to do so, or even have ‘roaming moderators’ that are not affiliated to any one instance.
I have described this idea already, but from the perspective of Discourse forums having native federation capabilities. See Discourse: Delegating Community Management. Why would you want to delegate moderation:
- Temporarily, while looking for new mods and admins.
- When an instance is under attack by trolls and the like, ask extra help
- When there is a large influx of new users
Moderation-as-a-Service
(Copied and extended from this post)
But this extension to the Moderation model goes further… we can have Moderation-as-a-Service. Experienced moderators and admins gain reputation and trust. They can offer their services, and can be rewarded for the work they do (e.g. via Donations, or otherwise). They may state their available time and timeslots in which they are available, so I could invoke their service and provide 24/7 monitoring of my instance.
The Reputation model of available moderators might even be federated. So I can see history of their work, satisfaction level / review by others, amount of time spent / no. of Incidents handled, etc.
All of this could be intrinsic part of the fabric of the Fediverse, and extend across different application types.
There would be much more visibility to the under-appreciated task of the moderator, and as the model matures more features can be added e.g. in the form of support for Moderation Policies. Like their Code of Conduct different instances would like different governance models (think democratic voting mechanisms, or Sortition. See also What would a fediverse “governance” body look like?).
This commint in follow-up to @dessalines@lemmy.ml post on need for more moderation to combat Brigading.
Having some reputation metrics be only visible to admins would be useful (maybe that’s already present, idk).
Other than that I’d like to point to Federated Moderation: Towards Delegated Moderation?. I don’t know to what extent moderation activity, either by individual lemmians or admins, are natively federated across instances. @dessalines@lemmy.ml is warning/advising “I’d adopt similar policies”, but what if this informing came automatically by metrics streaming in across instances.
Suppose @lemmianA on instance lemmy.xyz interacts here on lemmy.ml and and has good reputation metrics on lemmy.ml (visible to admins only). Now on other instances @lemmianA is doing a lot of blocking and reporting. These moderation activities federate (probably best based on an allowlist) and are collected on lemmy.ml such that when @lemmianB is reported on lemmy.ml the admins are able to see metrics like “@lemmianB is blocked on N instances and has been been reported M times by O number of trusted lemmians of lemmy.ml”.
There needs to be care for the privacy of lemmians doing moderation actions. Their account names need not propagate to other instances in this design, only “A respectable lemmian of lemmy.xyz blocked @lemmianB” and that metric is aggregated as a side-effect on @lemmianB user account.