Skip to main content

QC Master Test Plan

Permission tests

Permission tests — documentation pending.

Complete

Permissions QC verifies that every protected route enforces its role guard correctly — for both positive (the right role gets in) and negative (the wrong role / no role doesn’t) paths. Permission bypass is one of the highest-severity defect categories: a leaked admin endpoint or an exposed founder draft can break trust irreparably.

Role matrix

anonymous
Unauthenticated visitor. Can read all public routes; cannot access /founder-account/* or admin surfaces.
founder
Authenticated user with founder role. Can access /founder-account/* (own profile, own startups, own submissions). Cannot access admin surfaces.
admin
Authenticated user with admin role. Can access all admin surfaces under /founder-account/admin/*. Inherits founder capabilities for their own account.

Permission checklist

  • Anonymous user → /founder-account/dashboard → redirected to /signin (not 200, not 403).
  • Founder role → /founder-account/admin/calendar → returns 404 (NOT 403 — 403 leaks the URL existence).
  • Founder A → /founder-account/profile/founder-B-id → 404 or redirect to own profile (cross-user leak prevention).
  • Admin → all surfaces → 200 with full functionality.
  • Admin routes are missing from sitemap.xml — confirm with a grep on the rendered sitemap.
  • Admin routes have <meta name="robots" content="noindex,follow"> in the SSR-rendered head.
  • Session expiry: tokens older than the documented TTL force re-auth on protected routes; do not silently extend.