Güveni nasıl ele alıyorum. Sade bir dille.
Müşteri listeni bana emanet ediyorsun. Bu büyük bir şey. Onunla ne yaptığımı dürüstçe anlatayım.
Güvenlik
- 🔐 Her yerde TLS 1.3 (wildcard sertifika, kendi kendine yenileniyor). HTTP, HSTS açık şekilde HTTPS'e yönleniyor.
- 🔑 E-postayla sihirli bağlantı üzerinden şifresiz giriş. Kaybedilecek de çalınacak da bir şifre yok.
- 🧾 Bir şeyi değiştiren her formda CSRF token. HTTPS'te sıkı Referer kontrolü.
- 🛡️ Talisman üzerinden Content Security Policy (script kaynakları için sıkı kurallar). Giriş ve kayıt, Redis üzerinden hız sınırlı.
- 🗄️ Veritabanı yalnızca 127.0.0.1'e bağlı, açık bir dış port yok. Her gece diske şifreli yedek.
- 🕵️ Her önemli işlem denetim kaydına düşüyor (ziyaret eklendi, ödül kullanıldı, ayar değişti, hayalet giriş).
Kararlılık
- ⏱️ Hetzner'da, Frankfurt'ta, AB içinde barındırılıyor. Herkese açık sağlık kontrolü: /healthz.
- 💾 Her gece pg_dump yedeği, 14 gün saklanıyor. Geri yüklemeyi ayda bir kendim test ediyorum.
- 📉 Bir şey bozulursa düzeltme aynı gün yayına giriyor. Elli değil, tek bir ürün işletiyorum.
- 📊 Çalışma süresi hedefi yüzde 99,5 (en kötü ihtimalle ayda yaklaşık 3,5 saat kesinti). Henüz SLA kredisi yok - isteyen ilk salonla imzalarım.
Gizlilik ve GDPR
- 🇪🇺 Tüm veriler AB'de duruyor (Hetzner, Frankfurt). E-posta gönderimi için kullandığım Brevo dışında hiçbir şey AB/AEA dışına çıkmıyor, o da AB'de barındırılıyor.
- 🚫 Çerezli üçüncü taraf analitikleri yok. Google Analytics yok, Facebook Pixel yok, oturum kaydı yok.
- 📤 Ayarlar'dan her müşteriyi, ziyareti ve ödülü istediğin zaman CSV olarak dışa aktarabilirsin.
- 🗑️ Bir müşteri unutulmak isterse: Müşteriler'de tek tıkla satırı ve tüm geçmişi birlikte siliniyor.
- ⏳ Hesabını kapat, sana 30 günlük bir süre kalır, tam CSV dışa aktarımıyla. Sonrasında her şey temelli silinir.
- 📄 Tüm ayrıntılar burada: Gizlilik Politikası.
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 gün |
| 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 gün (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 gün on disk, then rotated out.
- 📜 Web + app logs - 14-30 gün.
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.
Veriler kimin
Senin. Müşteri listen senin işin, benim değil. Asla satmam, kimseyle paylaşmam, üzerinde makine öğrenmesi modeli eğitmem, bir şeyi ayıklamana yardım etmemi istemediğin sürece tek tek müşteri kayıtlarına bakmam. İstediğin zaman dışa aktar, istediğin yere götür.
Sunucuların arkasındaki kişi
Merhaba, ben Narcis. fidel.club'ı, yakın bir arkadaşımın sessiz sessiz müdavimlerini kaybettiğini gördükten sonra kurdum - piyasadaki her seçenek ya müşterilerinin asla yüklemeyeceği bir uygulamaydı ya da aylık 200 avroluk kurumsal bir şeydi. Bunu Bükreş'teki ev ofisimden tek başıma yürütüyorum. Destek e-postası yazdığında, onu ben okuyorum. Bir hata bulduğunda, onu ben düzeltiyorum. Aklına harika bir fikir geldiğinde, o hafta içinde devreye alıyorum. Şirketin tamamı bu.
Bana ulaş: nark@nark.ro