Every published store is served at https://{sid}.inbs.dev (Demo: https://demo-{sid}.inbs.dev) by the tenant fleet. A store can also be reached on its own domain, bound DNS-first — there is no server-side domain registry, DNS is the state.
Binding a domain#
- In CRM & Studio open Website › Hosting. The card shows the record values for your store.
- Create the records at your DNS provider:
- the
_drop.{domain}TXT record carryingdrop-site={env}.{sid}.{site_key}— the store'ssite_keyis unguessable, so the TXT proves both domain-owner and store-owner intent; - an A/AAAA record pointing at the fleet (or a CNAME where the target advertises one — the card says which).
- the
- Click Connect. The server validates the TXT record and, on success, registers a certificate for the domain. The card then shows the certificate status and live checks (TXT, A/AAAA, HTTPS).
The first bound domain becomes the store's canonical site URL (used in sitemaps and canonical links).
How it resolves#
The tenant server binds an unknown host lazily on first request: _drop.{host} TXT → drop-site={env}.{sid}.{site_key} → resolve the store → the TXT's key must match the store's site_key. Transport failures never unbind a domain; only two consecutive sweeps that positively confirm a missing or mismatched record do. Removing the TXT record (or Disconnect in CRM & Studio) unbinds it.
Before the record exists#
A domain whose A/AAAA (or CNAME) already reaches the fleet but has no valid _drop TXT record does not answer a blank 404: the server shows a DNS onboarding page (HTTP 404, noindex) naming the domain, pointing at Website › Hosting for the record (the page never spells it out — the value carries the project's private site key) and saying why the last check failed — record missing, DNS unreachable, an environment this server doesn't host, a project that isn't hosted here, or a key that no longer matches (copy the value from the Hosting card again). The page is in English or Czech after the browser's language, and Check again simply reloads it; the negative result is cached for about a minute, so a just-created record binds within that window — or at once through Connect on the Hosting card, whose failed answer carries the same verdict as detail.
Requirements#
- Web hosting must be enabled for the store (automatic for new stores; Enable web hosting on the card repairs older ones).
- The store must be published — an unpublished store answers
404on every host, custom domains included. - Custom domains are a paid-plan feature in CRM & Studio (platform administrators bypass).