Product
Error tracking on your own Hetzner server, without running it yourself
Bring your own cloud (BYOC) means the server that stores your errors is in your Hetzner Cloud project and on your Hetzner bill. Belvador creates it, keeps it updated and backed up, and reads it only through the app your workspace signs in to.
The short answer#
Your errors are stored on a server in your own Hetzner Cloud project, billed to you by Hetzner.
Belvador creates that server, applies signed updates, backs it up daily and tests a restore every week.
Belvador's control plane keeps settings and counts, not event bodies.
The Hetzner token goes from your browser to Belvador's vault only, and you can make the vault delete it once the node is ready.
Limits: Hetzner Cloud only, one node per workspace, EU locations.
How it works#
You create a dedicated Hetzner project and give Belvador an API token for it. The token goes from your browser straight to Belvador's vault, never through the app or its database.
Belvador creates a firewall and a server — a CX23, or an ARM CAX11 when the CX23 is sold out — in Falkenstein, Nuremberg or Helsinki, hardens the host and installs the node software. In our tests this took about 90 seconds.
Your SDKs send to
ingest.belvador.dev. The edge checks the key and limits, then passes the event to your node, which scrubs it again and stores it.When you open an issue, your browser reads it from the node through the edge with a short-lived signed ticket. Belvador's servers never render event data.
The full walk-through is Connect Hetzner.
Where each piece of data lives#
| Place | What it holds |
|---|---|
| Your node, in your Hetzner project | Events, issues, stack traces, attachments, source maps, traces and logs |
| Belvador's edge | Events in transit. While your node is unreachable, a copy sealed to your node's key, for up to 14 days |
| Belvador's control plane | Account, workspace and project settings, counts, monitor definitions |
| Cloudflare R2 | Daily backups, encrypted on the node before upload |
Uptime checks and ping-URL monitors are the published exceptions: Belvador's monitor service keeps their results and timings so it can alert while your node is down, never response bodies. The details are in data protection.
Token custody#
| Mode | What happens |
|---|---|
| Managed | The vault keeps the Hetzner token encrypted, so resizing, rebuilding and deleting run on their own |
| Strict | The vault deletes the token once the node is ready. Later operations ask you for a temporary token |
The vault is the only part of Belvador that talks to Hetzner. Its token rules are on the security page.
What Belvador does for you#
Updates. Signed node releases, checked every 15 minutes, with a backup before each upgrade and rollback if the new version fails to start (updates).
Backups. Every day at 03:00 node time, encrypted on the node, kept 7 daily and 4 weekly, with a weekly restore drill. You choose whether Belvador's vault or only you hold the recovery key (backups).
Health. The Node page shows CPU, memory, disk and ingest rate. A full disk, sustained memory pressure or an update channel that has been silent for 24 hours turns the node Degraded, with the reason and the fix (node health).
Repairs. Resize, replace-and-restore and delete are actions on the Node page. You do not need SSH.
What it costs#
Hetzner bills the server to you; a CX23 lists at €5.99 a month before VAT and the IPv4 address. Belvador is free during the beta (pricing).
| Server | Shared vCPU | RAM | NVMe disk | Price/month (excl. VAT) |
|---|---|---|---|---|
| CX23 (default) | 2 (Intel/AMD) | 4 GB | 40 GB | €5.99 |
| CAX11 (when CX23 is sold out) | 2 (Ampere ARM) | 4 GB | 40 GB | €6.49 |
| CPX12 | 1 (AMD) | 2 GB | 40 GB | €11.99 |
Hetzner list prices read on Oct 26, 2026, including the IPv4 address every node gets (€0.50/month) and before tax. Hetzner bills you directly, in your Hetzner account's currency; prices and per-location availability change: hetzner.com/cloud.
Limits#
Hetzner Cloud only. No AWS, GCP, Azure or bare metal today.
One node per workspace. No clustering or automatic failover; a lost machine is replaced and restored from the latest backup, and errors received after that backup and not held at the edge are lost.
EU locations. Nodes are created in Falkenstein, Nuremberg or Helsinki.
Managed software. You own the server, but the node software is Belvador's and is changed through the app, not by hand.
Questions#
Can Belvador staff read my errors?#
The control plane does not store event bodies, and buffered copies at the edge are sealed to your node's key. Event data is shown to members of your workspace through the app: when you open it, Belvador's edge passes it from your node to your browser in memory and stores none of it. Support access rules are on the security page.
What happens to my data if I leave?#
Delete the node and Belvador deletes the server and its firewall in your Hetzner project after a 15-minute delay you can undo. A final backup is started when deletion is prepared.
Posts on this topic
All posts- How to send production errors to an LLM safelyBefore you paste an error into ChatGPT, Claude or a coding agent: strip secrets, fence untrusted text, check retention. A 72-run injection test shows why.
- Observability MCP gives an agent access, not a diagnosisWhat AI agents do with error-tracker MCP tools: 60 runs, three models. All found the issue, fewer the cause, and most resolved a live bug when they could.
- How to scrub PII from error monitoring without losing contextA real data scrubber on 16 synthetic error samples: what pattern rules remove, what they miss, what they remove by mistake, and what to add in beforeSend.
- Self-hosted Sentry vs BYOC on Hetzner: what you actually runSelf-hosted Sentry 26.10.0 measured: 53 services, 2.74 GB of images, 16 GB RAM and upgrade hard stops, next to one managed node in your Hetzner project.
Try it on your own Hetzner project
Free during the beta. Hetzner bills the server; Belvador never bills per event.