User moderation

Ban/unban accounts and reset access.

DMCA requests

Track takedown submissions and replies.

Deleted accounts

Soft-deleted profiles awaiting purge.

AI queue snapshot

Pending vs flagged uploads at a glance.

Run npm run ai-scan whenever you ingest new evidence.

Moderation queue

Video, chat, and VTT bug reports grouped by newest first.

Video reports

Chat reports

VTT bug reports

Video moderation

Search, filter, and triage uploads.

Sponsored slot

Real ads still show here to exercise inventory.

Ad delivery summary

Slot + provider totals from the last 30 days.

Daily impressions

Breakdown per slot for the past month.

Recent pings

Last 25 impressions across the network.

Impression endpoint

Use this snippet for custom players or partners.

fetch('/api/ads/impressions', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    slot: 'pre-roll',
    provider: 'direct',
    campaignId: 42,
    placement: window.location.pathname
  })
});

The admin dashboard aggregates these calls for reporting.

System status

CSP, telemetry, and billing health.

Checking status…

Audit & security log

Recent admin actions and authentication events.

Loading log entries...

Safety controls

Site-wide moderation and monetization toggles.

Mail & alerts

SMTP settings for verification + DMCA receipts.

Database backups

Manually trigger a snapshot of the SQLite database.

Backups are stored under /backups. Use this before risky migrations or large imports.