Client Login
Use Supabase Auth with magic links or password login, plus invite-only access for clients with active bookings or projects.
Customer Portal
This is the authentication-ready portal interface. No fake customer data is exposed. Connect Supabase Auth, Stripe Customer Portal, and protected file storage before enabling client access.
Backend Requirements
The recommended production setup is documented in supabase/customer_portal_schema.sql. It keeps client data private, makes project delivery trackable, and connects cleanly to Stripe and Resend.
Use Supabase Auth with magic links or password login, plus invite-only access for clients with active bookings or projects.
Use row-level security for client profiles, bookings, projects, invoices, contracts, files, deliverables, messages, and support requests.
Use Stripe Customer Portal for payment methods, invoice history, balances, receipts, and future memberships or recurring podcast plans.
Use private Supabase Storage buckets with signed URLs for raw uploads, contracts, final files, download links, and client references.
Empty state ready. Connect bookings after authentication is configured.
Stripe customer portal or Supabase-backed invoice records can connect here.
Upload signed agreements and booking-policy documents after backend setup.
Final edits, download links, and project files will require protected storage.
Support requests and project notes can connect to email, CRM, or database records.