> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Private Names

> Each private function has a private name that the Network's DNS resolver answers with the ingress address.

Each function with `ingress = true` has a private name.

```text theme={null}
{func-name}-{func-id-prefix}.private.telnyxcompute.com
```

`func-id-prefix` is the first 10 characters of the function's ID, as in its [public URL](https://developers.telnyx.com/docs/edge-compute/configuration/routing.md).

## DNS Resolver

The DNS resolver on the [*Network*](https://developers.telnyx.com/docs/network/overview.md) answers every private name with the address of the [ingress](https://developers.telnyx.com/docs/edge-compute/private-ingress/how-it-works/ingress.md). It resolves other names as the public internet does.

A WireGuard peer configuration names the resolver once the resolver is provisioned, so a peer requests a private function by name. Devices on a tailnet reach the resolver through a Tailscale Subnet Router and split DNS: see [Tailscale](https://developers.telnyx.com/docs/edge-compute/private-ingress/how-it-works/tailscale.md).

```bash theme={null}
curl http://hello-private-16b97074-7.private.telnyxcompute.com/
```
