---
description: HTTP headers used by Privacy Proxy for authentication, geolocation, and observability, including request and response formats.
title: HTTP headers
image: https://developers.cloudflare.com/og-docs.png
---

[Skip to content](#main-content)

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

# HTTP headers

Last updated Sep 4, 2026|Copy as Markdown| [View as Markdown](https://cb4c3fd6.previews.developers.cloudflare.com/privacy-proxy/reference/http-headers/index.md)| [Agent setup](https://cb4c3fd6.previews.developers.cloudflare.com/agent-setup/)

This page documents the HTTP headers used by Privacy Proxy for authentication, geolocation, and observability. For full observability details, refer to [GraphQL Analytics API](https://cb4c3fd6.previews.developers.cloudflare.com/privacy-proxy/reference/metrics/graphql/) and [OpenTelemetry](https://cb4c3fd6.previews.developers.cloudflare.com/privacy-proxy/reference/metrics/opentelemetry/).

## Request headers

Clients include the following headers when connecting to Privacy Proxy.

### `Proxy-Authorization`

Authenticates the client to the proxy. Required for all requests.

Pre-shared key format:

```http
Proxy-Authorization: Preshared <key>
```

Privacy Pass token format:

```http
Proxy-Authorization: PrivateToken token=<base64-encoded-token>
```

| Parameter | Description |
| --- | --- |
| `<key>` | The pre-shared key provided by Cloudflare |
| `<base64-encoded-token>` | A base64-encoded Privacy Pass token |

### GraphQL Analytics API request headers

When querying Privacy Proxy metrics via the GraphQL Analytics API, send a `POST` request to `https://api.cloudflare.com/client/v4/graphql`. For required headers and authentication details, refer to [GraphQL Analytics API](https://cb4c3fd6.previews.developers.cloudflare.com/privacy-proxy/reference/metrics/graphql/).

### `sec-ch-geohash`

Specifies the client's geographic location for egress IP selection. Optional but recommended for accurate geolocation.

```http
sec-ch-geohash: <geohash>-<country_code>
```

| Parameter | Description |
| --- | --- |
| `<geohash>` | A [geohash ↗](https://en.wikipedia.org/wiki/Geohash) string (typically 4-8 characters) |
| `<country_code>` | ISO 3166-1 alpha-2 country code |

*Examplehttp*

```http
sec-ch-geohash: u4pruydqqvj-GB
```

This example specifies a location in the United Kingdom.

---

## Response headers

Privacy Proxy includes the following headers in responses.

### `Server-Timing`

Provides timing information about proxy processing. This is part of the [OpenTelemetry](https://cb4c3fd6.previews.developers.cloudflare.com/privacy-proxy/reference/metrics/opentelemetry/) observability pipeline.

```http
Server-Timing: proxy;dur=<milliseconds>
```

| Parameter | Description |
| --- | --- |
| `<milliseconds>` | Processing time in milliseconds introduced by the proxy |

*Examplehttp*

```http
Server-Timing: proxy;dur=8.2
```

### GraphQL Analytics API response headers

For response headers returned by the GraphQL API, refer to [GraphQL Analytics API](https://cb4c3fd6.previews.developers.cloudflare.com/privacy-proxy/reference/metrics/graphql/).

---

## `CONNECT` request format

A complete `CONNECT` request to Privacy Proxy looks like this:

```http
CONNECT example.com:443 HTTP/2
Host: example.com
Proxy-Authorization: Preshared abc123xyz
sec-ch-geohash: 9q8yy-US
```

The proxy responds with a status code indicating success or failure:

| Status | Meaning |
| --- | --- |
| `200 OK` | Tunnel established successfully |
| `403 Forbidden` | Authentication failed |
| `502 Bad Gateway` | Could not connect to destination |
| `503 Service Unavailable` | Proxy temporarily unavailable |

Was this helpful?

YesNo

## On this page

[![](https://cb4c3fd6.previews.developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://cb4c3fd6.previews.developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/privacy-proxy/reference/http-headers/#page","headline":"HTTP headers · Cloudflare Privacy Proxy docs","description":"HTTP headers used by Privacy Proxy for authentication, geolocation, and observability, including request and response formats.","url":"https://developers.cloudflare.com/privacy-proxy/reference/http-headers/","inLanguage":"en","image":"https://developers.cloudflare.com/og-docs.png","dateModified":"2026-09-04","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```
