Confia, mas verifica — cada conclusão da auditoria é publicada aqui.
Veredicto geral: a postura de segurança do projeto é sólida. Os mecanismos centrais estão bem implementados: cifragem de dados sensíveis em Hive, isolamento em sandbox, HTTPS forçado. Os principais problemas concentram-se na gestão de chaves da máquina de build Android, algumas caixas Hive fora do âmbito de cifragem e a inserção de palavras-passe na camada de plugins.
Os seguintes mecanismos passaram a verificação cruzada entre ficheiros e estão confirmados como seguros e eficazes:
| # | Mecanismo | Via de verificação | Estado |
|---|---|---|---|
| 1 | Proteção por hardware das chaves de cifragem Hive | FlutterSecureStorage → Android Keystore / iOS Keychain | ✓ |
| 2 | 7/7 caixas sensíveis cifradas | verificado em main.dart; as caixas sensíveis abrem todas com cipher | ✓ |
| 3 | Backups forçosamente cifrados | sem palavra-passe → UnencryptedBackupException | ✓ |
| 4 | Algoritmo de cifragem de backups | PBKDF2 (300k rondas) + AES-256-GCM | ✓ |
| 5 | Zero sobrecarga de registo em release | todas as saídas de log dentro de kDebugMode | ✓ |
| 6 | WebDAV com HTTPS forçado | configurações HTTP rejeitadas diretamente | ✓ |
| 7 | eval / Function desativados no sandbox | cobertura total com Object.defineProperty | ✓ |
| 8 | Injeção de CSP no sandbox | meta tag + cabeçalho HTTP, dupla via | ✓ |
| 9 | Proteção anti path traversal | verificações de segurança na importação de plugins e restauração de backups | ✓ |
| 10 | Outros pontos confirmados | cifra de backups v3, fluxo de restauração atómico, FLAG_SECURE em páginas sensíveis, etc. | ✓ |