Phase 1
D1 binding and bootstrap admin
Attach the Worker to a real D1 database and set the bootstrap admin secrets so the protected admin login can create the first live account.
The portal and payment workflow are now built into the Worker as a real D1 + Stripe foundation. This page explains the remaining setup steps so the protected client/admin system can be turned on cleanly in Cloudflare without risking the public site.
What is live now
Phase 1
Attach the Worker to a real D1 database and set the bootstrap admin secrets so the protected admin login can create the first live account.
Phase 2
Use D1 for users, projects, pricing, inventory, and payment requests, then add R2 when client files or inventory media need their own protected storage layer.
Phase 3
Attach Stripe secrets and the webhook so the admin dashboard can generate hosted payment links and keep status updates tied to the right project record.
Step-by-step setup
DB.ADMIN_BOOTSTRAP_EMAIL, ADMIN_BOOTSTRAP_PASSWORD, and optionally ADMIN_BOOTSTRAP_NAME to the Worker.STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET to the Worker./api/stripe/webhook and subscribe to checkout session events.admin-login.html with the bootstrap account, then create client accounts, projects, and payment links.What this unlocks
Need it live now?
The right move is usually to keep the current website intake stable, then stage the protected portal as a separate build so there is no risk to the public site or the working contact flow.