Moderation policy
Moderation procedure
Who this is for: anyone moderating the forum or handling a complaint about published content.
Why it exists in writing: two independent legal opinions (see
docs/LEGAL_ADVICE.md and docs/LEGAL_ADVICE_2.md) said the distinction
between enforcing platform rules and adjudicating truth has to be written
into the moderator procedure, not merely understood. The value of this document
is that it can be produced later to show the posture was deliberate.
docs/FORUM_RULES.md is the rules members agree to. This is the separate
question of what a moderator does about them.
The one rule everything else follows from
Moderate the rule, never the truth.
A moderator decides whether content breaches a published platform rule. A moderator does not decide whether what a member said about a company is true, fair, or deserved.
Both opinions were explicit that substantive editorial judgment — selecting, rewriting, endorsing, or ruling on the merits of user posts — is what moves an operator from intermediary to publisher in its own right. Detecting, blocking and removing does not. So every action taken here is about access: is this content reachable or not.
Allowed
- Removing, hiding or blocking content that breaches a rule in
FORUM_RULES.md - Acting on a complaint by preventing access
- Automated filters, rate limits, spam and redaction tooling
- Restoring content that was hidden
- Asking a member to edit their own post
Not allowed
- Editing or rewriting the text of a member's post
- Deciding, or telling anyone, whether an allegation about a company is true
- Featuring, promoting, pinning or endorsing a specific post about a company
- Soliciting members to post about a named company
- Adding our own commentary to a member's post
If a post needs changing, the member changes it or it comes down. We do not rewrite it, because a rewritten post is partly ours.
Handling a complaint
Complaints arrive at /complaint. It needs no account, deliberately: a person
named in a post must never have to register with the platform they are
complaining about in order to complain.
1. Content is hidden on receipt, automatically, before any human looks.
This is the intended behaviour and it is not an admission of anything. Hiding first means access prevention happened before the complaint was given rather than inside a seven-day window, which is the stronger position. It is soft and reversible; nothing is ever deleted.
2. Read it. Decide access, not merit.
Three outcomes, all about reachability:
| Outcome | Means |
|---|---|
keep_hidden | Stays unreachable. Use when it breaches a rule, or when the complaint is serious enough that leaving it up is the greater risk. |
restore | Goes back up. Use when nothing in the rules is breached and the complaint does not identify a real problem. |
dismiss | Closed with no access change. Use for complaints about content we do not host, duplicates, or nonsense. |
Do not run a mini-trial. You are not gathering evidence about whether the member's account of their dispute is accurate. You are asking: does this breach a rule, and is leaving it reachable the greater risk. If you find yourself investigating who was right, stop — that is the posture both opinions warned against.
3. Every resolution needs a note, and the note says which rule.
Write "breaches rule 3, names an individual employee." Do not write "the complainant is probably right" or "this seems false."
4. The record is the point.
resolved_by, resolved_at and resolution_note are written on every
resolution. resolved_by is a role label — admin, moderation — never a
private individual's name. Individual staff do not accept service, are not
named in correspondence, and are not named here.
access_prevented_at is never cleared, including after a restore. It is the
evidence that access was prevented and when, and that stays true afterwards.
Never name an individual
Rule 3 in FORUM_RULES.md bans naming an individual employee. Read
"identify" broadly, not literally. A name is the obvious case and the least
common one. All of these identify a person:
- A first name plus a branch, store, team or shift
- A role that only one person holds ("the manager at the Bondi branch")
- A physical description plus a location
- A direct phone extension, a staff ID, or a photo
- A quoted email signature
The test is not "did they write a name". It is "could someone who works there tell exactly who this is". If yes, it comes down.
This protects a private individual who did not choose to be part of any of this. The company is the opponent. A worker on a phone is not.
Complaints connected to South Australia or Western Australia
SA excluded the digital-intermediary safe harbour and WA has adopted neither reform stage, so the statutory defence may not be available at all for a complaint connected to those states.
content_complaints.complainant_state captures this when a complainant tells
us. It is optional and self-reported, so absence means unknown, never "not
SA".
No automated differential handling is built. The practical posture is the one that works everywhere: hide on receipt, resolve promptly, keep the record. That is already what happens for every complaint, which is why nothing special is required here — but if a complaint is known to be connected to SA or WA, do not let it sit.
What is deliberately not built
Pre-publication approval of posts. Both opinions advised against it. It would be unworkable at volume and it is exactly the substantive editorial role that costs the intermediary position.
A "make this fight public" prompt. Soliciting members to publicise disputes
about named companies is the solicitation limb of Voller and the "selectively
promoting specific user posts" risk. Recorded in HUMAN_TASKS.md H14 as a
decision not to build.
Automated detection of indirect identification. The rule above is enforced by a human reading it. An automated filter over-blocks, and aggressive over-blocking starts to look like the editorial judgment we are avoiding.