Розробка панелі модерації контенту для мобільних програм
Користувачі завантажують фото, пишуть коментарі, відправляють повідомлення — і частина цього контенту порушує правила: спам, шахрайство, недопустимі зображення, персональні дані третіх осіб. Без інструментів модерації команда підтримки тоне в скаргах, а проблемний контент живе часами до ручної обробки. Панель модерації — внутрішній інструмент, що перетворює хаос скарг на керовану чергу.
Що входить у панель модерації
Не "список усього контенту", а черга пріоритетів. Модератор відкриває панель і бачить:
- Контент з прапорами: пожалувалися користувачі, спрацювала автоматична перевірка, перевищено поріг звітів
- Сортування за серйозністю: CSAM/насилля — найвищий пріоритет, спам — найнижчий
- Статус черги: скільки елементів чекають, середній час рассмотрення
Ключові дії модератора: затвердити, видалити, тимчасово приховати, забанити автора, передати старшому модератору.
Автоматична передфільтрація
Ручна перевірка кожного контенту не масштабується зі зростанням аудиторії. Автоматизація видаляє очевидні порушення та зменшує навантаження на команду.
Зображення. Google Cloud Vision API SafeSearch Detection — повертає ймовірності для категорій ADULT, VIOLENCE, RACY, MEDICAL, SPOOF. Поріг автовидалення: ADULT = VERY_LIKELY. Для додаткової перевірки на CSAM — PhotoDNA через Microsoft Azure Content Moderator. PhotoDNA працює з хешами відомого матеріалу, не аналізує сам контент — технічно та юридично це важливе розрізнення.
AWS Rekognition Moderation Labels — альтернатива Google Vision, зручна, якщо інфраструктура вже на AWS.
Текст. OpenAI Moderation API (text-moderation-latest) — безплатний, швидкий, обробляє: hate, harassment, self-harm, sexual, violence. Perspective API від Google — для токсичності в коментарях, добре працює на кількох мовах. Власні регулярні вирази для телефонних номерів, email, URL (спам-паттерни).
Вбудовані інструменти платформи. Для чатів: SendBird, Stream Chat, Cometchat — у всіх є вбудована модерація. Якщо програма вже на одній з цих платформ, частина роботи вже зроблена.
Архітектура черги модерації
Вхідний контент → автоматична перевірка (async, не блокує публікацію) → якщо auto-approve: публікується негайно, якщо auto-reject: видаляється з повідомленням автору, якщо uncertain: потрапляє у чергу ручної модерації.
Для неочевидних кейсів — відкладена публікація. Контент видний тільки автору, поки не пройде перевірку. Працює для нових акаунтів або користувачів з історією порушень.
База даних черги:
moderation_queue
id uuid PK
content_id uuid FK (polymorphic: post, comment, image, profile)
content_type enum
priority int (рассчітується на основі типу порушення та кількості скарг)
auto_score jsonb (результати API-перевірок)
status enum (pending, reviewed, auto_rejected, auto_approved)
assigned_to uuid FK (moderator, nullable)
created_at timestamptz
reviewed_at timestamptz
Інтерфейс модератора
Мобільна панель (якщо потрібна) або веб-інтерфейс. Для мобільної програми з UGC — звичайно веб-панель для модераторів: швидше відкривати контент, зручніше працювати з чергою.
Ключові елементи UI:
- Список черги з превью контенту та причиною прапора
- Один клік — перегляд повного контенту з контекстом (профіль автора, історія скарг)
- Гарячі клавіші для швидких дій (approve/reject без миші)
- Статистика: скільки обробленого за зміну, відсоток підтверджених скарг
Гарячі клавіші — не дрібниця. Модератор обробляє сотні елементів на день; різниця між "кнопками мишею" і "J/K для навігації, A для approve, D для delete" — це швидкість роботи.
Історія рішень та апеляції
Кожне рішення модератора логується: хто, коли, яка дія, чому. Важливо для: аналізу якості роботи модераторів, апелей користувачів, юридичних запитів.
Система апелей: користувач оспорює рішення → завдання потрапляє у чергу апелей → старший модератор переглядає з повним контекстом. Не обов'язково, але корисно для зменшення кількості негативних відзивів.
Повідомлення та SLA
Пріоритетний контент повинен потрапити до модератора протягом N хвилин. Сигнали при переповненні черги (більше X елементів очікують довше ніж Y хвилин) — у Slack/Telegram/email команди модерації. PagerDuty для критичних категорій (потенційна CSAM, загрози життю) — дежурний модератор отримує push-повідомлення незалежно від часу.
Часова шкала: базова панель з ручною модерацією черги скарг — 1–2 тижні. Повна система з автоматичною передфільтрацією через Vision/Moderation API, рольовими рівнями модераторів, історією рішень та апеляціями — 4–8 тижнів. Вартість рассчітується після аналізу типів контенту, обсягів та існуючої інфраструктури.







