-
Notifications
You must be signed in to change notification settings - Fork 0
Content Moderation
mdeguzis edited this page Jun 6, 2026
·
2 revisions
User-submitted report text is scanned automatically on two layers:
-
Wordlist (
naughty-words) - offline multilingual filter, runs first on every row -
OpenAI Moderation API - semantic fallback for anything the wordlist misses (requires
OPENAI_API_KEYsecret in the proton-pulse-data repo; falls back to wordlist-only if absent)
The scan runs every 4 hours via GitHub Actions (content-moderation.yml) with a 5-hour lookback window, and does a full 25-hour sweep daily at 02:00 UTC. Flagged reports are hidden from public views automatically. Report authors see a "Flagged" badge on their profile page with a plain-language explanation and a link to the Discord server for disputes.
To trigger a manual scan:
gh workflow run content-moderation.yml --repo mdeguzis/proton-pulse-data \
-f dry_run=true -f lookback_hours=720