Page and roles. Access: Moderator (reviews, community posts, profiles, messages), Safeguarding lead (everything on safeguarding plus user suspension), Super admin (all, including bans). Support can view but not decide. Tabs hide for roles without permission. All decisions are written to the audit log with before and after content.
Safeguarding alert. Always pinned at the top regardless of tab. 4 hour response target, on-call rota by email and push. Reports come from the report button on profiles, messages and bookings, and from the safeguarding policy section of Trust and safety. Content is encrypted at rest and access is limited and logged.
Filters. Reason list: personal data, abusive or discriminatory, not a genuine customer, conflict of interest, spam, off-platform payment request, safeguarding concern, other. Default sort is oldest first within severity. Counts on tabs update in real time.
Bulk actions. Assign, dismiss with reason, hide, warn user. Bulk hide asks for one shared reason and shows the number of items. Safeguarding items cannot be bulk processed. Hiding a review does not affect teacher payment or booking status.
Review decision panel. Shows the review text with booking facts (event date, check-in, completion, disputes) and an auto policy check. Options: keep, edit out personal data (original retained in audit), hide, dismiss report. Reviews are never removed for being negative or because a teacher asks. Decision note goes to both the reporter and the reviewer using templates. Target SLA 3 working days. Events: review_hidden, report_dismissed.
Subject history. Previous reports, warnings, average rating and patterns (for example many one-star reviews from new accounts) help moderators spot abuse. Sensitive personal information is limited to what is needed.
Safeguarding case. Restricted workflow: assign, contact reporter, suspend teacher (reversible), escalate to external authorities, record outcome. Confidential notes, separate retention rules, and a two-person confirmation for closing. Legal review pending, so wording is a placeholder.
User actions. Warn, mute (community), suspend (temporary), ban. Reason text is shown to the user with an appeal link. Banned users cannot re-register with the same email, phone or payout account. Each action reversible by Super admin with a reason.
Mobile
Desktop-first, but the safeguarding alert and case view must work on a phone for on-call staff: stacked layout, large action buttons, and no table. Other tabs become cards.
States
Empty queue: "Nothing to review. Great work." Loading: skeleton rows. Concurrent decision: "Priya has already decided this report." Error: "We could not apply this action. Nothing has changed." No permission: tab greyed with a tooltip naming the required role. Resolved items stay searchable for 12 months, then are archived.