Demo host access
How to reach the private SpeakerOps Cloudflare demo, who can log in, and what is seeded.
What the demo host is
The private Cloudflare demo is a full SpeakerOps app on Workers with remote D1 and seeded program data. It is not a marketing site and not a bare IP. SPA routes are served from the Worker ASSETS binding; API stays under /api/* with /health for probes.
Email delivery uses Cloudflare Email Sending from noreply@speakerops.org. Resend is not used on the demo host. Magic links are enqueued as outbox rows and drained asynchronously — never sent on the login request path.
| Host | Role |
|---|---|
| https://www.speakerops.org | Primary app + API custom domain |
| https://speakerops.org | Apex → same Worker |
| workers.dev fallback | speakerops-demo.speakerops-dogfood.workers.dev when needed |
Who can log in
Access is restricted by a private email allowlist. Invited operators receive Discord or owner invites that add their email with a role. Default invite role is evaluator. Owner testing uses an admin allowlist entry for the operator email.
On the login page, enter the allowlisted email and request a magic link. Check the inbox for the Cloudflare-delivered message, open the link once, and the Worker sets an HttpOnly session cookie. Links are single-use and short-lived.
- Confirm your email is on the demo allowlist with the intended role.
- Open https://www.speakerops.org/login (or the current demo base URL).
- Enter your email and submit the magic-link request.
- Open the email from SpeakerOps and click the link once.
- Verify the app loads admin or portal chrome matching your role.
What is seeded and what is limited
Demo seed includes a large speaker graph, forms, tasks, and schedule-ready structures so every menu has realistic data. Public CFP is open for the dogfood event slug with Turnstile. DEMO_MODE disables public file upload on that host so untrusted traffic cannot fill R2.
Role switcher and developer outbox are off on the demo host. DDoS protection relies on the Cloudflare edge; the app still enforces D1-backed rate limits on magic-link requests.
- Seeded multi-speaker program graph on remote D1
- Public CFP open with Turnstile; file upload disabled in DEMO_MODE
- Comms and auth email via Cloudflare Email Sending
- Role switcher off; AUTH_DEV_OUTBOX off
Operator checklist after first login
Walk Admin → CFP, submissions, speakers, schedule, readiness, and settings so you know where each Learn guide maps. If you need agent automation, mint a scoped API key under Settings → API keys and follow the CLI and keys guide in this handbook. That article includes install, auth, every inventory command, exit codes, and agent rules so you do not need a second document to automate.
- Confirm role and event context after login.
- Open readiness to see the health of the seeded program at a glance.
- Open at least one form, one submission, and schedule studio.
- When ready for automation, mint a least-privilege API key and open CLI and keys.