# CustomDomain > CustomDomain is an embeddable widget a SaaS platform drops into its own product so its customers can set up their own domain -- point it, authenticate email on it, verify it, secure it -- without touching DNS themselves. It configures records across 63 DNS providers, and behind the widget sit a REST API, an SDK, signed webhooks, domain registration, and a hosted MCP server. A product of EverJust Company. ## What it is The product is a **widget you embed**. A SaaS platform installs it as a React component or a script tag inside its own settings page, and from then on anything involving the customer's domain happens in place, in the platform's own interface, instead of in a support article telling the customer to go and edit DNS somewhere else. It is not only "point a domain at us". The widget writes whatever record set the platform needs on the customer's domain: **A, AAAA, CNAME, apex ALIAS/ANAME, TXT, MX, SPF (merged, not overwritten), DKIM, DMARC, CAA and 301 redirects** -- as single records or as an atomic group. Nineteen shipped templates cover the common combinations, from a bare `www` CNAME to a full email setup that writes four records at once. ## The problem it solves A customer wants to use their own domain. Today the platform shows them instructions: create a CNAME on `www` pointing at the platform's edge, and a TXT record to prove ownership. If email is involved, add an MX, a DKIM CNAME, a DMARC TXT, and merge an `include:` into their existing SPF record without breaking the one already there. That assumes a great deal. The customer usually does not know which of 60+ DNS hosts actually holds their domain -- frequently not the registrar they bought it from. They often do not have the login, because a contractor or a colleague registered it three years ago. Their provider's interface calls the field Host where the docs say Name, and wants a bare subdomain label where the docs show a full hostname, so they paste the whole thing and create `www.acme.com.acme.com`. SPF is worse: there may be only one SPF record per domain, so a second one silently breaks mail rather than failing loudly. Then nothing happens, and nothing distinguishes propagation delay from a typo from a broken product. They wait, then open a ticket. Support asks for screenshots of a third party's DNS panel and starts guessing. Days pass. A large share never finish. The domain step becomes where onboarding quietly dies -- after the customer already decided to buy, and usually after they paid. ## How the widget works 1. The customer types their domain into the widget, inside the platform's UI. 2. The widget resolves the domain's **nameservers** to identify who actually controls DNS -- which is often a different company from the registrar. 3. It then routes to the best available method for that specific provider. Of the 63 providers covered: **2 support the Domain Connect protocol, 6 support OAuth, and 17 have a direct API** -- 25 where the records are written for the customer and nothing is typed. For the remaining 38 the widget shows instructions written for that provider's own interface, using that provider's field names, with a copy button per value. 4. Either way it then **polls public DNS and shows live progress**, so the customer sees movement instead of silence, and a mistake surfaces in seconds rather than after a support ticket. 5. Where the person in the app is not the person with the DNS login -- the normal case in any business -- the platform can mint a **share link** that resumes the same prefilled flow, and send it to whoever does. 6. Ownership is confirmed by TXT, a TLS certificate is issued and renewed over ACME, CAA can be set so only the intended authority may issue, and the domain is served from a reverse-proxy edge. 7. A signed webhook fires the moment it is live, so the platform can unblock its own onboarding without polling. **Drift monitoring** then keeps checking the live records against the declared baseline, so a customer who later edits their own DNS is caught before their site goes down. ## Who it is for **Website and site builders.** Every published site wants the customer's own domain rather than a subdomain of the builder. This is where apex domains bite: customers want `acme.com`, not `www.acme.com`, and DNS forbids a CNAME at the zone apex -- so it needs A/AAAA records, or ALIAS/ANAME flattening where the provider supports it, chosen per provider. Also the migration case: moving an existing custom-domain integration across without taking live sites down. **E-commerce platforms.** A merchant's storefront on the merchant's own domain, with apex support that does not depend on pinning a shared IP, and fail-closed certificates so a store never serves a browser warning. Drift monitoring matters disproportionately here: a merchant who edits their own DNS takes the storefront down and blames the platform. **Creator tools.** Newsletters, link-in-bio pages, portfolios, course platforms -- products whose users are non-technical by definition and abandon quickly. The in-product flow and the webhook-on-live are the point: the creator never leaves the app, and the app knows the instant it can say "your domain is live". **Email and messaging platforms.** Sending domains are the same problem in a harder record set: MX, a DKIM CNAME, a DMARC TXT, and an SPF `include:` that must be **merged** into whatever SPF record already exists, because a domain may carry only one and a duplicate silently degrades deliverability instead of erroring. The `email-full` template writes all four atomically, and SPF merge is a first-class record type rather than a copy-paste instruction. **Agencies and white-label.** An agency connects domains for its clients, so the flow must be unbranded and the console has to show every client domain at once. The share link is native to how agencies already work, and domain registration is built in -- with real-time price quotes across registrars -- so an agency can sell the domain as well as connect one the client owns. **AI agents.** An agent that builds or deploys something needs a real domain for it end to end, with no human in the loop. The hosted MCP server exposes domain search, registration, DNS configuration, verification and TLS as callable tools, so "give this project its own domain" becomes a sequence of tool calls rather than a person clicking through a registrar. ## How this site is organised For an agent deciding where to look, rather than crawling everything: - `/glossary/*` — single-concept definitions (apex domain, CNAME flattening, multi-tenant TLS, CDaaS). Start here for "what does X mean". - `/guides/*` — task walkthroughs ("how to set up a custom domain", "let customers manage their own domains"). Start here for "how do I". - `/compare/*` — head-to-head comparisons against named alternatives. - `/for/*` — the same product described for one platform type (site builders, e-commerce, creator tools, agencies, AI agents). - `/blog/*` — dated writing; the deepest analysis lives here, not in the guides. - Product and pricing pages sit at the root. - **Reference documentation is on a different host**: docs.customdomain.ai, with its own sitemap and its own llms.txt. The API reference, DNS setup, widget embed instructions and webhook payloads are all there, not here. `app.customdomain.ai/docs/*` is a legacy path that 308s to it. ## Machine-readable surfaces - [Sitemap](https://customdomain.ai/sitemap.xml): flat urlset, ~139 URLs, the authoritative page list for this host. Three sibling hosts publish their own: docs.customdomain.ai (119), app.customdomain.ai (11), status.customdomain.ai. There is no sitemap index — the combined count is far below the 50,000-URL threshold where one is warranted. - [robots.txt](https://customdomain.ai/robots.txt): `User-agent: *` with no Disallow. Every crawler, AI crawlers included, is permitted on every path. - [MCP discovery](https://customdomain.ai/.well-known/mcp.json): server endpoint, transport and auth metadata. - [docs llms.txt](https://docs.customdomain.ai/llms.txt): the documentation index, maintained separately from this file. - Structured data: a single schema.org `@graph` in the head of every page here — one Organization, its EverJust Company parent, WebSite, SoftwareApplication, Service and a DefinedTermSet of the glossary. ## What is included - **Record coverage**: A, AAAA, CNAME, apex ALIAS/ANAME, TXT, MX, SPF (merge), DKIM, DMARC, CAA, wildcard, and 301 redirects -- 19 templates, applied singly or as atomic groups. - **Provider coverage**: 63 providers, routed per provider to Domain Connect (2), OAuth (6), direct API (17) or guided manual setup (38); 18 templates are merged upstream in the Domain Connect protocol's official registry. - **Automatic TLS**: ACME issuance and renewal, multi-tenant, fail-closed, with optional CAA pinning. - **Verification** by TXT token, applied atomically with the serving records where the provider allows it. - **Drift monitoring** against a declared baseline of live public DNS. - **Domain registration and resale**, including real-time cheapest-price quotes. - **Share links** that hand a prefilled connect flow to whoever holds the DNS. - **Interfaces**: the widget, a JavaScript/TypeScript SDK (`customdomain-js`, `@customdomain/react`), a 67-endpoint REST API with a served OpenAPI 3.1 specification, signed retrying webhooks with a delivery log, and a hosted MCP server. - **Multi-tenant by design**: tenants, members, RBAC and an audit log. ## Key resources - [Documentation](https://docs.customdomain.ai/docs): API reference, DNS setup, widget SDK, webhooks - [MCP server](https://customdomain.ai/mcp-server): hosted Model Context Protocol server, so an agent can search, buy and connect domains directly - [REST API reference](https://docs.customdomain.ai/docs/api-reference): OpenAPI 3.1 specification - [Domain Connect templates](https://github.com/Domain-Connect/Templates): 18 templates merged upstream under providerId customdomain.ai ## Where else CustomDomain exists - [MCP registry (official)](https://registry.modelcontextprotocol.io/v0/servers?search=customdomain): canonical registry record: ai.customdomain/mcp v0.4.0, active, remote streamable-http at mcp.customdomain.ai/mcp - [Domain Connect templates](https://github.com/Domain-Connect/Templates): 18 templates merged upstream under providerId customdomain.ai; ranked 2nd of 695 providers by template count in stats.domainconnect.org - [GitHub organization](https://github.com/CUSTOM-DOMAIN-APP): 10 public repositories, including the SDK, the MCP server and the docs - [npm: customdomain-js](https://www.npmjs.com/package/customdomain-js): the JavaScript SDK - [npm: @customdomain/react](https://www.npmjs.com/package/@customdomain/react): the React component that renders the widget - [LinkedIn](https://www.linkedin.com/company/connectcustomdomain/) - [X](https://x.com/customdomainai) - [Product Hunt](https://www.producthunt.com/products/custom-domain) - [PulseMCP](https://www.pulsemcp.com/servers/customdomain): MCP directory entry, owner-managed ## Product - [About](https://customdomain.ai/about) - [Brand](https://customdomain.ai/brand) - [Churn-tax calculator](https://customdomain.ai/churn-tax-calculator) - [Connect Domain Widget: Embeddable Domain Onboarding](https://customdomain.ai/connect-domain-widget) - [Connect a Custom Domain](https://customdomain.ai/connect-custom-domain) - [Custom Domains API: Add Customer Domains Programmatically](https://customdomain.ai/custom-domain-api) - [Custom Domains MCP Server for Claude, Cursor and ChatGPT](https://customdomain.ai/mcp-server) - [Custom Domains for SaaS](https://customdomain.ai/custom-domains-for-saas) - [Custom domain setup guides](https://customdomain.ai/guides) - [Custom domains glossary: BYOD, multi-tenant TLS, apex vs CNAME](https://customdomain.ai/glossary) - [Domain Fundamentals Course](https://customdomain.ai/domain-fundamentals-course) - [Domain Health Check](https://customdomain.ai/domain-health-check) - [Domain onboarding grader](https://customdomain.ai/domain-onboarding-grader) - [Features](https://customdomain.ai/features) - [Home](https://customdomain.ai/) - [How It Works](https://customdomain.ai/how-it-works) - [Live demo](https://customdomain.ai/live-demo) - [One-Click DNS Setup for SaaS | CustomDomain™](https://customdomain.ai/one-click-dns-setup) - [Pricing](https://customdomain.ai/pricing) - [Switching to CustomDomain™](https://customdomain.ai/switching) - [Whitepaper: The State of Custom Domain Infrastructure](https://customdomain.ai/whitepaper) - [Why custom domains are hard](https://customdomain.ai/why-custom-domains-are-hard) - [Why your users should never touch DNS](https://customdomain.ai/why-your-users-should-never-touch-dns) ## Guides - [How to Add Custom Domains to Your SaaS: DNS, Verification, and TLS](https://customdomain.ai/guides/add-custom-domains-to-your-saas) - [How to Let Your Customers Manage Their Own Domains](https://customdomain.ai/guides/let-customers-manage-their-own-domains) - [How to Manage Client Domains: The Agency Playbook](https://customdomain.ai/guides/manage-client-domains) - [How to Set Up a Custom Domain (Step by Step Guide)](https://customdomain.ai/guides/how-to-set-up-a-custom-domain) - [How to automate TLS for customer domains](https://customdomain.ai/guides/automate-tls-for-customer-domains) - [How to let AI agents connect domains (MCP) | CustomDomain™](https://customdomain.ai/guides/connect-domains-with-ai-agents) ## Comparisons - [Approximated Alternative: CustomDomain™ Compared](https://customdomain.ai/compare/approximated) - [Cloudflare for SaaS Alternative: Pricing and Comparison](https://customdomain.ai/compare/cloudflare-for-saas) - [CustomDomain™ vs Entri: Pricing, Features, Alternative](https://customdomain.ai/compare/entri) - [Domain Connect vs a managed custom-domain service](https://customdomain.ai/compare/domain-connect) - [SaaS Custom Domains vs a managed custom-domain service](https://customdomain.ai/compare/saas-custom-domains) ## By platform type - [For AI agents](https://customdomain.ai/for/ai-agents) - [For agencies & white-label](https://customdomain.ai/for/agencies-white-label) - [For creator tools](https://customdomain.ai/for/creator-tools) - [For e-commerce platforms](https://customdomain.ai/for/ecommerce-platforms) - [For site builders](https://customdomain.ai/for/site-builders) ## Glossary - [Apex domain vs CNAME: root vs subdomain for custom domains](https://customdomain.ai/glossary/apex-domain-vs-cname) - [Bring your own domain (BYOD): what it means for SaaS](https://customdomain.ai/glossary/bring-your-own-domain) - [CNAME Flattening Explained: Apex Domains and SaaS](https://customdomain.ai/glossary/cname-flattening) - [Custom Domain vs Subdomain: What's the Difference?](https://customdomain.ai/glossary/custom-domain-vs-subdomain) - [Custom Domains as a Service (CDaaS): Definition and Guide](https://customdomain.ai/glossary/custom-domains-as-a-service) - [Domain Connect Protocol: What It Is and Its Limits](https://customdomain.ai/glossary/domain-connect-protocol) - [Multi-tenant TLS: SSL for many customer domains, explained](https://customdomain.ai/glossary/multi-tenant-tls) - [On-demand TLS (ACME automation): Automate Let's Encrypt for Customer Domains](https://customdomain.ai/glossary/on-demand-tls) - [Vanity Domain: Meaning vs Custom and Branded Domains](https://customdomain.ai/glossary/vanity-domain) ## Writing - [We publish 18 Domain Connect templates. Here is what that does not buy you.](https://customdomain.ai/blog/custom-domain-blog-2/what-18-domain-connect-templates-dont-buy-you-50): A merged template is a published record, not a live integration. The standard's own list names nine DNS providers with live implementations; six of them are in our census of 63. - [Let's Encrypt rate limits when you issue certificates for customer domains](https://customdomain.ai/blog/custom-domain-blog-2/lets-encrypt-rate-limits-for-custom-domain-platforms-49): The number everyone quotes is 50 certificates per registered domain per week. For a platform connecting customer-owned domains it is almost never the one that stops you. - [Six domain MCP servers, and what each lets an agent finish](https://customdomain.ai/blog/custom-domain-blog-2/six-domain-mcp-servers-and-which-ones-let-the-agent-finish-48): Six domain vendors now ship an MCP server. What separates them is whether the agent can complete a purchase or a DNS change, or only hand a link back to a human. - [What registrars require before they issue a domain registration API key](https://customdomain.ai/blog/custom-domain-blog-2/what-every-registrar-api-requires-before-it-gives-you-a-key-47): The endpoint list is almost never the blocker. The eligibility gate is, and it is rarely documented anywhere near the reference you are reading. - [One thousand downloads](https://customdomain.ai/blog/custom-domain-blog-2/one-thousand-downloads-45): The customdomain.ai SDK passed a thousand downloads on npm in its first month — what that number counts, and what the first month of real integrations taught us. - [How to evaluate an Entri alternative](https://customdomain.ai/blog/custom-domain-blog-2/how-to-evaluate-an-entri-alternative-46): A method, not a feature grid: the questions about provider coverage, apex domains, CAA, propagation and pricing shape that actually separate custom-domain vendors. - [Automatic SSL for Custom Domains: Why a Verified Domain Still Isn't Live](https://customdomain.ai/blog/custom-domain-blog-2/automatic-ssl-for-custom-domains-why-a-verified-domain-still-isn-t-live-36): Automatic TLS issuance on verification, zero customer action - [Why We Built CustomDomain™: From a Retention Problem to Branded AI Agents](https://customdomain.ai/blog/custom-domain-blog-2/why-we-built-custom-domain-44): How a retention problem at CustomAgents.io revealed why customer-facing AI agents need branded custom domains - [Why Every Lovable App Deserves a Custom Domain](https://customdomain.ai/blog/custom-domain-blog-2/why-every-lovable-app-deserves-a-custom-domain-43): Ship your AI-built app on yourbrand.com, not a shared subdomain - [Why Does DNS Record Validation Matter Before Verification Runs?](https://customdomain.ai/blog/custom-domain-blog-2/dns-record-validation-34) - [Why Should Your SaaS Detect a Customer's DNS Provider Automatically?](https://customdomain.ai/blog/custom-domain-blog-2/detect-dns-provider-automatically-32) - [Should You Build or Buy Custom Domains for Your SaaS Product?](https://customdomain.ai/blog/custom-domain-blog-2/custom-domains-for-saas-build-vs-buy-31): The honest build vs. buy framework, with real numbers. - [How Do You Migrate Custom Domains Off a Hand-Rolled DNS Setup?](https://customdomain.ai/blog/custom-domain-blog-2/how-do-you-migrate-custom-domains-off-a-hand-rolled-dns-setup-30): A parallel-run architecture and 30-day cutover plan for platform teams retiring in-house domain connection - [What White Label Custom Domains Actually Cost an Agency to Run](https://customdomain.ai/blog/custom-domain-blog-2/what-white-label-custom-domains-actually-cost-an-agency-to-run-28) - [Entri alternatives in 2026: six custom domain platforms compared](https://customdomain.ai/blog/custom-domain-blog-2/entri-alternatives-in-2026-six-custom-domain-platforms-compared-27): Six credible ways to let customers connect their own domains, compared on pricing, automation depth, and TLS, with our own product disclosed up front. - [OAuth, But for Your DNS Zone: How One-Click Domain Setup Stays Safe](https://customdomain.ai/blog/custom-domain-blog-2/oauth-but-for-your-dns-zone-how-one-click-domain-setup-stays-safe-26): Automatic DNS changes sound scary until you notice they run on the same rails as delegated login. - [It Should Work Like Pairing a Bluetooth Speaker](https://customdomain.ai/blog/custom-domain-blog-2/it-should-work-like-pairing-a-bluetooth-speaker-25): The two systems sort out the technical details, and your customer just gives permission. - [The 20 Point Renewal Gap Hiding in Your Unused Domains](https://customdomain.ai/blog/custom-domain-blog-2/the-20-point-renewal-gap-hiding-in-your-unused-domains-24): The churn you blame on price is usually an activation problem, and it lives at the DNS step. - [One File Replaced Sixteen Help Pages: A Developer's Onboarding Cleanup](https://customdomain.ai/blog/custom-domain-blog-2/one-file-replaced-sixteen-help-pages-a-developer-s-onboarding-cleanup-23): Trading a stale screenshot guide and a brittle verifier loop for one declaration of the records we need. - [From Thirty Minutes to Thirty Seconds: The Agency That Stopped Being the Translator](https://customdomain.ai/blog/custom-domain-blog-2/from-thirty-minutes-to-thirty-seconds-the-agency-that-stopped-being-the-translator-22): A web agency owner mastered per-registrar DNS quirks, then watched one-click setup make that skill unnecessary. - [When Domain Setup Becomes a Retention Metric](https://customdomain.ai/blog/custom-domain-blog-2/when-domain-setup-becomes-a-retention-metric-21): A 60 percent DNS-setup completion rate looked fine until we checked who was still around 90 days later. - [The Support Ticket That Arrives a Hundred Times](https://customdomain.ai/blog/custom-domain-blog-2/the-support-ticket-that-arrives-a-hundred-times-20): When the same DNS failure lands in your queue a hundred times, it stopped being a user problem. - [The DNS Step Nobody Warns You About](https://customdomain.ai/blog/custom-domain-blog-2/the-dns-step-nobody-warns-you-about-19): What a motivated, paying customer actually sees the moment they hit the DNS panel, and why they stall. - [One-Click Setup Is Not for Everything: Where the Boundaries Are](https://customdomain.ai/blog/custom-domain-blog-2/one-click-setup-is-not-for-everything-where-the-boundaries-are-18): The consent-based flow shines when a user is present. Here is where it ends and other tools begin. - [Drift Happens: What Breaks After a Custom Domain Is Connected](https://customdomain.ai/blog/custom-domain-blog-2/drift-happens-what-breaks-after-a-custom-domain-is-connected-17): Setup is only the first day. Records get changed, replaced, and removed, and connections quietly break. - [Understanding Propagation: Why Connected Is Not Instantly Live](https://customdomain.ai/blog/custom-domain-blog-2/understanding-propagation-why-connected-is-not-instantly-live-16): The gap between clicking connect and a domain resolving everywhere, explained plainly. - [Putting a Customer's Domain Behind Your Edge, Cleanly and Completely](https://customdomain.ai/blog/custom-domain-blog-2/putting-a-customer-s-domain-behind-your-edge-cleanly-and-completely-15): If your product depends on being in the request path, half-configured domains are the quiet failure you never see. - [HTTPS on a Customer's Domain in One Step, No Second Trip to the DNS Panel](https://customdomain.ai/blog/custom-domain-blog-2/https-on-a-customer-s-domain-in-one-step-no-second-trip-to-the-dns-panel-14): Why the certificate is the hidden second step in custom domains, and how to fold it into the first. - [Custom Email on a Domain, Without Breaking the Customer's Existing Mail](https://customdomain.ai/blog/custom-domain-blog-2/custom-email-on-a-domain-without-breaking-the-customer-s-existing-mail-13): Email DNS is the highest-stakes setup there is, and the failures are quiet. Here is how we keep it safe. - [Scoped, Signed, and Reversible: The Case Against Copy-Paste DNS](https://customdomain.ai/blog/custom-domain-blog-2/scoped-signed-and-reversible-the-case-against-copy-paste-dns-12): How scoped, signed, reversible writes beat pasting DNS values by hand, and where the real boundary sits. - [Kill Your DNS Support Tickets: The Hidden Cost of Manual Setup](https://customdomain.ai/blog/custom-domain-blog-2/kill-your-dns-support-tickets-the-hidden-cost-of-manual-setup-11): Manual domain setup quietly feeds your support queue. Automating the DNS step cuts a real line-item cost. - [Consent You Can Actually Read: The Trust Model Behind Automated DNS](https://customdomain.ai/blog/custom-domain-blog-2/consent-you-can-actually-read-the-trust-model-behind-automated-dns-10): Automating DNS does not hand a SaaS the keys to a customer's zone. The user approves every change. - [The DNS Provider Fragmentation Problem, and How We Absorb It](https://customdomain.ai/blog/custom-domain-blog-2/the-dns-provider-fragmentation-problem-and-how-we-absorb-it-9): There is no single DNS control panel to write a help doc for, so we detect the provider and adapt the flow instead. - [From 40 Minutes to 30 Seconds: How Domain Setup Should Feel](https://customdomain.ai/blog/custom-domain-blog-2/from-40-minutes-to-30-seconds-how-domain-setup-should-feel-8): The same task, two completely different experiences, measured in minutes and success rates. - [Better Docs Will Never Fix Your Custom Domain Onboarding](https://customdomain.ai/blog/custom-domain-blog-2/better-docs-will-never-fix-your-custom-domain-onboarding-7): DNS drop-off is not a writing problem, so a better setup guide cannot solve it. - [The Three-Party Gap That Makes DNS Setup Impossible for Normal People](https://customdomain.ai/blog/custom-domain-blog-2/the-three-party-gap-that-makes-dns-setup-impossible-for-normal-people-6): Custom domain setup fails because three parties are involved and none of them talk to each other. - [Half of Your Customers Fail at the Last Step. Here Is Why.](https://customdomain.ai/blog/custom-domain-blog-2/half-of-your-customers-fail-at-the-last-step-here-is-why-5): The DNS step quietly loses about half the paying customers who reach it, and it does not have to. - [Announcing CustomDomain™: Custom Domains for SaaS, Without the Support Tickets](https://customdomain.ai/blog/custom-domain-blog-2/announcing-custom-domain-custom-domains-for-saas-without-the-support-tickets-4) - [How Custom-Domain Onboarding Actually Works: DNS, SSL, and the Edge](https://customdomain.ai/blog/custom-domain-blog-2/how-custom-domain-onboarding-actually-works-dns-ssl-and-the-edge-3) - [Custom-domain onboarding, on flat, predictable tiers](https://customdomain.ai/blog/custom-domain-blog-2/custom-domain-onboarding-on-flat-predictable-tiers-2) - [Let Your Users Bring Their Own Domain, Automatically](https://customdomain.ai/blog/custom-domain-blog-2/let-your-users-bring-their-own-domain-automatically-1) ## Optional - [Applicant Privacy Notice](https://customdomain.ai/applicant-privacy) - [Book](https://customdomain.ai/book) - [Contact Us](https://customdomain.ai/contactus) - [Cookie policy](https://customdomain.ai/cookie-policy) - [Privacy](https://customdomain.ai/privacy)