Operations & privacy
patchletter runs on our own machines and on managed services beside them, all in the EU.
A tool that knows which software you operate holds a sensitive list. Where it lives, who can touch it and what we do not run ourselves is written down here. What happens on the server you cannot see from outside. For those points we say what we checked it against.
Where the data lives
Every machine here is named with its operator and its place, not an unnamed cloud region. Application, database and object storage run at Scaleway in Paris, and since the subdomain move on 29 August 2026 analytics, error tracking and the inbound path for our machine-read addresses run on that same instance; independent uptime monitoring runs on our own machine at IONOS in Berlin. The backups of the database go three ways, and the paragraph under the table says which: Paris, Amsterdam, Berlin. Every provider involved is a European company, and every place of processing is inside the EU — the domain's authoritative name servers included.
| Component | Operated by | Location |
|---|---|---|
| Application (web, worker, reverse proxy) | Scaleway SAS — our own instance | Paris, France |
| Database and object storage | Scaleway SAS — managed services | Paris, France |
| Backup copies of the database, every 15 minutes | Scaleway SAS — object storage in a second region | Amsterdam, Netherlands |
| Inbound mail (hello@, legal@ …) and encrypted backup copies | mailbox.org (Heinlein Hosting GmbH) | Berlin, Germany |
| Sign-in links and confirmation email | Scaleway SAS (Transactional Email) | Paris, France |
| Outgoing update and security email | LOGIN SystemHaus GmbH (mailbridge) | Wiesbaden, Germany |
| Analytics (Umami) | Self-hosted, on our instance at Scaleway SAS | Paris, France |
| Error monitoring (Bugsink) | Self-hosted, on our instance at Scaleway SAS | Paris, France |
| Uptime monitoring (status page) | IONOS SE — separate machine, on purpose | Berlin, Germany |
Two addresses are read by the application rather than by a person: dmarc@ (reports from other mail servers about whether forged mail is being sent in our name) and unsubscribe@ (one-click unsubscribe by email). Our mailbox forwards copies of those two — and only those two — to our own instance in Paris, where Postfix hands them to the application over an encrypted connection. A collector for the whole mailbox would also have given the application access to the correspondence at hello@, legal@ and security@.
There is more than one backup of the database, and they sit in more than one country. Scaleway backs up the managed database itself every six hours and keeps those states for seven days — in the same region as the database, which helps against a broken instance and not at all against that region going down. So we pull our own dump every 15 minutes and put it into an object storage of ours in Amsterdam: different region, different country, same provider. And because a provider can fail as a whole, or lock an account, a third set goes into the Drive of mailbox.org (Heinlein Hosting, Berlin) — someone else's storage service, a German one, and what arrives there our own machine has encrypted beforehand (Kopia, AES-256-GCM), so mailbox.org only ever sees ciphertext. Every dump we pull ourselves is checked for readability right after it is written; without that check a truncated dump would sit in the rotation for weeks and look like a backup. No destination lies outside the EU and none of them is a hyperscaler. Our separate machine at IONOS in Berlin carries the status page: status.patchletter.com — it runs at a different operator in a different country, under an IP of its own.
The software we run
No proprietary black box. Every piece here is something SysAdmins run themselves too — the database has been a managed service at Scaleway since the move, everything else we run ourselves. And except for ALTCHA every one of them is tracked in our own catalog, so you can check its update history the same way you would for your own infrastructure.
- Caddy — Reverse proxy and TLS termination for our public hostnames — one instance of it on each machine.
- Node.js — The runtime of the application itself (Next.js on Node 22).
- PostgreSQL — The database — products, subscriptions, releases, everything. Since the move it is a managed service at Scaleway: no public endpoint, reachable only over a private network from our own machine.
- Valkey — Job queue and cache (Redis-compatible).
- ALTCHA — Self-hosted proof-of-work captcha on sign-up and sign-in: your browser solves a puzzle (PBKDF2/SHA-256), our server verifies it. No reCAPTCHA, no Turnstile — the browser contacts exactly one address for it, and it is ours.
- Postfix — On our instance in Paris it receives the machine-read addresses our mailbox forwards there, and passes them to the application.
- Docker Compose — Runs the containerised services on our machines. Postfix and the backup jobs deliberately sit next to it, straight on the host.
- Gatus — Independent uptime monitoring on our separate machine at IONOS in Berlin.
- Bugsink — Self-hosted, Sentry-compatible error tracking on our instance in Paris. Reports reach it from the application and from visitors' browsers — never from a third party and never out of the EU.
- Umami — Self-hosted, cookieless analytics, likewise in Paris.
What we don't do
- No advertising cookies and no consent banner. Only technically necessary cookies are set: one for your chosen language, and when you sign in two more for the session and for binding the login code to your browser.
- No third-party captcha. We host the bot protection on sign-up and sign-in ourselves (ALTCHA, proof-of-work). It sets no cookies and builds no behavioural profile; your browser asks neither Google nor Cloudflare for it.
- No tracking pixels in emails. We do not measure whether you opened a message. Some links do act when you click them, and therefore identify your account — the sign-in link, the unsubscribe link, and the one in an update email that records which version you run. That is what they are for. Nothing else in our emails is redirected or counted.
- No marketing tags, no third-party scripts. The browser talks to our own domains only.
- No selling, renting or enriching of email addresses. Ever.
- No account required to browse. The only mandatory datum is an email address, and only if you want notifications. Without JavaScript the catalog, product pages, search and the suggestion form work in full — only sign-up and sign-in do not, because the bot check's puzzle is solved by your browser.
What we don't run ourselves
“In the EU” does not mean “all on our own machines”. Every provider below is a European company processing inside the EU — but they are providers, and that belongs on this page as plainly as the rest:
Database and object storage (Scaleway, France)
The machine in Paris is ours; the database and the object storage beside it are not. Both are managed services from Scaleway SAS — Managed PostgreSQL and Object Storage, both in the fr-par region in Paris. We have no access to the system underneath: Scaleway installs the updates there, and it backs the database up on its own schedule — every six hours, kept for seven days, in the same region as the database itself. That protects against a broken instance, not against the region going down, which is why our own copies go elsewhere. Scaleway SAS is a French company with no US parent. The database has no public endpoint; our machine reaches it over a private network.
Outgoing email (two paths, France and Germany)
Our email leaves over two separate paths. Sign-in links, sign-up confirmations, invitations and confirmation emails go through Scaleway Transactional Email (Scaleway SAS, Paris) — a French company, processing in France. Update emails and security alerts go through mailbridge (relay3.spamgo.de), run by LOGIN SystemHaus GmbH in Wiesbaden, processing in Germany only. Mailjet SAS (France) stays configured as a fallback, capped at 200 messages a day. All three are European companies without a US parent. The split exists because the bulk relay delivers in batches with pauses of up to a quarter of an hour — harmless for a daily digest, but a sign-in link that arrives fifteen minutes late is a broken login. Which relays may send in our name is in the SPF record of notify.patchletter.com. On no path is there click or open tracking that would need switching off: plain SMTP has no such feature.
DNS (Scaleway, France)
The domain's authoritative name servers are not ours either — they are Scaleway's (ns0/ns1.dom.scw.cloud), and Scaleway is the registrar. Nothing but domain lookups passes through the service: no account data, no email content.
The mailbox — and the encrypted backup copies (mailbox.org, Germany)
Email to an @patchletter.com address is accepted and stored for us by mailbox.org (Heinlein Hosting GmbH) in Berlin, and read there. The same account holds the outermost of the three sets of backup copies of the database — encrypted on our machine before they leave it (Kopia, AES-256-GCM), so mailbox.org only ever sees ciphertext, never a readable dump.
The certificate authority, too
Every certificate we serve is issued by Actalis S.p.A. in Bergamo, Italy — a European certificate authority and member of the CA/Browser Forum. That covers patchletter.com, www and every subdomain, the status page on its separate machine, and the SMTP-TLS of the mail server on port 25. No US certificate authority issues for patchletter.com.
Power and climate
We do not have a documented figure for the electricity and efficiency of our instance in Paris, so this section names none. We could quote our provider's published claims, but a figure we cannot verify ourselves has no business on this page. As soon as we hold a documented figure, it will stand here — a gap is more honest than a borrowed number.
A commitment, not a claim
For every paid Pro subscription we plant two trees a year through PLANT-MY-TREE, a German reforestation initiative. It is a per-subscription commitment, not a share of profit — so it does not depend on whether a good year happens. As soon as the first trees are in the ground, the number stands here.
More detail
- Privacy policy
- Crawler policy of patchletterBot
- Legal notice
- security.txt — how to report a security issue
Questions
What does patchletter cost?
The update email costs nothing: you tick your products and hear about it when the vendor ships a new version. The catalog, the product pages and the security and end-of-life data are open to everyone without an account. What you pay for are the alert emails — vulnerabilities, actively exploited flaws, end-of-life dates — and an officially labeled vendor presence on product pages. Advertising never stands between the listings, and it does not influence what we report.
Who can see which software I track?
Only the operator, through the admin interface, and only to run the service. The list is never passed to third parties, and it is not used for advertising. Delete your account and both account and list disappear from live operation immediately — a hard delete, not a flag. Out of the backups they roll off on each destination's own schedule: the backups Scaleway takes of the database after seven days, the dumps in our object storage in Amsterdam after 30 days, the encrypted copies in the Drive of mailbox.org likewise after 30 days.
Does patchletter scan my systems?
We never query your hosts — even your FortiGate sees nothing of us. patchletter reads the vendor's source, not your network. The one connection you set up yourself: a webhook target for new releases, only to publicly reachable addresses, never into a private network.