Configured
Setup
What still needs to be configured before live launch.
This page is the local cutover checklist for moving CrashSEO onto your real Supabase project and Vercel deployment.
Runtime status
What this environment is ready for right now.
Missing live provider credentials
No probe service URL configured
Mock data enabled
Supabase
Backend checklist
- Apply `infra/supabase/schema.sql`
- Apply `infra/supabase/policies.sql`
- Create the private `reports` storage bucket
- Enable email/password auth for real account testing
- Enable magic-link auth if you also want passwordless login
- Set redirect URLs for `/account`
- Confirm the `reports` bucket remains private
- Keep `SUPABASE_REPORTS_BUCKET=reports` unless the SQL is updated too
Vercel
Deployment checklist
- Create the Vercel project for `crashseo/`
- Set all env vars from `.env.live.example` or `.env.example`
- Point the build root at the `crashseo` app directory
- Configure the production app URL
- Confirm Supabase auth redirect URLs include `/account` for sign-in and sign-up confirmations
- Set `CRASHSEO_REPORT_ACCESS_SECRET` for signed report links
- Set `CRASHSEO_CRON_SECRET` for retention cleanup cron auth
- Set `CRASHSEO_ENABLE_PRELAUNCH_SCANS=true` until Stripe is ready
- Set the Stripe webhook target to `/api/webhooks/stripe`
- Leave the hourly `/api/cron/report-retention` cron enabled
- Use `infra/supabase/production-checklist.md` as the final cutover runbook
Third-party data
Data-provider checklist
- Add DataForSEO credentials
- Add `GEMINI_API_KEY` and set `AI_PROVIDER=gemini`
- Keep `GEMINI_MODEL=gemini-2.5-flash-lite` unless you intentionally swap models
- Keep the engine assessments on hybrid mode until direct ChatGPT/Perplexity/Gemini/Claude connectors are added
- Optional: add `CRASHSEO_ENGINE_PROBE_BASE_URL` plus token headers if you want connector-backed engine probes
- Set `CRASHSEO_ENGINE_PROBE_TOKEN` if the private probe service is token-protected
- Add a CrUX API key if you want live vitals
- Set `CRASHSEO_USE_MOCK_REPORT_DATA=false` for live provider validation
- Confirm scraping runtime limits on Vercel
Ops
Launch controls
- Set `CRASHSEO_ADMIN_TOKEN` for `/ops`
- Test a failed job and retry flow
- Verify paid single-scan fulfillment and PDF download
- Verify signed report links return 401 without a valid token
- Verify credit-pack purchase and redemption flow