Short answers to the stuff people will absolutely ask the moment money is involved.
Users enter their email, receive a magic link, and land in the dashboard. No password circus.
Yes. The onboarding wizard generates a bot-specific script tag using a stable bot ID.
No. The app reads Stripe price IDs, secret key, portal config, and webhook secret from environment variables only.
Yep — monthly, quarterly, and annual are modeled per plan tier with env-based Stripe price mapping.
Only a public bot config endpoint is used by the widget. Admin/session state stays server-side.