Deliverable G adds a separate, manual public-beta deployment path. It does not alter the owner-only workflow and it does not bypass Deliverable F's final gate. The owner-only workflow may complete with a prominent source-coverage warning after both services deploy; the public-beta workflow keeps source verification blocking.
- Anyone may register an individual account through the public sign-up page.
- Email confirmation is mandatory and the API rejects unconfirmed accounts.
- Uploads and AI requests remain authenticated; there is no anonymous mode.
- Users bring their own supported model-provider key. Existing encrypted BYOK storage and account export/deletion remain available.
- The operator-hosted beta accepts only synthetic or affirmatively non-confidential material. Self-hosted operators set and document their own approved data boundary.
- Public search indexing and confidential or privileged hosted use remain outside this approval.
- Run
backend/migrations/20260717_02_public_beta_registration.sqlin the SQL editor. The migration adds versioned terms/privacy evidence touser_profiles, preserves RLS, and keeps browser table grants revoked. - In Authentication → Providers → Email, enable email sign-up and enable Confirm email.
- In Authentication → URL Configuration, set the Fly application URL as
the Site URL and add
https://YOUR-WEB-APP.fly.dev/**to Redirect URLs. - Configure Supabase authentication rate limits and email delivery for the expected beta volume. Do not use a personal mailbox as the production sender.
- Test registration, duplicate registration, confirmation, login, password reset, account deletion, and a rejected unconfirmed API session.
Create a public-beta GitHub environment. Require an owner approval and keep
the same eight deployment secrets used by the owner-only Fly deployment. Limit
environment deployment branches to main.
- Complete the work in
docs/final/owner-action-sheet.mdfor one immutable release candidate. - Open Actions → ROSS release train → Run workflow on
main. - Leave public promotion unchecked for rehearsal, or select it only after the final completion gate and approvals are ready.
- Confirm the Supabase auth configuration and recorded go-live approval.
- The release train runs
npm run final:checkbefore public promotion and retains the governed evidence package for 90 days.
- Register a new non-owner email and confirm that no session can use the API before the email link is opened.
- Confirm both policy checkboxes and the data-boundary gate are required.
- Add a test BYO model-provider key and run a synthetic prompt.
- Confirm a second account cannot see the first account's projects or files.
- Exercise download, export, deletion, throttling, rollback, and incident procedures; retain only non-secret evidence.
- Monitor authentication abuse, API limits, storage growth, source health, errors, support, and cost before expanding the beta.
Use the documented Fly rollback procedure for application or API defects. To
pause new registrations without removing existing users, redeploy the
owner-only workflow (which builds with NEXT_PUBLIC_ROSS_SIGNUPS_ENABLED=false)
and disable new email sign-ups in Supabase. Do not delete user data as a
rollback mechanism.