Docs / Self-host
Run the same Worker yourself
Hosted conForm runs the open-source conform-cf-worker — MIT-licensed, zero runtime dependencies, small enough to audit in one sitting. Self-hosting is the exit that keeps us honest: your Cloudflare account, your domain, and no Centrst account, endpoint, or telemetry anywhere in the code path.
Deploy
git clone https://github.com/centrst/conform-cf-worker
cd conform-cf-worker
corepack yarn install
npx wrangler secret put ROUTE_TOKEN_SECRET # base64url, 32 bytes
npx wrangler secret put OWNER_HASH_SECRET # base64url, 32 bytes
npx wrangler deploy
Wrangler creates the route and quota Durable Objects automatically — there is no database or KV namespace to set up. The README covers the two delivery modes: verified (Cloudflare Email Routing verifies destinations; free delivery) and arbitrary (your own sending domain via Cloudflare Email Sending).
What you inherit for free
- The full machine contract: served OpenAPI, discovery documents, stable error codes, idempotent provisioning, install artifacts,
_testsubmissions, signed webhooks. - The same privacy posture, enforced by the same CI: no submission storage, encrypted destinations, content-free logs.
- The MCP server, if you want it:
npx wrangler deploy --config wrangler.mcp.tomlpointed at your engine.
How hosted and self-hosted relate
Same repository, same code path — the hosted service's discovery endpoint reports the exact commit it runs, so "same code as hosted" is checkable, not a slogan. If Centrst ever disappoints you, your forms move with a DNS change and a deploy.