drift Docs
Start
What is Drift?
The tour, if you are new here.
Why Drift?
The case for a smaller cloud.
Getting started
Nothing to deployed, in one command.
Architecture
How a slice is put together.
What it costs
The free grant, five unit prices, two rules.
Build
Canvas
Static sites, same origin as your API.
Tools
Operate
Auth
Accounts, tokens and scopes.
Security
Boundaries, sandboxing and hardening.

Atomic Request headers

Your function receives the headers the caller sent. That includes your own: webhook signatures like Stripe-Signature or X-Hub-Signature-256, an Idempotency-Key, a traceparent, whatever your application defines. So you can verify a webhook is authentic before acting on it.

Six headers are removed on the way in, and it is worth knowing why:

Header Why it does not reach your function
Cookie / Set-CookieEvery slice shares the ondrift.eu apex, so a cookie scoped to it would be sent to every other slice too. Carry sessions in the Authorization header instead.
X-Forwarded-For / -Host / -Proto, X-Real-IPSet by the platform, so the client address your function sees is the real one and cannot be forged by the caller.

Four headers are written by the platform on every request, overwriting anything the caller sent:

Header Value
X-UsernameThe slice's owner.
X-SliceThe slice name this request was routed to.
X-User-RPMThe slice's requests-per-minute ceiling.
X-User-RuntimeThe per-invocation runtime budget in seconds. The runner reads it to size the kill timer.

X-Request-Id is a correlation id, not an identity.

The edge generates one when the header is absent and preserves it when the caller sends it, so any client can choose its own value. Log it to correlate a request across layers; never authorise on it.