Bring your own domain (BYOD)

A SaaS feature where users provide a domain they already own and the SaaS makes it work, instead of the SaaS selling them the domain.

Bring your own domain (BYOD) is the pattern where your customer already has a domain at a registrar (GoDaddy, Namecheap, Google Domains) and you let them point it at your product. You handle TLS and routing; they handle DNS at their existing provider.

This is distinct from selling them a new domain through your app (which is what a Buy-a-Domain API does).

The architecture

Customer's registrar          Your edge                Your origin
─────────────────────         ─────────                ───────────
janesbakery.com   →   CNAME   edge.yourapp.com   →   yourapp's pods

What you need to support BYOD:

  1. An endpoint where customers add a hostname. Your UI calls something like POST /custom-domains { hostname }.
  2. A CNAME target your customers point their DNS at. Usually a single static value like edge.yourapp.com.
  3. DNS verification. You check that the customer actually added the CNAME before you treat the domain as "live."
  4. Cert issuance. First request to the domain triggers Let's Encrypt to mint a cert. Or you issue it pre-emptively after DNS verification.
  5. Status updates. A webhook or polling endpoint your UI uses to tell the customer "domain ready" / "DNS not propagated yet."

BYOD vs Buy

If the customerThey want
Already has a domain from a previous projectBYOD
Is starting fresh and asks "where do I get a domain?"Buy-a-Domain flow inside your product

Both should ideally exist in a mature SaaS. BYOD ships first because it's simpler and covers most users initially.

Want this handled for you? Start free with Domainee — 50 custom domains + 100 GB bandwidth, no card.