Skip to content

Triage & Moderation

!!! info "TL;DR" Review submissions, detect spam, bulk approve/reject, and merge duplicates. The moderation queue surfaces flagged content for review. All actions are logged for audit compliance.

Triage Workflow

Triage is the process of reviewing new submissions, categorizing them, and changing status. The goal is to acknowledge user feedback quickly and route it to the right team.

Standard Triage Process

  1. Review Submission — Read title, description, and any attached images
  2. Check for Spam — Verify the submission is legitimate feedback (not spam or abuse)
  3. Identify Duplicates — Search for similar submissions (Canviq auto-suggests duplicates)
  4. Assign Category & Tags — Categorize the submission (e.g., "Feature Request", "Bug")
  5. Change Status — Move from "Open" to "Under Review" or "Planned"
  6. Post Official Comment — Optionally acknowledge receipt or ask clarifying questions

Triage Queue Views

The triage queue can be filtered by:

  • New — Submitted in last 24 hours, status = Open
  • High-Priority — >50 votes, status = Open
  • Flagged — User-reported spam or abuse
  • Duplicates — AI-detected similar submissions
  • Stale — Open for >90 days, no team comments

Click a view to see submissions in that category.

Spam Detection

Canviq includes built-in spam detection (see ADR-0010). Submissions are automatically flagged if they match spam patterns:

  • Keyword Matching — Common spam phrases (e.g., "Click here to win!")
  • Link Density — >3 links in description
  • Repeated Content — User submitted identical content multiple times
  • Banned Phrases — Profanity or hate speech

Reviewing Flagged Content

Navigate to Admin → Moderation Queue to see flagged submissions.

For each flagged item:

  • Approve — Mark as legitimate feedback (removes flag)
  • Reject — Delete submission and ban user (optional)
  • Edit — Remove offensive content but keep submission

All moderation actions are logged to the audit_log table.

Spam Patterns

Pattern Example Action
Promotional Links "Buy cheap followers at link.com" Auto-flag
Repeated Submissions User submits same text 5 times Auto-flag after 3rd
Profanity Submission contains banned words Auto-flag
Short + Generic "Nice" or "Good app" with no details Auto-flag if <20 chars

Customize spam detection rules in Admin → Settings → Moderation.

Bulk Actions

Select multiple submissions using checkboxes and perform bulk operations:

Available Bulk Actions

Action Description Use Case
Change Status Move all selected items to a new status Bulk approve "Planned" submissions
Assign Category Apply a category to all selected items Categorize uncategorized submissions
Add Tags Apply tags to all selected items Tag all performance-related feedback
Merge Duplicates Combine multiple submissions into one Consolidate duplicate feature requests
Delete Remove all selected submissions Bulk delete spam
Export Download selected submissions as CSV Export high-vote items for roadmap planning

Bulk Status Change Example

  1. Navigate to Admin → Triage Queue
  2. Select submissions (click checkboxes)
  3. Click Bulk Actions → Change Status
  4. Select new status (e.g., "Planned")
  5. Optionally add a comment (posted on all selected submissions)
  6. Confirm

All selected submissions are updated, and users are notified if they're following the submissions.

Duplicate Detection

Canviq uses PostgreSQL full-text search and vector similarity (future: embeddings) to detect duplicate submissions.

Auto-Suggested Duplicates

When viewing a submission, the sidebar shows "Similar Submissions" with similarity scores:

Similarity Submission Votes Status
95% "Add dark mode support" 120 Planned
82% "Dark theme for night use" 45 Open
78% "Option to switch to dark UI" 30 Open

Click Merge to combine submissions.

Merging Submissions

When merging duplicates:

  1. Select Primary — The submission that remains (usually the one with most votes)
  2. Select Duplicates — Submissions to merge into the primary
  3. Merge Action — Votes and comments from duplicates are transferred to primary
  4. Status Update — Duplicates are marked as "Merged" and redirect to primary

Users who voted or commented on duplicates are automatically following the primary submission.

Manual Duplicate Marking

To manually mark a submission as a duplicate:

  1. Open the submission detail page
  2. Click Mark as Duplicate
  3. Search for the primary submission
  4. Confirm merge

The duplicate submission's status changes to "Merged" and all traffic redirects to the primary.

Moderation Queue

The moderation queue surfaces content that needs review:

Queue Type Description Count
Spam Auto-flagged submissions 8
User Reports Flagged by other users 3
Profanity Contains banned words 2
Duplicate Candidates High similarity to existing submissions 12

Moderation Actions

For each item in the moderation queue:

  • Approve — Mark as legitimate, remove from queue
  • Edit — Modify content to remove offensive parts
  • Delete — Permanently remove submission
  • Ban User — Prevent user from submitting future feedback

User Reporting

Users can report submissions via the "Report" button. Reports are reviewed by admins in the moderation queue.

Report reasons:

  • Spam or promotional content
  • Offensive or abusive language
  • Duplicate submission
  • Off-topic or irrelevant

All reports are logged with reporter ID, reason, and timestamp.

Content Editing

Admins can edit submission content to correct typos, remove profanity, or clarify vague descriptions.

What Can Be Edited

  • Title — Fix typos or improve clarity
  • Description — Remove offensive language, add context
  • Category — Reassign to correct category
  • Tags — Add or remove tags

Edit Audit Trail

All edits are logged in the submission_edits table:

  • Editor — User ID of admin who made the change
  • Timestamp — When the edit occurred
  • Before/After — Original and new content

Users are notified if their submission is edited.

Auto-Triage Rules (Future)

Upcoming feature: Define auto-triage rules to automatically categorize and route submissions based on keywords or sentiment.

Example rules:

  • If description contains "crash" or "freeze" → Assign to "Bug" category, status = "Under Review"
  • If sentiment = "very negative" and votes > 10 → Notify product lead
  • If description contains "export" → Tag with "export", assign to @export-team

Rules are evaluated on submission creation and can be edited in Admin → Settings → Auto-Triage.

What's Next