Practitionist / Practitionist/elluminar_web
🔴 Security & auth hardening for production
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 17h 2m
- Merged PRs (30d)
- 18
Description
Context
Dev-only auth bypass + demo accounts exist for local review and must be resolved before real users.
Tasks
- Separate prod database — mock seed + demo accounts must not live in the prod DB (currently shared Supabase). Provision a clean prod DB.
- Delete/rotate demo accounts —
admin@demo.test,creator@demo.test,orgadmin@demo.testuse the known passwordDemoPass123!; a known-password platform admin cannot exist in prod. - Bypass gating — confirm
DEV_DISABLE_AUTHis never set in prod env andNODE_ENV=production; consider stripping thesrc/proxy.ts/src/lib/auth/session.tsbypass from the prod build. - Secrets — real
BETTER_AUTH_SECRET; rotate anything seen in a dev.env; secrets only in the prod host, never committed. - Auth hardening — rate-limiting / brute-force protection; enforce email verification (on); finish 2FA rollout; cookie/session security; CSP + security headers.
- RBAC audit — verify
requireUser/requireTenantMember/requirePlatformAdmingates on all 5 surfaces; no IDOR on tenant/credential/order lookups. - Security review —
pnpm audit, secret scanning, run a full security-review pass.
Acceptance
No dev-only auth path reachable in prod; no known-password accounts; secrets rotated; security review clean.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/proxy.ts and src/lib/auth/session.ts, then trace the requireUser, requireTenantMember, and requirePlatformAdmin gates across the five surfaces named in the issue. Inspect the production environment and Supabase setup, run pnpm audit and the repository's security checks, and use the acceptance criteria to verify that no development auth path or known-password account remains.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- supabase, typescript
- Domain
- authentication, authorization, backend, cloud, database, security
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100