Skip to content

docs product COMMUNITY_MODERATION

AlexandreZanata edited this page Oct 2, 2026 · 1 revision

Community moderation policy — user-facing rules

State: ADOPTED target, 2026-10-01. Owner phase P22-T03 (issue #88). This is the user-facing policy; the operator procedure stays in feedback-moderation and access. Existing backend/account/social modules are locally integrated; the new commercial UX is not. No future phase is implemented by this document.

Reporting policy (B-BR-F07, BUC-C03/C05)

  • Any active free account may report any comment or reply: one report reason, 1–200 characters, plain text. Reporting is rate-limited; when the quota is exhausted the app says so with a retry delay (429 + Retry-After), never with silence.
  • Duplicate reports converge on the single open case for that target instead of flooding the queue; the comment flags once.
  • Reports never delete content and never grant moderation power. Filing against another author's comment changes nothing but the review queue. Removal happens only through a reviewed operator decision below — never automatically, never by vote count.
  • Cases store identifiers and the reason only: never reporter identity, media, GPS or URLs. Deleting your account cannot cascade into the queue, because there is nothing to cascade.

What moderators can and cannot do

  • Authority: restricted operators only, through the audited ops CLI. There is no public admin route and no in-app moderator role. Every decision appends actor/action/reason audit rows; raw facts are never edited.
  • Visibility moves: visible (default) → flagged (under review, still reads normally) → hidden (vanishes from public reads, kept for audit). Author deletion always wins over later moves.
  • A suspended or deleted account cannot write; past ratings and comments stay counted and readable until moderated or erased through the explicit erasure command.
  • Payment never buys moderation immunity, ranking, trust or placement (B-BR-C05).

Appeal and support route

  • A disputed decision is appealed by a new reviewed case or fact; closed cases never reopen and history is never edited. In the app this means: re-report with the new reason, or contact support with the comment reference. The support channel itself (in-app help / pilot contact) is staffed at the bounded-city pilot (P23); until then the Comunidade tab states the re-report route honestly and invents no unavailable contact.
  • Operator mistakes are corrected the same way: a new audited DISMISS/RESOLVE action, never a silent edit.

Staffing for the pilot (no invented headcount)

  • No city opens without named moderation coverage and a response target recorded in its pilot plan (P23). Coverage, backlog and response time are measured aggregates (P23-T03), not promises in this document.
  • Closed cases purge after 12 months per SECURITY_PRIVACY; audit rows go first.

Block/mute contract (defined before code, P22-T03)

  • Decision: no user-level mute or block in v1. Users cannot mute or block each other; there is no per-user hidden-author list, no shadow state, and no client-side filter to test. This keeps the abuse surface to exactly one reviewed path: the operator-owned contributor block (ops moderation block, trust BLOCKED tier), which already exists, is audited per case, time-boxed and appealable through the route above.
  • If a user-level mute is ever proposed, it must first freeze — before any code — its visibility scope (who stops seeing whom, and what moderators/audit still see), its rights (who may mute, whether muting affects the muted account's reach or only the muter's view), its deletion (what happens on erase/export), and its API with authorization tests. Until that contract lands in this file, mute code must not exist.

Fuel prices wiki

Source: AlexandreZanata/brazil-fuel-prices @ 08a54dc49c2e43a85aba56a7b56ae96d692cec61

Clone this wiki locally