Segurança
1. Arquitetura e Stack Tecnológica
A ReparAuto é uma aplicação web de página única (SPA) construída com React 19 e Vite 8, alojada no Firebase Hosting. O backend é inteiramente gerido pelo ecossistema Firebase / Google Cloud (plataforma como serviço — PaaS), não existindo servidores próprios ou APIs personalizadas. Esta arquitetura minimiza a superfície de ataque e transfere grande parte das responsabilidades de segurança de infraestrutura para a Google, que dispõe de certificações ISO 27001, SOC 1/2/3 e está em conformidade com o RGPD.
2. Segurança da Rede e Transporte
- HTTPS Obrigatório: Todo o tráfego entre o navegador e o Firebase Hosting é encriptado com TLS 1.2+ (TLS 1.3 sempre que suportado pelo cliente).
- Certificados SSL/TLS: Geridos automaticamente pelo Firebase Hosting através da infraestrutura Google (certificados renovados automaticamente).
- Content Security Policy (CSP): A aplicação implementa headers CSP restritivos para mitigar ataques de Cross-Site Scripting (XSS) e de injeção de conteúdo, permitindo apenas a execução de scripts das origens confiáveis (firebaseapp.com, gstatic.com, apis.google.com, e o próprio domínio).
3. Autenticação e Controlo de Acesso
- Firebase Authentication: O sistema de autenticação gerido pelo Firebase suporta email/password (com hash bcrypt do lado do servidor Firebase) e Google OAuth 2.0 (via popup, com tokens de acesso JWT).
- Tokens de Sessão: As sessões são geridas através de tokens JWT (ID Tokens) emitidos pelo Firebase, com renovação automática e expiração configurada para segurança máxima.
- Atualização de Password: A alteração de password é tratada diretamente pelo Firebase Auth, que exige reautenticação para operações sensíveis e notifica o utilizador por email em caso de alteração.
4. Segurança na Base de Dados (Firestore)
- Firebase Security Rules: O acesso à base de dados Firestore é protegido por regras de segurança declarativas. Apenas utilizadores autenticados podem ler e escrever nas coleções, com validações específicas (ex.: apenas o criador pode editar ou eliminar o seu anúncio).
- Validação no Servidor: As regras de segurança do Firestore incluem validação de tipos de dados, tamanhos e estrutura dos documentos, impedindo a inserção de dados malformados ou não conformes.
- Auditoria: O Firebase dispõe de logs de auditoria (Cloud Audit Logs) para operações de administração e acesso aos dados.
5. Segurança no Armazenamento de Ficheiros (Storage)
- Firebase Security Rules: O acesso ao Firebase Storage é protegido por regras que restringem a leitura a utilizadores autenticados e a escrita apenas ao proprietário do ficheiro.
- Validação de Upload: As regras do Storage verificam o tipo MIME e o tamanho máximo dos ficheiros (10 MB por imagem), impedindo o upload de ficheiros executáveis ou maliciosos.
- Encriptação: Todos os ficheiros armazenados no Firebase Storage são encriptados em repouso com AES-256, gerido pela Google Cloud.
6. Proteção contra Vulnerabilidades Comuns (OWASP Top 10)
- XSS (Cross-Site Scripting): Mitigado através de CSP (Content Security Policy), sanitização de input no cliente (React escapa automaticamente conteúdo JSX) e validação no servidor via Firestore Security Rules. O conteúdo gerado pelos utilizadores (descrições de anúncios) é processado com renderização segura que restringe HTML a tags seguras.
- Injection: O Firestore é uma base de dados NoSQL que utiliza consultas parametrizadas, eliminando o risco de SQL Injection. Não existem consultas SQL nem ORM na stack.
- Cross-Site Request Forgery (CSRF): O Firebase Authentication utiliza tokens de ID JWT que são verificados em cada operação. Como não existem cookies de autenticação tradicionais nem formulários HTML submetidos a servidor próprio, o risco de CSRF é inerentemente baixo. Para operações sensíveis (eliminar conta, alterar email), o Firebase exige reautenticação recente.
- Broken Authentication: Gerido pelo Firebase Authentication, que implementa boas práticas de segurança (rate limiting automático, proteção contra brute force, bloqueio de contas após múltiplas tentativas falhadas).
- Sensitive Data Exposure: Não são armazenados dados de cartões de crédito, passwords em texto limpo ou dados biométricos. As passwords são geridas exclusivamente pelo Firebase Auth.
7. Minimização de Dados
A ReparAuto aplica o princípio da minimização de dados (art. 5.º, n.º 1, al. c) do RGPD): apenas são recolhidos os dados estritamente necessários ao funcionamento da plataforma. Não é solicitada documentação pessoal (CC, NIF), morada completa, dados bancários ou de pagamento.
8. Plano de Resposta a Incidentes
- Deteção e Notificação: Na eventualidade de uma violação de dados pessoais, a ReparAuto notificará a CNPD no prazo máximo de 72 horas (art. 33.º do RGPD) e os titulares dos dados afetados sempre que a violação represente um risco elevado para os seus direitos e liberdades (art. 34.º do RGPD).
- Correção: As equipas da Google Cloud / Firebase são responsáveis pela segurança da infraestrutura subjacente. Em caso de vulnerabilidade ao nível da aplicação, a ReparAuto compromete-se a corrigi-la num prazo razoável.
- Contacto de Segurança: Para reportar vulnerabilidades ou incidentes de segurança, contacte: garagerecar@gmail.com.
9. Boas Práticas para o Utilizador
- Utilize uma password única e forte para a sua conta ReparAuto (recomendamos um gestor de passwords).
- Não partilhe as suas credenciais de acesso com terceiros.
- Verifique se o URL do site começa por "https://reparauto-site.firebaseapp.com" ou o domínio personalizado associado.
- Mantenha o seu navegador e sistema operativo atualizados.
- Em caso de suspeita de acesso não autorizado à sua conta, altere a password e contacte-nos imediatamente.
10. Conformidade e Certificações
A infraestrutura Google Cloud / Firebase, que suporta a ReparAuto, dispõe das seguintes certificações e conformidades: ISO 27001, ISO 27017, ISO 27018, SOC 1/2/3, PCI DSS, FedRAMP, e está em conformidade com o RGPD (incluindo Certified SCCs para transferências internacionais de dados). A ReparAuto compromete-se a manter a plataforma em conformidade com a legislação aplicável, incluindo o RGPD, o DSA e a legislação nacional portuguesa.
11. Contacto
Para reportar vulnerabilidades de segurança, solicitar informações sobre as medidas implementadas ou qualquer outra questão de segurança, contacte: garagerecar@gmail.com.