A segurança é uma prioridade no ZapBeauty. Implementamos diversas camadas de proteção para garantir que seus dados e os dados dos seus clientes estejam protegidos.
Camadas de Proteção
Nossa infraestrutura é baseada em múltiplas camadas de segurança:
Criptografia
- SSL/TLS para dados em trânsito (certificados Let's Encrypt via Caddy)
- AES-256 para dados sensíveis em repouso (chaves de API, tokens OAuth)
- ASP.NET Data Protection API para gerenciamento de chaves
- Senhas armazenadas com hash seguro (nunca em texto plano)
Autenticação e Acesso
- JWT Bearer tokens de curta duração (30 min) + refresh tokens
- Perfis de acesso para administradores e funcionários
- OAuth 2.0 para integrações (Google Calendar)
- Filtros de empresa nas entidades multi-tenant do banco de dados
Proteção de Rede
- Caddy como reverse proxy com auto-SSL e HSTS
- Headers de segurança: X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- Rate limiting em autenticação, checkout, WebChat e processamento de mensagens
- Serviços internos (banco de dados, monitoramento) sem portas expostas
Monitoramento
- Prometheus + Grafana para métricas de aplicação e infraestrutura
- Loki + Promtail para centralização de logs
- Logs de auditoria para ações sensíveis (AuditLog)
- Alertas para eventos críticos via sistema de notificações
Infraestrutura
Hospedagem
A plataforma é executada em infraestrutura VPS conteinerizada. Capacidade e localização podem mudar conforme a operação e não fazem parte de um SLA público.
- Contêineres Docker: Serviços isolados em contêineres com rede interna
- Reverse proxy: Caddy com SSL automático (Let's Encrypt) para todos os domínios
- Banco de dados: PostgreSQL 16 sem porta externa exposta
Isolamento de Dados (Multi-Tenant)
- As entidades de negócio carregam o identificador da empresa (company_id)
- Filtros globais por empresa são aplicados às entidades multi-tenant configuradas no EF Core
- O acesso ao painel exige autenticação; permissões também dependem do endpoint e do perfil do usuário
Persistência e Recuperação
O banco de dados e as chaves de proteção usam volumes persistentes. A existência de um script de backup não representa, por si só, um SLA de backup ou restauração; condições operacionais devem ser confirmadas com a equipe.
Segurança da Aplicação
Desenvolvimento Seguro
- Riscos comuns: Controles voltados a reduzir XSS, injeção de SQL e requisições indevidas
- Validação de entrada: FluentValidation e validações específicas nos fluxos aplicáveis da API
- Queries parametrizadas: EF Core com prepared statements (prevenção de SQL Injection)
- Blazor auto-escape: Proteção contra XSS por padrão no frontend
- CORS configurado: Apenas origens específicas autorizadas
Proteção de Webhooks
- Stripe: Verificação de assinatura de webhook para eventos de pagamento
- Mensagens recebidas: Deduplicação por identificador da mensagem para reduzir processamento repetido
- Processamento interno: Rotas internas protegidas por segredo de configuração e identificação da empresa
Rate Limiting
- Autenticação: 10 requisições/minuto (prevenção de força bruta)
- Processamento de mensagens WhatsApp: 100 requisições/minuto
- Checkout e outros endpoints públicos protegidos: 5 requisições/minuto
- Consulta do status do checkout: 30 requisições/minuto
- WebChat: limites próprios para início e envio de mensagens
Segurança de Credenciais
- Chaves de API de IA: Criptografadas com AES-256 em repouso, descriptografadas apenas em tempo de execução
- Tokens do Google Calendar: Criptografados com AES-256, armazenados de forma segura
- Tokens WhatsApp: Protegidos em repouso pelo serviço de criptografia da aplicação
- Chave de criptografia: Mínimo de 32 caracteres, validada na inicialização
- JWT Secret: Mínimo de 32 caracteres, rejeita valores placeholder
- Dados de cartão: Nunca armazenados - processados diretamente pelo Stripe (PCI compliant)
Conformidade
Controles e processos orientados pela Lei Geral de Proteção de Dados. Direitos podem ser solicitados pelos canais indicados. Saiba mais
Os dados do cartão são informados diretamente no ambiente do Stripe e não são armazenados pelo ZapBeauty.
A integração usa OAuth 2.0 e atualmente solicita o escopo Google Calendar para ler, criar, atualizar e remover eventos.
Resposta a Incidentes
Plano de Resposta
A resposta a um incidente pode envolver as seguintes etapas, de acordo com sua natureza e impacto:
- Detecção: Identificação do incidente via monitoramento ou relato
- Contenção: Isolamento da ameaça para evitar propagação
- Correção: Eliminação da vulnerabilidade e restauração do serviço
- Notificação: Comunicação aos usuários afetados e à ANPD conforme exigido pela LGPD
- Análise: Revisão do incidente e implementação de melhorias
Boas Práticas para Usuários
Recomendamos que nossos usuários também adotem boas práticas de segurança:
- Senha forte: Use senhas únicas e complexas para sua conta ZapBeauty
- Não compartilhe credenciais: Cada funcionário deve ter seu próprio login
- Revise acessos: Remova funcionários que não fazem mais parte da equipe
- Chaves de API: Use chaves dedicadas para o ZapBeauty (não reutilize chaves de outros serviços)
- Google Calendar: Revogue o acesso se não utilizar mais a integração
Reportar Problemas de Segurança
Se você identificar alguma vulnerabilidade ou problema de segurança, entre em contato:
E-mail: suportevendas@zapbeauty.net
WhatsApp: (24) 9 8100-4191
Atendimento: O relato será registrado e priorizado conforme o risco. Não há prazo público fixo de resposta, salvo condição contratual específica.
Valorizamos relatos responsáveis de vulnerabilidades.
Esta página reflete as práticas de segurança atualmente implementadas no ZapBeauty. Continuamos investindo em melhorias para manter seus dados sempre protegidos.