# Admin Dashboard Plan (Power Control)

This is the internal control panel used to keep Dewemoji **safe, clean, and reliable**.

## Purpose

- Moderate public keywords and votes.
- Manage licenses and activations.
- Monitor system health and data pipelines.

## Phase 1 (MVP — must‑have)

### 1) Public keyword moderation
- View **public_pending** keyword queue.
- Approve / reject / block keyword.
- See emoji, language, proposer, vote counts.

### 2) Abuse controls
- Blocklist terms.
- Quick “hide” keyword from public search.
- Soft‑ban repeated abusive accounts.

### 3) License management
- Lookup by license key.
- See activations (device_id, product).
- Revoke activation or whole license.

### 4) System health
- Last JSON rebuild time.
- Dataset counts (emojis, keywords).
- API usage summary (daily).

### 5) Price control (Personal plan)
- Set IDR pricing for Monthly / Annual / Lifetime.
- Optional USD display override (approx only).
- Toggle payment rails (PayPal / QRIS).
- Effective date + change log (who changed, when).

## Phase 2 (Nice‑to‑have)

- AI moderation log viewer.
- Turnstile failure analytics.
- Contributor leaderboard.
- Email queue status.
- Scheduled job history.
- Pricing experiment history.

## Suggested navigation

- **Dashboard** (health, quick stats)
- **Keywords** (pending + public)
- **Licenses**
- **Users**
- **System** (jobs, JSON rebuild, logs)

## Access control

- Admin login uses **magic‑link/OTP session** + **role=admin** check.
- `X-Admin-Token` is **dev/internal only** (disable in prod).
- No IP allowlist required (dynamic ISP friendly).
- Log all actions (who approved / rejected / revoked).
