12-security-and-privacy.md (1260B)
1 # Segurança e privacidade 2 3 [← Índice](README.md) 4 5 ## Factos do código (produto) 6 7 - Uso de `subprocess` com **listas de argumentos** — sem `shell=True` nos módulos Python principais verificados em auditorias recentes (`scripts`, `terminal`, `site`, `tools`, `email`, `patches`). 8 - Fila `entre`: ficheiros criados com **`O_CREAT|O_EXCL`** para evitar sobrescrever pedidos (`entre_core.py`). 9 - **`members.json` público:** apenas campos acordados em `build_directory.py` — ver [07-public-members-directory.md](07-public-members-directory.md). 10 11 ## Fila vs site público 12 13 - JSONs em `entre-queue/` contêm dados para **revisão admin** (incl. email, chave pública, fingerprint no payload). 14 - Esses campos **não** devem aparecer no `members.json` servido pelo HTTP — o gerador público não os copia. 15 16 ## Segredos 17 18 - `/etc/runv-email.secrets.json`, chaves SSH privadas, tokens: **nunca** em Git; seguir `.gitignore`. 19 20 ## Recomendações gerais (não automatizadas pelo repo) 21 22 - Firewall, `sshd_config` global, desactivar root login, etc. — política do operador. 23 - Modo `empty-password` do `entre` é **deliberadamente fraco** para onboarding; docstring de `setup_entre.py` descreve riscos. 24 25 Próximo: [13-troubleshooting.md](13-troubleshooting.md).