Who moderates
Moderation is performed by accounts with the admin or moderator role. These are assigned manually by the site operator and stored on the profiles.role column. Regular community members (role = ‘member’) cannot view the report queue, edit other users’ posts, or apply account actions. Banned users (role = ‘banned’) cannot post or react.
How a post enters the moderation queue
- User report. Every post in the forum shows a flag icon. Clicking it opens a report dialog where the reporter selects a category (spam, safety risk, supplier promotion, personal dosing advice, off-topic, other) and adds an optional note.
- API record. The report posts to
POST /api/forum/reports, which writes a row to thereportstable and notifies the admin queue. - Automated checks. Posts also pass through server-side word filters and a rate-limit check; some categories of obviously-bad content (spam patterns, blocked phrases) are held before publication for moderator review.
Decision types
| Action | Typical trigger |
|---|---|
| No action | Report doesn’t match a policy violation; reporter is informed if they have an account. |
| Edit | Borderline content where the post can be salvaged by removing a specific link, claim, or supplier name. A moderation note is appended. |
| Hide | Post stays in the DB but is not shown publicly; used for content that breaks safety policy where the author needs a chance to revise. |
| Delete (soft) | is_deleted = true; post no longer rendered. Retained for 90 days for moderation audit, then purged. |
| Warning | Single record on the user’s account; surfaced in profile and to moderators. Multiple warnings escalate. |
| Temporary suspension | banned_until set to a future timestamp; user cannot post or react. Used for repeated low-severity violations. |
| Permanent ban | role = ‘banned’. Used for safety-policy violations involving harm to other users (counterfeit supplier promotion, personal dosing of POMs, content involving minors) or repeated suspensions. |
Appeal process
- Email [email protected] with your username, the affected post (URL or quote), and the action you’re appealing.
- A different moderator than the one who took the original action will review where possible.
- We aim to respond within 7 days. If the action is overturned the post is restored (or the suspension lifted) with an entry in the moderation log.
Retention
- Deleted posts are kept as soft-deleted records for 90 days after the deletion timestamp, then hard-deleted. This window exists to support appeals and audit review.
- Report records are retained for 12 months after the report is resolved, to allow pattern analysis on repeat offenders and on inaccurate reporting.
- Account warnings remain on the profile while the account is active. When an account is permanently banned, warning history is preserved indefinitely (the account row itself stays for legal audit). When an account is deleted at user request, the profile is anonymised but post records may remain attributed to a placeholder “[deleted user]” for forum readability.
Transparency
We intend to publish quarterly summary counts of moderation actions (reports received, posts edited / hidden / deleted, warnings, suspensions, permanent bans) on the About page. This is a forthcoming commitment as the forum scales; the first report will be published once a full quarter of data is available.
What this policy doesn’t cover
- Statutory notice-and-action requests (e.g. court orders, MHRA enforcement requests, DMCA-equivalent UK takedown notices) follow their own legal process and are not subject to the appeal route above.
- Spam from non-account sources (e.g. bot traffic to the public auth endpoints) is handled by the Cloudflare rate-limit rule, not by the moderation queue.
- Off-platform conduct. We don’t moderate what members do on other sites. We do remove posts that cross-reference or coordinate off-platform activity that would be prohibited if posted here directly.