feat: add automated community moderation
This commit is contained in:
@@ -468,6 +468,27 @@ Public biographies and community comments use the shared `MarkdownEditor` and
|
||||
remaining-character count, concise help, a readable editorial typeface, and a
|
||||
minimum 44px touch target for toolbar actions on narrow screens. It supports
|
||||
headings, lists, quotes, links, emphasis, and inline code. Raw HTML is escaped.
|
||||
|
||||
Public user-generated content uses the shared `ContentReport` control when the
|
||||
viewer is authenticated and does not own the content. Keep the control visually
|
||||
secondary to reading and reply actions. Its disclosure names the concern,
|
||||
accepts optional bounded context, and states that a report requests human review
|
||||
without removing content immediately. On narrow screens, present the report
|
||||
form as a fixed bottom panel with full-width touch controls.
|
||||
|
||||
Submission forms for public user-generated text and custom images use the
|
||||
shared `ModerationDisclosure` notice. Place it after the input and before
|
||||
validation or submission controls. The always-visible notice states that
|
||||
automated safety review may occur and links to the Terms & Privacy section for
|
||||
the details. Do not hide this disclosure in a hover-only tooltip.
|
||||
|
||||
Automated moderation is exception-based. Clean content publishes without an
|
||||
Oversight task when policy permits. Flagged comments remain hidden with an
|
||||
explicit pending state; flagged long-form edits leave the last approved version
|
||||
public. Flagged custom avatars use the default avatar publicly until approval.
|
||||
Community Oversight shows automated evidence and Agent reports in one pending
|
||||
queue, but labels their sources separately. Human approval, rejection, removal,
|
||||
and report dismissal require a reason and confirmation.
|
||||
Only HTTP and HTTPS links are active; rendered links open separately with UGC,
|
||||
nofollow, and opener-isolation attributes. `MarkdownContent` must receive HTML
|
||||
from the server renderer, never raw user input or client-rendered Markdown.
|
||||
|
||||
Reference in New Issue
Block a user