Cómo gestiono la confianza. En palabras claras.
Me estás confiando tu lista de clientes. Eso es importante. Aquí te cuento, con honestidad, qué hago con ella.
Seguridad
- 🔐 TLS 1.3 en todas partes (certificado wildcard, se renueva solo). HTTP redirige a HTTPS con HSTS activado.
- 🔑 Inicio de sesión sin contraseña, con enlace mágico por email. Ninguna contraseña que perder, ninguna que robar.
- 🧾 Tokens CSRF en cada formulario que cambia algo. Comprobación estricta de Referer en HTTPS.
- 🛡️ Content Security Policy vía Talisman (orígenes de script estrictos). Login y registro con límite de intentos por Redis.
- 🗄️ Base de datos ligada solo a 127.0.0.1, sin puerto público abierto. Copia de seguridad cifrada cada noche en disco.
- 🕵️ Cada acción importante queda en un registro de auditoría (visita añadida, recompensa canjeada, ajustes cambiados, login fantasma).
Fiabilidad
- ⏱️ Alojado en Hetzner, Fráncfort, dentro de la UE. Comprobación pública de estado en /healthz.
- 💾 Copia nocturna con pg_dump, guardada 14 días. Yo mismo pruebo la restauración una vez al mes.
- 📉 Si algo se rompe, el arreglo sale el mismo día. Llevo un solo producto, no cincuenta.
- 📊 Objetivo de disponibilidad del 99,5 por ciento (en el peor caso, unas 3,5 horas de caída al mes). Aún no doy créditos por SLA - firmaré uno con el primer salón que lo pida.
Privacidad y RGPD
- 🇪🇺 Todos los datos viven en la UE (Hetzner, Fráncfort). Nada sale de la UE/EEE, salvo el envío de emails vía Brevo, que también está alojado en la UE.
- 🚫 Sin analíticas de terceros con cookies. Ni Google Analytics, ni Facebook Pixel, ni grabación de sesiones.
- 📤 Puedes exportar cada cliente, visita y recompensa en CSV desde Ajustes, cuando quieras.
- 🗑️ Un cliente pide ser olvidado: un clic en Clientes borra su ficha y todo su historial con ella.
- ⏳ Cierras la cuenta y tienes 30 días para exportar todo en CSV. Después, se borra para siempre.
- 📄 Todos los detalles en mi Política de privacidad.
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 días |
| 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 días (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 días on disk, then rotated out.
- 📜 Web + app logs - 14-30 días.
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én es dueño de los datos
Tú. Tu lista de clientas es tu negocio, no el mío. Nunca la vendo, nunca la comparto con nadie más, nunca entreno modelos de ML con ella, nunca miro fichas individuales de clientas salvo que me pidas ayuda para depurar algo. Exporta cuando quieras y llévatela a donde sea.
La persona detrás de los servidores
Hola, soy Narcis. Monté fidel.club después de que una amiga cercana fuera perdiendo poco a poco a sus clientas de toda la vida, y todo lo que había por ahí era o una app que sus clientas no se iban a instalar jamás, o un rollo empresarial de 200 € al mes. Llevo esto yo solo desde mi despacho en casa, en Bucarest. Cuando escribes a soporte, lo leo yo. Cuando encuentras un fallo, lo arreglo yo. Cuando tienes una idea que me parece buena, la saco esa misma semana. Esta es toda la empresa.
Escríbeme: nark@nark.ro