Give operator-appointed moderators a private report queue #48

Open
opened 2026-11-01 20:12:07 +00:00 by viacheslavshuka · 0 comments

Signed-in users need to report problematic accounts or tests, and moderators need restricted access to those reports. Reports must not impose sanctions automatically.

Acceptance criteria

  • Only the operator can initially grant or revoke moderator permissions. Test owners and organizers cannot appoint community moderators.
  • A signed-in user can report a test or account with a required reason.
  • Reports are private to moderators. Submitting a report does not restrict an account, cancel a test, or expose the reporter's text publicly.
  • Provide a moderator website view for received reports and their relevant account or test context.
  • Report access does not make tester histories public or grant ordinary organizers moderator access.
  • Moderator actions record actor, time, action, and required reason in a private audit history. Affected users receive the action and reason.
  • Moderation records have no automatic age-based deletion. Notification cleanup cannot delete them.
  • Pending reports do not introduce mandatory approval before ordinary test publication, a formal dispute system, or internal user messaging.

Validation

Attempt moderator assignment and report reads through organizer and ordinary-user API sessions. Assert no sanctions after report submission. Check report-scoped context access, required reasons, audit attribution, and response filtering. Verify revoked moderator access ends on the next protected operation.

Dependencies

Signed-in users need to report problematic accounts or tests, and moderators need restricted access to those reports. Reports must not impose sanctions automatically. ## Acceptance criteria - Only the operator can initially grant or revoke moderator permissions. Test owners and organizers cannot appoint community moderators. - A signed-in user can report a test or account with a required reason. - Reports are private to moderators. Submitting a report does not restrict an account, cancel a test, or expose the reporter's text publicly. - Provide a moderator website view for received reports and their relevant account or test context. - Report access does not make tester histories public or grant ordinary organizers moderator access. - Moderator actions record actor, time, action, and required reason in a private audit history. Affected users receive the action and reason. - Moderation records have no automatic age-based deletion. Notification cleanup cannot delete them. - Pending reports do not introduce mandatory approval before ordinary test publication, a formal dispute system, or internal user messaging. ## Validation Attempt moderator assignment and report reads through organizer and ordinary-user API sessions. Assert no sanctions after report submission. Check report-scoped context access, required reasons, audit attribution, and response filtering. Verify revoked moderator access ends on the next protected operation. ## Dependencies - [#27: Complete registration through verified rating-profile control](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/27). Provides fully registered principals for moderator authorization. - [#44: Create private test drafts and publish complete announcements](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/44). Provides reportable test records. ## Related work - [#69: Restrict participation and organizing capabilities with reversible expiry](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/69) - [#72: Cancel upcoming tests and stop running tests through explicit controls](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/72) - [#67: Show group familiarity and apply the previous-tester admission setting](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/67) - [#49: Restore account access through moderator-approved Telegram relinking](https://code.viacheslavshuka.com/viacheslavshuka/quorum/issues/49)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
viacheslavshuka/quorum#48
No description provided.