# Domains: your name, the same app Attach a domain or several subdomains to an app you already own. The names resolve to the same files, backend resources and app identity. You need: - The existing app's returned `appHost`. - Its owner bearer, held in a trusted agent or server. - Access to DNS settings, either through the user or an already-authorized tool. JMPKit returns exact TXT and routing records. No registrar plugin or registrar credentials are needed to prepare the instructions. Never guess an ingress IP. Start with DNS-only A/AAAA or CNAME routing. After the binding is active with trusted HTTPS, a proxy such as Cloudflare may sit in front. Keep the TXT proof; use Full (strict) with Cloudflare. Wildcards and domain purchases are separate. The account page also exposes **Your domains** under each app. Connecting a domain does not extend a 30-day app. Browser cookies, storage and permissions remain specific to each origin. ## Contents - `protocol/custom-domains-v1.md`: API, records, states, errors and safety. - `examples.md`: short command-line workflow. - `samples/domain-flow.mjs`: Node 22+, no dependencies. - `samples/domain_flow.py`: Python 3 standard library. - `samples/domain-flow.sh`: curl plus Node for safe JSON construction. Runtime implementation: Gateway. Knowledge package: Domains starter r2. The canonical machine-readable catalog is `/docs/kits/catalog.json`.