Hoe ik omga met vertrouwen. In gewone woorden.
Je geeft me je klantenlijst. Dat is een groot ding. Dit is wat ik ermee doe, eerlijk.
Beveiliging
- 🔐 Overal TLS 1.3 (wildcard-certificaat, vernieuwt zichzelf). HTTP wordt doorgestuurd naar HTTPS met HSTS aan.
- 🔑 Wachtwoordloos inloggen via een magische e-maillink. Geen wachtwoord om kwijt te raken, geen om te stelen.
- 🧾 CSRF-tokens op elk formulier dat iets wijzigt. Strikte Referer-controle op HTTPS.
- 🛡️ Content Security Policy via Talisman (strikte script-bronnen). Inloggen en registreren worden begrensd via Redis.
- 🗄️ Database alleen gebonden aan 127.0.0.1, geen publieke poort open. Elke nacht een versleutelde back-up naar schijf.
- 🕵️ Elke belangrijke actie komt in een auditlog terecht (bezoek toegevoegd, beloning ingewisseld, instellingen gewijzigd, ghost-login).
Betrouwbaarheid
- ⏱️ Gehost bij Hetzner, Frankfurt, in de EU. Openbare health check op /healthz.
- 💾 Elke nacht een pg_dump-back-up, 14 dagen bewaard. Ik test de restore zelf één keer per maand.
- 📉 Gaat er iets kapot, dan gaat de fix diezelfde dag live. Ik draai één product, geen vijftig.
- 📊 Uptime-doel 99,5 procent (in het slechtste geval zo'n 3,5 uur downtime per maand). Nog geen SLA-credits - ik teken er een met de eerste salon die erom vraagt.
Privacy en AVG
- 🇪🇺 Alle gegevens staan in de EU (Hetzner, Frankfurt). Er verlaat niets de EU/EER, behalve e-mailbezorging via Brevo, dat ook in de EU wordt gehost.
- 🚫 Geen externe analytics met cookies. Geen Google Analytics, geen Facebook Pixel, geen session replay.
- 📤 Je kunt elke klant, elk bezoek en elke beloning als CSV exporteren vanuit Instellingen, wanneer je maar wilt.
- 🗑️ Vraagt een klant om vergeten te worden: één klik in Klanten verwijdert de regel én de hele geschiedenis erbij.
- ⏳ Sluit je account en je hebt 30 dagen om alles als CSV te exporteren. Daarna wordt alles definitief gewist.
- 📄 Alle details in mijn Privacybeleid.
Sub-processors
These are the third parties that help me run fidel. Nothing else touches your data.
| Who | Why | Where |
|---|---|---|
| Hetzner | Application server, database, backups | Frankfurt (EU) |
| Cloudflare | DNS + TLS certificate (DNS-only, no traffic proxy) | EU edge |
| Brevo | Transactional + lifecycle emails to your clients | Paris (EU) |
| Stripe | Your subscription billing (never your clients) | Dublin (EU) + US |
| Anthropic (Claude) | Auto-translation of UI strings + weekly-digest rewrite. Never sees your client list. | USA (SCCs) |
Full details, transfer basis, change notification policy in SUBPROCESSORS.md.
Cookies I set
| Cookie | What for | Lasts |
|---|---|---|
| session | Signed session (login, language, flash messages) | 30 dagen |
| csrf_token | CSRF protection on forms | per session |
| fidel_theme | Your dark / light theme choice | permanent (localStorage) |
| _asid | Anonymous session id for our own funnel analytics | per session |
First-party only. No third-party cookies, no cross-site trackers, no advertising IDs.
How long I keep things
- 👥 Client records - until you cancel your account (or click 🗑 on a specific client). Then 30-day grace window, then hard-deleted.
- 📊 Analytics events - 90 dagen (funnel windows are 7 and 30 days; the extra buffer allows year-over-year sanity checks and is auto-purged nightly.)
- 📱 Kiosk QR tokens - 5 minutes (rotating anti-fraud); 1 day audit trace after expiry.
- 💾 Encrypted backups - 14 dagen on disk, then rotated out.
- 📜 Web + app logs - 14-30 dagen.
Full retention grid in RETENTION.md.
If something goes wrong
I have a written breach response plan with a 72-hour notification deadline to the Romanian supervisory authority (ANSPDCP) per GDPR Art 33, plus direct notification to every affected tenant. RTO 4 hours, RPO 24 hours, tested quarterly.
Full playbook in INCIDENT-RESPONSE.md.
Van wie is de data
Van jou. Je klantenlijst is jouw zaak, niet die van mij. Ik verkoop 'm nooit, deel 'm nooit met iemand anders, train er nooit ML-modellen mee, en kijk nooit in losse klantgegevens tenzij je me vraagt om iets te helpen debuggen. Exporteer wanneer je wilt, neem het mee waarheen je wilt.
De persoon achter de servers
Hoi, ik ben Narcis. Ik heb fidel.club gebouwd nadat een goede vriendin stilletjes haar vaste klanten kwijtraakte en elke optie op de markt ofwel een app was die haar klanten nooit zouden installeren, ofwel iets van €200 per maand voor grote bedrijven. Ik run dit in mijn eentje vanuit mijn thuiskantoor in Boekarest. Als je support mailt, lees ik het zelf. Vind je een bug, dan fix ik 'm. Heb je een idee dat ik goed vind, dan staat het diezelfde week live. Dat is het hele bedrijf.
Bereik me via: nark@nark.ro