Confianca por design
Como protegemos voce
Toda decisao tecnica desse hub passou por uma auditoria defensiva antes de virar codigo. Sem "compliance theatre". Aqui esta o que rola.
Forense de Foto roda no SEU navegador
A imagem que voce envia nunca sai do seu computador. Toda a leitura de EXIF, GPS, camera e edicoes acontece em JavaScript local (lib exifr). Nao guardamos, nao logamos, nao analisamos. Resolve LGPD inteiro: nao tem dado pessoal de outrem no nosso servidor porque nao tem servidor processando.
GPS ofuscado por padrao
Se sua foto tem coordenadas, mostramos so a cidade. Latitude/longitude exatas exigem clique consciente + segundo aviso. Por que? Porque ferramentas de EXIF viraram instrumento de stalking historicamente. A nossa nao vai ser.
CSP estrita por nonce
Toda pagina ganha um nonce aleatorio (128 bits) e so scripts com esse nonce executam. Mesmo se algum input bug-se e vire HTML por bug, o browser nao executa script malicioso. Sem unsafe-inline globalizado.
Headers OWASP completos
HSTS preload, X-Frame-Options DENY, X-Content-Type nosniff, Referrer-Policy strict-origin-when-cross-origin, Permissions-Policy fechado pra camera/mic/geo, Cross-Origin-Opener/Resource-Policy same-origin. Auditavel via securityheaders.com.
Auth sem senha (magic link + OTP)
Nao guardamos hash de senha porque nao temos senha. Email = magic link one-time. Telefone = codigo OTP de 6 digitos via Supabase + Twilio. Cookie de sessao e HttpOnly + Secure + SameSite=Lax — XSS nao pega.
RLS em todas as tabelas
Supabase Postgres com Row-Level Security ativada na criacao de cada tabela. Cada usuario so le e atualiza o que e dele. Service role e usada SO em route handlers do servidor — nunca exposta no client.
Sistema de creditos atomico
Cada operacao paga passa pela RPC consume_credits que faz row-level lock antes de debitar. Sem race condition possivel: voce nao consegue gastar 10 vezes 1 credito tendo so 5 em paralelo. Audit log imutavel em credit_transactions (append-only via trigger).
Cloudflare Turnstile + rate limit
Captcha invisivel da Cloudflare em todos endpoints sensiveis. Rate limit por IP em memoria (token bucket). Defesa em profundidade contra drenagem de free tier de IA por bot.
Disclosure responsavel
Achou um bug? Manda em security@felipegabriel.fun. Nossa politica esta em /.well-known/security.txt. SLA best-effort, sem retaliacao.
O que nao fazemos
Nao temos pixel da Meta. Nao temos GA4. Nao vendemos dado. Nao usamos fingerprint de browser. Nao guardamos seus uploads. Nao mandamos newsletter sem opt-in explicito. Nao temos "TOS por aceite implicito".
Agradecimentos
Pesquisadores que reportarem bugs serao listados aqui (com permissao).