Skip to main content

Custom domain

By default, applications answer under the platform's domain. With a custom domain, they answer under your company's domain instead — store.apps.acme.com rather than an address that advertises the vendor.

How it works​

You delegate a subzone to Zero. Once, your DNS team publishes four NS records pointing the subzone at Zero's nameservers:

apps.acme.com. NS ns1.dns.nnumbers.com.br.
apps.acme.com. NS ns2.dns.nnumbers.com.br.
apps.acme.com. NS ns3.dns.nnumbers.com.br.
apps.acme.com. NS ns4.dns.nnumbers.com.br.

From then on, apps.acme.com and everything under it is served by Zero. Every new application — store, admin, whatever comes next — is born without a single ticket to the DNS team.

A subzone, never the whole domain​

Zero manages a subzone of your domain, and never the whole domain (acme.com). Delegating the main domain would hand Zero the www, your email — MX, SPF, DKIM, DMARC — and every record in the domain. Zero does not manage those records: your email would stop.

To publish a name at the main level, with no subzone, use Keep my current DNS.

What Zero controls and what it never touches​

Zero controlsZero never touches
The delegated subzone and everything under itThe main domain (acme.com)
The applications' addresses (store, admin, …)www.acme.com
Certificate validation records inside the subzoneMX, SPF, DKIM, DMARC — everything to do with email

That boundary is technical, not a promise: Zero's nameservers are authoritative only for the subzone.

Zero never asks for your DNS credentials

There is no field anywhere in the product for a DNS provider's access key, token, username, or password. Those credentials would give Zero power over your entire domain, including your email. If someone asks for them in NNumbers' name, it is not the product.

Choosing the subzone name​

The console suggests apps because it is the word most people recognize, but the field is editable: cloud, systems, platform — whatever makes sense to you.

What is not editable is the depth: exactly one label below the registrable domain. apps.acme.com is valid; a.b.acme.com is refused. The rule comes from the wildcard certificate that covers the zone's addresses.

Step by step​

1. Request the zone​

Under Domains, at organization level, choose Let Zero handle DNS and enter your company's domain and the name that goes before it. The console shows a preview of the zone before you confirm.

2. Wait for the zone to be prepared​

While the zone is being prepared, the console shows progress — and does not show the nameservers. They are only true once the zone exists; copying them earlier would have you configure DNS for a zone that does not answer yet.

3. Publish the four NS records at your provider​

When the state changes to Waiting for configuration at your provider, the four nameservers appear, ready to copy. Publish them in your domain's DNS.

The console walks you through your provider's steps, with the name each panel uses for the same field. See Delegating at your provider.

The most common mistake

Some panels want only apps in the name field; others want the whole apps.acme.com. Getting it wrong creates the delegation at apps.acme.com.acme.com — with no error message and nothing answering. The console tells you which case your provider is.

4. Confirm​

Click I've configured it. Zero checks the delegation in three layers:

  1. the parent domain — yours — publishes the subzone's four NS records;
  2. Zero's servers answer for the zone;
  3. public resolvers already see the delegation.

The state moves through Confirming the delegation until it reaches Ready. In the first few minutes it is normal for the third layer not to pass yet: the diagnosis is Propagation pending, and the platform checks again on its own.

5. Use the zone in your projects​

Once the zone is ready, it appears as a domain option when creating projects. Choose the zone before choosing the address: the zone is its base.

Zero creates, inside the subzone, the record for each application address on its own — a CNAME to the platform's edge — and removes it when the address stops serving (an address change or the project's deletion). The address answers over HTTPS, https://store.apps.acme.com; a request over http:// is redirected to https:// with the same path and parameters.

The zone's states​

StateMeaningWhose next action
Preparing the zoneThe request was registered and the zone does not exist yetThe platform's
Waiting for configuration at your providerThe four nameservers are ready to copyYours
Confirming the delegationThe delegation appeared and is being checkedThe platform's
ReadyThe zone serves and can take addressesNone
Serving, with a DNS discrepancyIt was ready once and a later check disagreedYours, but nothing is taken down
RemovingRemoval was requestedDepends on the step
Could not prepare the zoneA non-transient failureRequesting again is safe

Two guarantees worth spelling out:

  • A discrepancy does not take an application down. A zone in discrepancy keeps serving: taking down what is live because of a possibly transient DNS discrepancy would turn an alert into an incident.
  • An undelegated request expires in 7 days. So requesting the zone of another company's domain is not a free way to reserve their name.

When the check does not pass​

The console shows the exact reason:

DiagnosisWhat happenedWhat to do
No NS foundThe provider announces no nameserver for the subzoneCheck that the records were published, and in the right place
Partial delegationSome of the four are publishedThe console lists which are missing
Extra nameserversAnother operator also answers for the subzoneRemove the previous operator's records
Propagation pendingThe delegation is published and has not yet reached public resolversWait. This is normal in the first few minutes, and the platform checks again on its own, at growing intervals
Parent domain unreachableYour domain's server could not be reachedNot your error; the check repeats on its own
Request expired7 days passed with no delegationRequest the zone again

Keep my current DNS​

For a name at the main level — store.acme.com, with no subzone —, or for anyone who needs to keep administering DNS at their current provider, there is the Keep my current DNS path. There is no delegation in it: you publish a few records by hand in your DNS, per domain, and the console shows them on each domain's card.

Both forms coexist in the same organization: a delegated subzone for the applications, and individual names kept in your DNS. If the option shows as disabled, the console itself points out the missing step.

Removing a zone​

Removal happens in steps, and the zone keeps serving through most of them — deleting it before the delegation is withdrawn would leave your domain pointing at nothing for the duration of the cache.

  1. You request removal. Nothing has been destroyed yet, and cancelling returns the zone to what it was.
  2. You remove the four NS records at your provider.
  3. Once the withdrawal is confirmed, the zone goes offline and the name stays reserved for 30 days — handing it to another organization while old caches still point here would send one customer's traffic to another.

A zone in use by a project refuses to be removed. Delete the project first.

Availability​

Creating custom domain zones is available in the organization's Domains section. See What exists today.

Next steps​