Public pricing intelligence dashboard. The browser uses anon credentials only; pricing writes happen server-side.
Supabase Auth email template must include {{ .Token }}. Access is enforced after sign-in through the allowed_emails RLS allowlist.
Create definitions only. Browser cannot write pricing rows under RLS.
Market intake importer: use node scripts/import-market.js market-intake.json output-comp-set.json for file-backed setup, then QA dry run: node scripts/qa-market.js output-comp-set.json before activation. Add --persist only when you intentionally want QA diagnostics saved to the configured database.