Jak podchodzę do zaufania. Prostymi słowami.
Powierzasz mi swoją listę klientek. To poważna sprawa. Oto co z nią robię, szczerze.
Bezpieczeństwo
- 🔐 TLS 1.3 wszędzie (certyfikat wildcard, odnawia się sam). HTTP przekierowuje na HTTPS, HSTS włączony.
- 🔑 Logowanie bez hasła, przez magiczny link mailowy. Nie ma hasła, które można zgubić ani ukraść.
- 🧾 Tokeny CSRF w każdym formularzu, który coś zmienia. Ścisła kontrola Referer na HTTPS.
- 🛡️ Content Security Policy przez Talisman (ścisłe źródła skryptów). Logowanie i rejestracja z limitem prób przez Redis.
- 🗄️ Baza danych podpięta tylko do 127.0.0.1, żaden port publiczny nie jest otwarty. Nocna szyfrowana kopia zapasowa na dysk.
- 🕵️ Każda ważna akcja trafia do dziennika audytu (dodana wizyta, zrealizowana nagroda, zmienione ustawienia, ghost login).
Niezawodność
- ⏱️ Hostowane na Hetznerze, we Frankfurcie, w UE. Publiczny health check pod /healthz.
- 💾 Nocny backup pg_dump, trzymany przez 14 dni. Raz w miesiącu sam testuję odtworzenie.
- 📉 Jeśli coś się zepsuje, poprawka wychodzi tego samego dnia. Prowadzę jeden produkt, nie pięćdziesiąt.
- 📊 Cel dostępności to 99,5 procent (w najgorszym razie około 3,5 godziny niedostępności miesięcznie). Kredytów SLA jeszcze nie ma - podpiszę SLA z pierwszym salonem, który o to poprosi.
Prywatność i RODO
- 🇪🇺 Wszystkie dane leżą w UE (Hetzner, Frankfurt). Nic nie opuszcza UE/EOG, poza wysyłką maili przez Brevo, które też jest hostowane w UE.
- 🚫 Żadnej analityki od stron trzecich z ciasteczkami. Żadnego Google Analytics, żadnego Facebook Pixel, żadnego session replay.
- 📤 W Ustawieniach możesz w każdej chwili wyeksportować każdą klientkę, wizytę i nagrodę do CSV.
- 🗑️ Klientka prosi o usunięcie danych: jedno kliknięcie w Klientach kasuje jej wiersz i całą jej historię razem z nim.
- ⏳ Zamykasz konto i masz 30 dni na pełny eksport do CSV. Potem wszystko znika na dobre.
- 📄 Szczegóły w mojej Polityce prywatności.
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 dni |
| 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 dni (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 dni on disk, then rotated out.
- 📜 Web + app logs - 14-30 dni.
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.
Do kogo należą dane
Do Ciebie. Twoja lista klientek to Twój biznes, nie mój. Nigdy jej nie sprzedaję, nikomu nie udostępniam, nie trenuję na niej modeli ML, nie zaglądam do pojedynczych kartotek - chyba że sam poprosisz mnie o pomoc przy jakimś błędzie. Eksportuj kiedy chcesz, zabierz gdzie chcesz.
Człowiek za serwerami
Cześć, jestem Narcis. Zrobiłem fidel.club po tym, jak bliska znajoma po cichu traciła stałe klientki, a wszystko, co było na rynku, to albo aplikacja, której jej klientki nigdy by nie zainstalowały, albo korporacyjny system za 200 euro miesięcznie. Prowadzę to sam, z domowego biura w Bukareszcie. Piszesz na support - czytam to ja. Znajdujesz błąd - poprawiam go ja. Masz świetny pomysł - wdrażam go jeszcze w tym tygodniu. Tyle mojej firmy.
Napisz do mnie: nark@nark.ro