Skip to main content

Copyright Reports

Copyright Reports are user submissions flagging that a specific track is not copyright-safe and should be removed from the safe catalog (or never added). They sit alongside Copyright Recommendations in the same underlying table but with report_type = copyright. Admins review each pending report and either approve it (marking the track unsafe) or dismiss it (keeping the track as-is).

Where to find it

Admin sidebar → Copyright Reports (/copyright-reports).

Quick start

  1. Open Admin → Copyright Reports.
  2. Default filter is Pending; switch to Confirmed or Dismissed to review history.
  3. Read the song / artist / category and confirmation count.
  4. Click Approve to confirm the report. In the dialog, optionally add the track to a Curated Playlist override or leave at None.
  5. Click Dismiss to reject the report and leave the track as-is.

Detailed walkthrough

Status filters

Tab bar: All, Pending, Confirmed, Dismissed. Pending is default.

Report rows

Each row shows:

  • Song — track title.
  • Artist — track artist.
  • Category — submission category.
  • Typecopyright (this page) or recommendation (on the Recommendations page).
  • Status — coloured badge (pending = default, confirmed = destructive, dismissed = outline).
  • Confirmations — number of other users who flagged the same track.
  • Date — submission timestamp.

Row actions on pending rows: Approve, Dismiss.

Approve Report dialog

  • Title: "Approve Report".
  • Shows song name + artist + a human-readable category hint ("Marking this track as copyright-flagged..." for copyright type; or "Adding to safe catalog..." for recommendation type — the dialog is shared).
  • Add to curated playlist (optional) — dropdown, only shown when the type is recommendation. Copyright reports don't use this field.
  • Approve — submits.

Confirmations signal

Tracks with high confirmation counts are higher-confidence reports. The UI does not auto-approve; every confirmation is just a signal for the admin.

Common scenarios

  • Track flagged by 20+ streamers — review once, approve, track is removed from the safe catalog.
  • Single-user report against a genuinely safe track — dismiss. The track stays safe; the report moves to the Dismissed tab for audit.
  • Repeat offender artist — approving one track doesn't auto-approve future reports for the same artist. Each track is handled individually.
  • Incorrectly approved previously — there is no "unapprove" in the UI. Handle via DB for now.

Permissions

ActionPermission
View reportscopyright:read
Approve / dismisscopyright:edit

Dashboard entry requires admin:access. System admins implicitly hold both.

API

UI actionGraphQLREST
List reports (filtered)GET /v1/copyright/reports?status=...
ApprovePOST /v1/copyright/reports/\{id\}/approve
DismissPOST /v1/copyright/reports/\{id\}/dismiss
Submit a copyright vote (user side)POST /v1/copyright/vote

Tips & gotchas

  • Reports and Recommendations share endpoints; routing is by report_type column, not by URL.
  • Approving a copyright report does not automatically remove the track from any existing Curated Playlists. Do the cleanup there as a second step.
  • Dismissing a report does not penalise the reporter. There is no reporter-reputation system today.
  • If the same track has both active copyright reports and active recommendations, handle the copyright one first — marking unsafe is higher-priority than promoting.
  • Filters persist only within the current session; there is no URL state.