Moderation
Every group is a moderation service over its own content. Reports come in, labels go out, and a simple queue tracks what's open.
Each group is also a moderation service with authority over all content in the group.
Reports in, labels out
Moderation works the normal atproto way: reports come in on one side, labels come out the other. Sometimes a group-specific action is needed too, such as ejecting a member.
Reports are sent with createReport, the same way content is reported to any moderation service, addressed to the group.
Labels live next to their subject
Labels are published as label records by the group DID, in the same space as the content they label. A label on a forum post goes in the forum space. Anyone who can see the post can see its label, and nobody else.
Labels on accounts go in the members space.
A label can cite the rule it enforces, and a later label with neg: true negates an earlier one.
The proposal anticipates a general com.atproto label record type. Until one exists, group.opensocial.label fills that role.
Two tiers of labelling
labellets a member apply and negate ordinary labels.takedownis needed for the two strongest labels,!hideand!takedown.
A group can let many people tag content while keeping removal with a few.
The queue
On top of this, the standard specifies a simple moderation workflow. A subject (a record or an account) is open, escalated or resolved.
| Method | Requires | Does |
|---|---|---|
listSubjects |
mod.read |
The queue, filterable by status. |
getSubjectHistory |
mod.read |
Every report, label, note and decision on one subject. |
resolveSubject |
mod.resolve |
Resolve or escalate, optionally with a note. |
applyLabel |
label or takedown |
Write a label into the subject’s space. |
negateLabel |
label or takedown |
Negate an earlier label. |
Moderators can see limited information and take limited actions. The aim is to support moderation inside ordinary apps, not to replace dedicated tools.
Beyond the queue
Large groups may need much more complex moderation. That usually means bespoke moderation software working with the group directly, not in-app flows. The standard doesn’t try to cover it.