Content moderation system exists — manual, automated, or hybrid
Why it matters
Apple's guideline 1.2 requires apps with UGC to have "a mechanism to filter objectionable material from being posted." A report button with nowhere to send reports — no database table, no admin routes, no moderation queue — satisfies the UI requirement but fails the policy requirement. Reviewers checking for moderation infrastructure will find nothing, and the app gets rejected. Beyond review risk, an app that accepts user content with no ability to act on reports or ban users becomes a liability the moment objectionable content appears. Even a minimal implementation (reports table + admin screen + ban capability) satisfies Apple's requirement.
Severity rationale
High because Apple guideline 1.2 mandates filtering mechanisms for UGC platforms — no backend moderation infrastructure means no compliance, and rejection follows.
Remediation
Build a minimal moderation backend before submission. At minimum: a reports table, an admin endpoint, and user ban capability.
-- supabase/migrations/add_moderation.sql
create table content_reports (
id uuid primary key default gen_random_uuid(),
content_id text not null,
content_type text not null,
reporter_id uuid references users(id),
reason text not null,
status text default 'pending',
created_at timestamptz default now()
);
alter table users add column is_banned boolean default false;
For automated moderation, add a call to the OpenAI Moderation API (https://api.openai.com/v1/moderations) at content submission time — it's free for most volumes. Add an admin screen listing pending reports so your team can act on them.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the App Store Review Blockers Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · apple-guideline-1.2-ugc — Apple App Store Review Guideline 1.2 — User-Generated Content (moderation system)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-review-blockers·automated