Comment je gère la confiance. En mots simples.
Tu me confies ta liste de clientes. C'est un truc important. Voilà ce que j'en fais, honnêtement.
Sécurité
- 🔐 TLS 1.3 partout (certificat wildcard, renouvellement automatique). Le HTTP redirige vers HTTPS avec HSTS activé.
- 🔑 Connexion sans mot de passe par lien magique envoyé par email. Pas de mot de passe à perdre, ni à voler.
- 🧾 Jetons CSRF sur chaque formulaire qui modifie quelque chose. Vérification stricte du Referer en HTTPS.
- 🛡️ Content Security Policy via Talisman (sources de scripts strictes). Connexion et inscription limitées en fréquence via Redis.
- 🗄️ Base de données liée à 127.0.0.1 uniquement, aucun port public ouvert. Sauvegarde chiffrée sur disque chaque nuit.
- 🕵️ Chaque action importante finit dans un journal d'audit (visite ajoutée, récompense utilisée, réglages modifiés, connexion fantôme).
Fiabilité
- ⏱️ Hébergé chez Hetzner, à Francfort, dans l'UE. Contrôle de santé public à /healthz.
- 💾 Sauvegarde pg_dump chaque nuit, conservée 14 jours. Je teste la restauration moi-même une fois par mois.
- 📉 Si quelque chose casse, le correctif part le jour même. Je gère un seul produit, pas cinquante.
- 📊 Objectif de disponibilité : 99,5 pour cent (dans le pire des cas, environ 3,5 heures d'indisponibilité par mois). Pas encore de crédits SLA - j'en signerai un avec le premier salon qui le demande.
Vie privée et RGPD
- 🇪🇺 Toutes les données restent dans l'UE (Hetzner, Francfort). Rien ne sort de l'UE/EEE, sauf l'envoi des emails via Brevo, qui est aussi hébergé dans l'UE.
- 🚫 Pas d'analytique tierce avec cookies. Pas de Google Analytics, pas de Facebook Pixel, pas de rejeu de session.
- 📤 Tu peux exporter chaque client, visite et récompense en CSV depuis les Réglages, quand tu veux.
- 🗑️ Une cliente demande à être oubliée : un clic dans Clients supprime sa ligne et tout son historique avec.
- ⏳ Ferme ton compte et tu as 30 jours pour exporter tout en CSV. Après, tout est supprimé pour de bon.
- 📄 Tous les détails dans ma Politique de confidentialité.
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 jours |
| 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 jours (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 jours on disk, then rotated out.
- 📜 Web + app logs - 14-30 jours.
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.
À qui appartiennent les données
À toi. Ta liste de clientes, c'est ton business, pas le mien. Je ne la vends jamais, je ne la partage avec personne d'autre, je n'entraîne pas de modèles ML dessus, et je ne regarde jamais les fiches clientes individuelles sauf si tu me demandes de t'aider à déboguer un truc. Exporte quand tu veux, emporte tout où tu veux.
La personne derrière les serveurs
Salut, moi c'est Narcis. J'ai créé fidel.club après qu'une amie proche perdait doucement ses habituées, et toutes les options du marché étaient soit une appli que ses clientes n'installeraient jamais, soit un truc d'entreprise à 200 € par mois. Je gère ça tout seul depuis mon bureau à la maison, à Bucarest. Quand tu écris au support, c'est moi qui lis. Quand tu trouves un bug, c'est moi qui le corrige. Quand tu as une idée que je trouve géniale, je la sors dans la semaine. Voilà, c'est toute la boîte.
Écris-moi : nark@nark.ro