Πώς χειρίζομαι την εμπιστοσύνη. Με απλά λόγια.
Μου δίνεις τη λίστα των πελατών σου. Δεν είναι μικρό πράγμα. Ορίστε τι κάνω μ' αυτήν, ειλικρινά.
Ασφάλεια
- 🔐 TLS 1.3 παντού (wildcard πιστοποιητικό, ανανεώνεται μόνο του). Το HTTP ανακατευθύνει σε HTTPS με HSTS ενεργό.
- 🔑 Σύνδεση χωρίς κωδικό, με magic link στο email. Κανένας κωδικός να χαθεί, κανένας να κλαπεί.
- 🧾 CSRF tokens σε κάθε φόρμα που αλλάζει κάτι. Αυστηρός έλεγχος Referer στο HTTPS.
- 🛡️ Content Security Policy μέσω Talisman (αυστηρές πηγές script). Login και εγγραφή με rate-limit μέσω Redis.
- 🗄️ Η βάση δεδομένων ακούει μόνο στο 127.0.0.1, καμία δημόσια πόρτα ανοιχτή. Νυχτερινό κρυπτογραφημένο backup στον δίσκο.
- 🕵️ Κάθε σημαντική ενέργεια καταγράφεται σε audit log (προσθήκη επίσκεψης, εξαργύρωση δώρου, αλλαγή ρυθμίσεων, ghost login).
Αξιοπιστία
- ⏱️ Φιλοξενία στο Hetzner, Φρανκφούρτη, εντός ΕΕ. Δημόσιο health check στο /healthz.
- 💾 Νυχτερινό backup με pg_dump, κρατιέται 14 μέρες. Δοκιμάζω την επαναφορά μόνος μου μία φορά τον μήνα.
- 📉 Αν κάτι χαλάσει, η διόρθωση βγαίνει την ίδια μέρα. Τρέχω ένα προϊόν, όχι πενήντα.
- 📊 Στόχος διαθεσιμότητας 99,5 τοις εκατό (στη χειρότερη, περίπου 3,5 ώρες downtime τον μήνα). Δεν υπάρχει ακόμα SLA με αποζημιώσεις - θα υπογράψω με το πρώτο κομμωτήριο που θα το ζητήσει.
Απόρρητο και GDPR
- 🇪🇺 Όλα τα δεδομένα ζουν στην ΕΕ (Hetzner, Φρανκφούρτη). Τίποτα δεν φεύγει από ΕΕ/ΕΟΧ, εκτός από την αποστολή email μέσω Brevo, που φιλοξενείται επίσης στην ΕΕ.
- 🚫 Χωρίς analytics τρίτων με cookies. Χωρίς Google Analytics, χωρίς Facebook Pixel, χωρίς session replay.
- 📤 Μπορείς να εξάγεις κάθε πελάτη, επίσκεψη και δώρο σε CSV από τις Ρυθμίσεις, όποτε θες.
- 🗑️ Ένας πελάτης ζητά να ξεχαστεί: ένα κλικ στους Πελάτες σβήνει την εγγραφή του και όλο το ιστορικό μαζί.
- ⏳ Κλείνεις τον λογαριασμό σου και έχεις ένα παράθυρο 30 ημερών με πλήρη εξαγωγή CSV. Μετά, όλα διαγράφονται οριστικά.
- 📄 Όλες οι λεπτομέρειες στην Πολιτική Απορρήτου.
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 ημέρες |
| 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 ημέρες (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 ημέρες on disk, then rotated out.
- 📜 Web + app logs - 14-30 ημέρες.
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.
Ποιος έχει τα δεδομένα
Εσύ. Η λίστα πελατών σου είναι δική σου δουλειά, όχι δική μου. Δεν την πουλάω ποτέ, δεν τη μοιράζομαι με κανέναν άλλον, δεν εκπαιδεύω μοντέλα ML πάνω της, δεν κοιτάω μεμονωμένες καρτέλες πελατών εκτός αν μου ζητήσεις να βοηθήσω με κάποιο bug. Εξαγωγή όποτε θες, την παίρνεις όπου θες.
Ο άνθρωπος πίσω από τους διακομιστές
Γεια, είμαι ο Narcis. Έφτιαξα το fidel.club αφού μια στενή φίλη έχανε σιγά σιγά τις τακτικές της πελάτισσες και κάθε επιλογή εκεί έξω ήταν είτε ένα app που οι πελάτες της δεν θα εγκαθιστούσαν ποτέ, είτε ένα εταιρικό πράγμα των 200 ευρώ τον μήνα. Το τρέχω μόνος μου από το γραφείο μου στο σπίτι, στο Βουκουρέστι. Όταν στέλνεις email στο support, το διαβάζω εγώ. Όταν βρίσκεις κάποιο bug, το φτιάχνω εγώ. Όταν έχεις μια ιδέα που τη βρίσκω καλή, τη βγάζω μέσα στην εβδομάδα. Αυτή είναι όλη η εταιρεία.
Βρες με: nark@nark.ro