Service status
Subtraq Service Status
A hand-written status page reads "all good" during an outage. This one makes no claims: the card below queries the application from your browser and shows the raw response.
A check is running from your browser right now.
- Database
- —
- Response time
- —
- Last check
- —
Cette carte interroge /api/health depuis votre navigateur, toutes les trente secondes. Elle affiche la réponse obtenue, pas une valeur écrite à l'avance.
The health check is public
OK
curl https://subtraq.co/api/health { "ok": true, "service": "subtraq", "status": "healthy", "database": "up", "latencyMs": 20, "time": "2026-09-11T21:37:54.110Z" }
Real production response, recorded on 11 September 2026 at 21:37 UTC. It turns green only if a database query succeeded: a service that started without its database would return 200 while serving empty pages, and no one would be alerted.
The five components and their failure modes
A short link is not a single machine. Knowing which part does what tells you exactly what an outage really costs.
| Component | What it does | If it fails |
|---|---|---|
| The application | Screens, reports, link creation and editing. It runs at Falkenstein, Germany. | Links already created keep redirecting: their destination is stored elsewhere. |
| The PostgreSQL database | Links, clicks, and matched sales. Reachable only from the machine that hosts it. | The health check turns red and the monitor alerts within five minutes. |
| The redirect Worker | The redirect itself, executed by Cloudflare at the edge, close to the visitor. | Redirects fall back to the server, exactly as before the Worker existed. |
| The link registry | Each link's destination, copied to Cloudflare's global network on every create. | Same fallback: the Worker hands off to the server rather than returning an error. |
| Cloudflare, in front of everything | Encryption, filtering, static-file caching. | The one component with no failover — we would rather write that than not. |
Sources: the redirect code, the health check code, the deployment document.
The design that keeps the promise
The server goes down. Links stay up.
Everything needed to answer a click lives in a registry copied across Cloudflare's network. The Worker reads the destination, redirects, and counts the click after it has responded: counting has no right to slow the visitor down.
Two exceptions, written here rather than buried: a link protected by a password hands off to the server, because verifying a password in two places would guarantee they diverge one day. And a link created moments ago may not have reached the registry yet: it passes through the server, with no visible difference.
An outage on our end, invisible on yours
A live campaign, a printed flyer, a QR code in a shop window: those links still land in the right place while we repair.
What monitors, and how often
We know before you write.
An outage discovered through a customer has already lasted too long. Three systems run unattended.
An external probe, every five minutes
It queries the same endpoint you just saw, from outside our hosting provider, and does not settle for a 200 status code: it requires the service name AND the word "healthy". Without that second half, a database failure would alert no one — the error response carries the same keys.
The service restarts itself
If it stops, it is restarted automatically. Most real interruptions last a few seconds: fixing them by hand would cost more downtime than the restart itself.
One encrypted backup per night, kept fourteen days
A full database snapshot is taken every night at 03:50 UTC, encrypted on the server with a key whose private half does not live there, and the plaintext copy is then destroyed. A backup you cannot restore is not one: this one has been replayed for real, thirty-three tables brought back up.
What we will publish, and where
Any incident affecting redirects, connections, or data will be documented here: what happened, when it started, when it was over, and what changed. There is nothing to report today — the service has run on subtraq.co since September 11, 2026, with no known interruption. A track record this short proves nothing: we would rather write that than display a flattering percentage.
Write to usA link isn't working?
The page says "This link is no longer active"
The link had an expiry date or a maximum number of visits, and the limit has been reached. This is not an outage but a setting chosen by whoever created it: ask them for a new link.
The "Redirecting…" page stays on screen
It normally lasts one-third of a second. If it lingers, the "Continue" link on that page goes directly to the destination: it is there exactly for this case.
The page stays blank even though the link opened
Some links display the destination inside a frame, and many sites refuse to be framed. A bar stays at the bottom with an "Open directly" link.
Nothing appears at all
Check the address: one wrong character copied from a printed flyer is enough. If it is correct, the card at the top of this page will tell you whether the application is responding. If the link is still silent, only the person who sent it to you can correct it.
Follow the service status
Where the service lives, what monitors it, what survives an outage: you just read it. The rest can be judged in a few minutes, on your own links.
Create a free account