Por que o Anotae é assim? — Decisões de Arquitetura¶
Por que 100% local?¶
Dados clínicos são sensíveis (LGPD Art. 11). Manter tudo local elimina a principal superfície de ataque: transmissão de dados pela rede. O profissional mantém controle total sobre seus registros.
Por que Python + PySide6?¶
- Python: ecossistema maduro para criptografia, comunidade brasileira numerosa
- PySide6 (Qt 6): widgets nativos em todas as plataformas, LGPL-3.0, 25+ anos de maturidade
- MVVM: ViewModels testáveis sem GUI, Views substituíveis (migração futura para Slint/Tauri)
Por que SQLite + criptografia de campo?¶
- SQLite: zero-config, single-file, ACID, battle-tested (Android, iOS, navegadores)
- ChaCha20-Poly1305: cifra autenticada (AEAD), mais rápida que AES em hardware sem aceleração
- Argon2id: KDF resistente a GPU/ASIC, parâmetros adaptativos por hardware
Por que NMH + extensão de navegador?¶
O e-SUS APS PEC e SISREG III são sistemas web. A extensão de navegador injeta dados nos formulários DOM. A comunicação via Native Messaging Host (stdio) é mais segura que HTTP — não expõe portas de rede.
Por que AGPL-3.0?¶
Protege a comunidade contra apropriação fechada. Forks são bem-vindos, mas devem manter o código aberto.
Referências¶
- DESIGN.md — decisões detalhadas com trade-offs
- CRYPTO-DESIGN.md — modelo de criptografia
- THREAT-MODEL.md — modelo de ameaças