Baseline

Security policy

Headers on every response, RBAC on every mutating route, short JWTs, idempotency, PII redaction, no secrets in status.

ControlWhere
CSP, frame deny, nosniff, referrer, permissionsbackend/shared/golive/security.ts via proxy.ts
HSTSOnly when GO_LIVE=true (HTTPS)
X-GigRentals-Modedemo | production on every response
RBACbackend/shared/authz/rbac.ts
Token bucketdispatch, auth, ping, payout, SOS
Idempotency-Keytrips, holds, unlock, inspections
Chat redactionphones and emails stripped
Upload capspurpose + byte limit + content-type

Row Level Security already exists on the original Supabase schema. New platform tables ship with Prisma migrations; when you point DATABASE_URL at Supabase, apply supabase/migrations/00003_platform_core.sql or prisma migrate deploy — not both.