# FAQ

> Common questions about routeup.

## Why `.localhost` instead of `.test` or `/etc/hosts` entries?

`.localhost` is reserved by RFC 6761, and browsers and resolvers short-circuit
`*.localhost` to `127.0.0.1` automatically. That means no DNS records, no
`/etc/hosts` editing, and no `dnsmasq`; any `*.localhost` name works.
`.test` would require local DNS plumbing, and hosts-file entries have to be
maintained by hand per name.

## Why HTTPS for local development?

Because production is HTTPS. Secure cookies, `SameSite=None`, service workers,
and SDKs that reject plain-`http` origins all behave differently over HTTPS, so
testing on `http://localhost:3000` hides problems until deploy. routeup serves
real, trusted HTTPS locally so those behaviors show up while you develop.

## Does routeup phone home?

routeup has no telemetry. Local routing makes no outbound connection. Exposure
connects only to the routeup server you select, and `routeup update` commands
contact GitHub to check releases.

## Can I use a custom domain instead of `routeup.dev`?

Yes. The server's public suffix is configurable, run your own
[server](/docs/self-hosting/running-the-server) with `--domain your.domain` and
your own DNS and TLS. The hosted `routeup.dev` is just one deployment of the same
binary.

## Do I need a token or an account?

Not for local use. `routeup setup` plus `routeup serve` gives you
`https://<name>.localhost` with no server contact. A token is only needed for
**reusable, named** public routes. A server with a public namespace enabled can
also hand out token-less, ephemeral public URLs.

For a reusable URL on the hosted service, [request a token](/docs/getting-started/using-a-token#request-a-hosted-token).

## What's the difference between `serve --expose` and `expose`?

`routeup serve --expose` first registers and holds a local `*.localhost` route,
then exposes the same targets publicly.

Standalone [`routeup expose`](/docs/cli-reference/expose) reuses a matching
active route's targets when one exists. Otherwise it resolves targets from
flags, environment, or config and opens a public-only exposure without
registering a local route.

## Why are public names a single label?

A publicly-trusted wildcard certificate (`*.<base>`) covers exactly one label,
so every public host is one label under a namespace base. Locally any depth
works. When exposing a dotted route such as `api.example-app`, routeup normalizes it to
public label `api-example-app`. See [Routes](/docs/concepts/routes).

## What happens to exposed routes when my laptop sleeps?

The outbound tunnel drops. The server holds a token-backed claim for a 30-second
grace window while the client reconnects with backoff. If it resumes within that
window, the same name is kept. Public-namespace claims have no
grace window and are released immediately.

## Which operating systems are supported?

macOS and Linux (arm64 and amd64) for v1. Windows is not supported yet.
