Repository navigation
Security and Privacy
Esta página resume os controles documentados no código e nas políticas do repositório. Consulte também SECURITY.md e PRIVACY.md.
- Contas locais com papéis de acesso.
- Hash de senha usando scrypt.
- Token de sessão armazenado no banco como hash.
- Cookies de sessão HttpOnly e SameSite=Strict, com expiração de 12 horas.
- Atributo Secure configurável e usado por padrão quando a aplicação não está vinculada ao loopback.
- Token CSRF obrigatório para requisições de escrita.
- Limitação temporária de tentativas de login.
- Validação no servidor e SQL parametrizado.
- Revogação de sessões ao desativar usuário.
- Bootstrap inicial protegido por token temporário; não há credenciais padrão.
- Telemetria opcional, desativada por padrão e condicionada a consentimento e endpoint HTTPS.
| Papel | Acesso geral |
|---|---|
admin |
Administração completa, gerenciamento de usuários, exportação Google Sheets e remoção permanente de produtos |
operator |
Operações de catálogo, limites e alertas |
finance |
Área financeira e leitura de catálogo |
viewer |
Leitura do dashboard, catálogo e alertas |
A autorização é verificada pela API. A interface não deve ser tratada como fronteira de segurança.
O banco pode conter CPF, e-mail, telefone, dados de catálogo e lançamentos financeiros. Proteja o arquivo SQLite e os backups com permissões adequadas, criptografia de armazenamento quando aplicável e controle de acesso. Faça cópias com o aplicativo encerrado e teste a restauração.
- Coloque o serviço atrás de HTTPS/TLS gerenciado.
- Defina
PRODUCT_MANAGER_COOKIE_SECURE=1. - Restrinja portas e acesso de rede; não exponha o servidor desktop.
- Use um gerenciador de segredos para tokens e credenciais.
- Mantenha o banco e backups fora de áreas públicas e versionamento.
- Planeje atualização, rollback, retenção, backup e resposta a incidentes.
- Monitore sem registrar senhas, cookies, tokens, CPF ou conteúdo de formulários.
- Antes de atualização de esquema, faça backup e valide restauração.
Ao habilitar a integração, dados exportados são enviados para a infraestrutura Google associada à conta e à planilha configuradas. Use escopos mínimos, acesso restrito, token de curta duração e rotação/renovação fora do aplicativo. Não inclua o token no frontend, URLs, logs ou Git.
A opção de diagnóstico é desativada inicialmente. O envio requer consentimento do usuário e PRODUCT_MANAGER_TELEMETRY_URL configurado pelo administrador com endpoint HTTPS. Segundo a política do projeto, os eventos incluem somente identificador técnico permitido, nome e versão do aplicativo; não incluem campos de formulário, banco de dados, stack trace, URL, e-mail ou identificador persistente. A infraestrutura do destino ainda pode registrar o IP de conexão.
- Não há isolamento entre organizações: todas as contas acessam o mesmo workspace conforme seus papéis.
- Não há identidade corporativa OIDC/SAML.
- Não há recuperação automatizada de senha.
- O servidor Python não fornece TLS por conta própria.
- Não há fluxo avançado de resposta a incidentes ou recuperação de desastre embutido.
- A trilha de auditoria é básica, sem histórico completo antes/depois para todas as alterações.
Não use a instalação como serviço corporativo exposto à internet sem avaliar esses limites e completar os controles operacionais necessários.
Siga as instruções e os canais indicados em SECURITY.md. Não publique detalhes exploráveis ou dados reais em issues públicas.