Connect Domain

Introduction

What Connect Domain is, the connect → secure → serve → monitor loop, and where to go next.

Open-source custom-domain onboarding for multi-tenant SaaS — DNS auto-configuration, automatic SSL, and a reverse proxy, in one self-hostable stack. It's an open alternative to Entri: let your customers point their own domain at your product in minutes, with a drop-in widget and a REST API.

What it does

  • Connect — a customer enters their domain; the system detects their DNS provider and either writes the records automatically (delegated credential) or hands them exact records to add, then watches propagation.
  • Secure — the edge issues a TLS certificate on demand during the handshake, but only for hostnames you've authorized.
  • Serve — the edge reverse-proxies the custom domain to your origin.
  • Monitor — webhooks, a developer console, usage metering, and drift detection keep you informed after go-live.

The two planes

The system is two independent planes that share one database and talk over HTTP:

  • Connect plane (the control-plane) — the REST API, ownership verification, DNS auto-write, quotas, webhooks, and background workers.
  • Edge plane — on-demand TLS termination + reverse proxy, gated by a single internal ask call to the control-plane.

See Concepts for the full model and Self-hosting for how to run both planes.

Start here

If you want to…Read
Connect your first domain end to endQuickstart
Understand connections, ownership, and statesConcepts
Authenticate API calls and the widgetAuthentication
Embed the connect modalThe widget SDK
Set up email (MX/SPF/DKIM/DMARC)Email DNS
Call the APIAPI Reference
React to eventsWebhooks
See which DNS providers auto-configureDNS providers
Run the stack yourselfSelf-hosting
Understand the security modelSecurity
Configure plans and quotasBilling & Quotas
Look up enums, env vars, error codesReference
Fix a stuck connectionTroubleshooting

For AI agents

A machine-readable index of this documentation is at /docs/llms.txt, with a full-text version at /docs/llms-full.txt. Every page is also available as raw Markdown at /llms/<page-slug>.

On this page