Cloudflare Project Name is deterministically generated: cms-{first6UserId}-{first6ProjectId}.
Custom Domain:POST .../domain { domain: "example.com" } → API creates CF Zone, returns CNAME record. User sets DNS, calls POST .../domain/verify. Status sync: pending → active when DNS propagates.
Rollback: Cloudflare Pages keeps the last N Deployments. POST .../deployments/:id/rollback sets an old one as active.#