# Infrastructure

No data is ever at rest outside the EU. No data is ever at rest on a US company’s server. This is what each part of fivebar holds, in memory or on disk, and for how long.

## Where each part runs

- **Our servers in Germany, at Hetzner**, keep accounts, sites and their figures. They count the visits, draw every page and answer the API and apps.
- **Servers near your visitors**, marked on the map, take each visitor’s request, and fivebar’s DNS sends each visitor to the nearest. They’re fivebar’s own custom-built CDN: they serve the tracking script, collect the stats and pass every other request on to Germany. They can be run by companies anywhere, the US among them, so they keep nothing on disk: what they need, they hold in memory alone.

| Part | Provider | Based in | Runs in | At rest |
| --- | --- | --- | --- | --- |
| Servers near your visitors | Hetzner | Germany | Nuremberg, Germany | Nothing, ever |
|  | Vultr | United States | Atlanta, United States | Nothing, ever |
|  | OVHcloud | France | Singapore, Singapore | Nothing, ever |
|  | Vultr | United States | Los Angeles, United States | Nothing, ever |
|  | xHosts | United Kingdom | Glasgow, United Kingdom | Nothing, ever |
| Where everything is kept | Hetzner | Germany | Germany | Accounts, sites and their figures |
| Backups | Hetzner | Germany | Germany | No backup yet |
| Sending mail | AhaSend | Netherlands | Europe | What it sends |
| fivebar’s inbox | Proton | Switzerland | Switzerland, Germany or Norway | Email sent to fivebar, encrypted so Proton cannot read what it says |
| DNS | Bunny | Slovenia | Around the world | Nothing of yours |
| Code and deploys | GitHub | United States | United States | Code only |

## What each part holds, and for how long

| What | Where | How long |
| --- | --- | --- |
| A visitor’s IP address and user agent | In memory on the server near them | While the request is answered; never on disk |
| The day’s secrets, which make a visitor code | On our servers in Germany, and in memory on the servers near visitors | Until the day is out in each time zone |
| What a page sent, once coded | In memory, compressed, on the server near the visitor | Sent on to Germany within seconds; a day at most |
| Each site’s settings | On our servers in Germany, and in memory on the servers near visitors | Until changed, or the site is deleted |
| Visitor codes and the visits still going on | On our servers in Germany | 30 hours |
| The counts | On our servers in Germany | Until the site is deleted |
| Accounts, the beta’s list, connected apps and tokens | On our servers in Germany | As [Privacy](https://fiveb.ar/privacy/index.md) says |
| Logs of what goes wrong, never with a visitor’s IP address or an account’s email address | On our servers in Germany, and in memory on the servers near visitors | For finding faults |

## Services we use

- **Bunny** answers for fivebar’s name in DNS. A visitor’s own internet provider asks it which server is nearest, and may tell it part of the visitor’s IP address to answer that. No request is ever sent to it.
- **Proton**, a Swiss company, keeps fivebar’s own inbox, holding email sent to fivebar in Switzerland, Germany or Norway, encrypted so that Proton cannot read what it says.

What you send elsewhere yourself, to an app you connect or to the inbox an email report goes to, is yours to place, under their terms.
