Single-admin gate
The admin surface is gated by a single environment variable, ADMIN_EMAIL. There is no is_admin database column and no role table — nothing to escalate, nothing to drift.
The accountability surface for v10r.dev — who collects what, why it's lawful, how long it's kept, and how to exercise your rights.
Transparency cuts both ways. You should know not just what is collected, but what the person running v10r.dev can do with it. Below is the full inventory of admin capabilities, along with the four guarantees that hem them in.
The admin surface is gated by a single environment variable, ADMIN_EMAIL. There is no is_admin database column and no role table — nothing to escalate, nothing to drift.
Non-admins receive a generic 404 from any /admin/* path. The gate does not leak the existence of admin routes to unauthenticated visitors.
Every admin write is logged to audit_log with actor, action, target, and timestamp. The audit table has no UPDATE or DELETE handlers — entries cannot be erased after the fact.
Cron jobs that mutate user-facing data (cleanup, rollup) are gated behind a Bearer token shared only with Vercel Cron, not exposed in any UI.
session_id to join on.