Admin verification

Approve paid members after credential review.

This screen is the future protected admin queue. Stripe activates new paid accounts, admins can waive directory payment for existing paid OfficerList members, and OfficerList approves the public profile only after review. Billing records stay in Stripe; this queue only reads payment status.

Admin email trigger

Sent after payment, bypass request, and upload.

Subject: New OfficerList verification pending

A member submitted credential documents. Open the secure review page, confirm the ID and agency details, check whether payment came through Stripe or should be waived for an existing OfficerList account, then approve or hold the profile.

Do not copy card, invoice, or billing-address details into OfficerList. Stripe remains the billing system of record.

Security note: email should include a protected review link, not the ID files themselves.

Loading live Supabase review queue...
OL-1043Pending review

M. Carter

Federal officer

Credential: Driver license + government email
Email: m.carter@agency.gov
Submitted: Today, 11:38 AM
Payment: Existing paid OfficerList account
Service: Other: Process Serving
Admin confirms the paid OfficerList account, records payment_status = waived, approves any requested custom category, then publishes the directory profile.
OL-1042Pending review

Lt. Alex Rivera

Denver Police Department

Credential: Department ID
Email: alex@example.com
Submitted: Today, 9:12 AM
Payment: Stripe paid
Service: Security Services
Stripe payment is already attached. Admin approves the credential review and service category before publishing.
OL-1044Pending review

Dana Morris

Phoenix Police Department

Credential: Retired department ID
Email: dana@example.com
Submitted: Yesterday, 4:45 PM
Payment: Needs checkout
Service: Firearms & Safety Training
Stripe payment is already attached. Admin approves the credential review and service category before publishing.

Before launch, this route must require admin login. ID files should live in private storage with expiring signed URLs, and approval should write an audit record with reviewer, timestamp, and decision.