Como trato a confiança. Por palavras simples.
Estás a entregar-me a tua lista de clientes. Isso é coisa séria. Aqui vai o que faço com ela, honestamente.
Segurança
- 🔐 TLS 1.3 em todo o lado (certificado wildcard, renova-se sozinho). O HTTP redireciona para HTTPS com HSTS ligado.
- 🔑 Login sem palavra-passe, por link mágico enviado por email. Não há palavra-passe para perder, nem para roubar.
- 🧾 Tokens CSRF em cada formulário que altera algo. Verificação estrita de Referer em HTTPS.
- 🛡️ Content Security Policy através do Talisman (origens de scripts restritas). Login e registo com limite de tentativas via Redis.
- 🗄️ Base de dados ligada só ao 127.0.0.1, sem porta pública aberta. Backup encriptado todas as noites para disco.
- 🕵️ Cada ação importante entra num registo de auditoria (visita adicionada, recompensa usada, definições alteradas, ghost login).
Fiabilidade
- ⏱️ Alojado na Hetzner, Frankfurt, na UE. Health check público em /healthz.
- 💾 Backup pg_dump todas as noites, guardado durante 14 dias. Testo eu próprio o restauro uma vez por mês.
- 📉 Se algo parte, a correção sai no mesmo dia. Eu cuido de um produto, não de cinquenta.
- 📊 Objetivo de uptime: 99,5 por cento (no pior caso, cerca de 3,5 horas de indisponibilidade por mês). Ainda não há créditos por SLA - assino um com o primeiro salão que pedir.
Privacidade e RGPD
- 🇪🇺 Todos os dados ficam na UE (Hetzner, Frankfurt). Nada sai da UE/EEE, exceto o envio de emails via Brevo, que também está alojado na UE.
- 🚫 Sem analytics de terceiros com cookies. Sem Google Analytics, sem Facebook Pixel, sem gravação de sessão.
- 📤 Podes exportar cada cliente, visita e recompensa em CSV a partir de Definições, sempre que quiseres.
- 🗑️ Um cliente pede para ser esquecido: um clique em Clientes apaga a linha dele e todo o histórico com ela.
- ⏳ Fechas a tua conta e ficas com uma janela de 30 dias para exportar tudo em CSV. Depois disso, apaga-se tudo em definitivo.
- 📄 Todos os detalhes na minha Política de Privacidade.
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 dias |
| 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 dias (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 dias on disk, then rotated out.
- 📜 Web + app logs - 14-30 dias.
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.
Quem é o dono dos dados
És tu. A tua lista de clientes é o teu negócio, não o meu. Nunca a vendo, nunca a partilho com ninguém, nunca treino modelos de ML com ela, nunca olho para fichas de clientes individuais a menos que me peças ajuda para resolver algum problema. Exporta quando quiseres, leva para onde quiseres.
A pessoa por trás dos servidores
Olá, sou o Narcis. Construí o fidel.club depois de uma amiga próxima estar a perder as clientes habituais em silêncio e todas as opções lá fora serem ou uma app que as clientes dela nunca iam instalar, ou uma coisa empresarial de 200€ por mês. Toco isto sozinho, do meu escritório em casa, em Bucareste. Quando escreves para o suporte, sou eu que leio. Quando encontras um bug, sou eu que corrijo. Quando tens uma ideia que acho ótima, lanço-a nessa mesma semana. É esta a empresa toda.
Fala comigo: nark@nark.ro