Verification & Moderation
Admin tools for trainer verification, content moderation, user management, and platform oversight. Includes the verified badge system, admin approval workflows, and internal staff dashboards.
Overview
The admin system supports two internal roles: admin (full platform access) and member (limited internal staff). These roles are distinct from the trainer and client roles and are managed through the users table's role enum. Admins have the authority to verify trainers, moderate content, manage users, and oversee platform operations.
The verification system is a trust signal for the platform. Trainers apply for verified status after completing their onboarding profile, including credentials and certifications. Admin staff review applications by examining uploaded certifications, degrees (institution and year), and major certifications (NASM, ACSM, ACE, NSCA, ISSA). Upon approval, trainers receive a verified badge that appears on their profile, in search results, and next to their name throughout the platform.
Content moderation covers social feed posts, program marketplace listings, trainer reviews, and user-generated content. The moderation workflow includes flagging, review queues, and enforcement actions (warning, content removal, account suspension). The Network tier subscription includes automatic verified badge eligibility, streamlining the verification process for premium trainers.
Roles & Permissions
| Permission | Admin | Member | Trainer | Client |
|---|---|---|---|---|
| Approve/reject verification requests | ||||
| Moderate content (remove posts, reviews) | ||||
| Manage users (suspend, delete) | ||||
| View platform analytics | ||||
| Manage lookup values / platform config | ||||
| Apply for verification |
Verification Workflow
User Stories
Admin
As an admin, I want to review trainer verification applications so that I can ensure only qualified trainers receive the verified badge.
As an admin, I want to approve or reject applications with a reason so that trainers understand the decision and can reapply if needed.
As an admin, I want to view flagged content in a moderation queue so that I can take action on inappropriate posts or reviews.
As an admin, I want to suspend or ban users who violate platform guidelines so that the community remains safe and professional.
As an admin, I want to manage lookup values (specialties, goals, equipment) so that platform options stay current and relevant.
As an admin, I want to view platform-wide analytics so that I can track growth, engagement, and revenue metrics.
Trainer
As a trainer, I want to apply for verified status so that clients can trust my qualifications and expertise.
As a trainer, I want to see my verification status so that I know where my application stands in the review process.
Data Model
| Table | Column | Type | Description |
|---|---|---|---|
users |
role |
enum |
admin | member | trainer | client |
is_suspended |
boolean |
Account suspension flag | |
trainer_profiles |
is_verified |
boolean |
Whether trainer has verified badge |
verification_status |
enum |
none | pending | approved | rejected | |
certifications |
jsonb |
Uploaded cert files and metadata | |
content_reports (planned) |
id |
uuid |
Primary key |
reporter_id |
uuid (FK) |
User who flagged the content | |
content_type |
enum |
post | review | program | profile | |
reason |
text |
Why the content was reported | |
status |
enum |
pending | reviewed | actioned | dismissed |
Screens & Routes
/_admin/dashboard
(Planned) Admin overview with platform metrics
/_admin/verification
(Planned) Verification request queue and review interface
/_admin/moderation
(Planned) Content moderation queue with flagged items
/_admin/users
(Planned) User management with search, filter, and actions
/_admin/lookup-values
(Planned) Platform configuration and lookup value editor
Acceptance Criteria
- User roles (admin/member/trainer/client) are defined in the database with proper RLS
- Trainer profiles include verification status and certification storage
- Trainer onboarding collects credentials, degrees, and certification uploads
- Admin dashboard with platform metrics and verification queue is not yet built
- Verification review interface for admins is not yet implemented
- Content moderation queue and reporting system are not yet built
- User suspension and enforcement actions are not yet implemented
- Verified badge display across all profile surfaces (search, cards, detail pages)
API Surface
Server Functions (Mostly Planned)
getVerificationQueue
Admin: list pending verification requests
reviewVerification
Admin: approve/reject with reason
applyForVerification
Trainer: submit verification application
getModerationQueue
Admin/Member: list flagged content
suspendUser
Admin: suspend user account
Current Status
Role System
User roles (admin/member/trainer/client) defined in database with role-based route guards and RLS policies.
Credential Collection
Trainer onboarding step 2 collects certifications, degrees, and uploads for verification.
Verification Fields
is_verified and verification_status columns on trainer_profiles table.
Admin Dashboard
Platform-wide metrics, verification queue, user management, and moderation tools.
Moderation System
Content flagging, moderation queue, enforcement actions (warning, removal, suspension).
Verified Badge UI
Badge component displayed across search results, profile cards, and detail pages.