Confiança na Squish

Como protegemos os dados dos clientes, com quem os compartilhamos e por quanto tempo os mantemos. Atualizado em 4 de novembro de 2026.

MFA obrigatório (fornecedores + equipe)
Impersonação com registro de auditoria
Acesso via Cloudflare Zero Trust
SOC 2 Type 1 em andamento
Ver status do sistema em tempo real

Visão geral da arquitetura

A Squish é uma plataforma multisserviço. O site voltado ao cliente (squish.co) e o CRM interno (work.squish.co) rodam em Cloudflare Workers / Pages. Cinco backends Node.js — squish-backend, squish-crm-backend, squish-provisioning, squish-email e squish-hosting — rodam na Railway, na região US-East. Os registros de clientes ficam no Salesforce; estado transacional, logs de auditoria e metadados de provisionamento ficam no Google Firestore (região dos EUA). Os dados de pagamento são mantidos pela Stripe — por design, a Squish está fora do escopo PCI.

O registro de domínios é intermediado pela NameSilo. A hospedagem web compartilhada roda em nós Plesk hospedados em droplets da DigitalOcean; os VPS do Managed Cloud usam CyberPanel por padrão, em droplet próprio. Os sites hospedados ficam atrás do CDN e do WAF da Bunny. O licenciamento do Microsoft 365 é intermediado pela Pax8 (CSP).

Criptografia

  • Em trânsito: TLS 1.3 (mínimo TLS 1.2) de ponta a ponta via Cloudflare. HSTS aplicado em todos os domínios voltados ao cliente.
  • Em repouso: criptografia padrão do Firestore (AES-256), criptografia de plataforma do Salesforce; a Stripe processa todos os dados de cartão com controles PCI DSS Nível 1.
  • Segredos: todas as chaves de API, credenciais de contas de serviço e strings de conexão de banco de dados ficam em variáveis de ambiente da Railway e secret bindings da Cloudflare — nunca versionados no código-fonte.
  • Backups: recuperação point-in-time do Firestore (janela de 7 dias). Os registros de clientes do Salesforce ficam na plataforma Salesforce, com replicação e recuperação de desastres integradas.

Autenticação e controle de acesso

  • Autenticação de clientes: Firebase Auth (e-mail + senha, além de provedores OAuth opcionais). JWTs de curta duração (TTL de 1 hora).
  • Autenticação da equipe: Cloudflare Access na frente de todas as superfícies internas. SSO + MFA obrigatórios. Tokens de sessão com escopo por aplicativo.
  • Serviço a serviço: chave de API interna compartilhada + gates de função por rota (admin / suporte / vendas).
  • Impersonação: toda sessão de equipe "agindo como cliente" é registrada com motivo, ações de ponta a ponta e horários de início/fim. Ações destrutivas (alteração de forma de pagamento, transferências de registrador) são bloqueadas durante a impersonação por uma denylist explícita.

Registro de auditoria

Toda ação privilegiada é gravada em uma destas coleções append-only do Firestore:

  • security_events — falhas de autenticação, negações de RBAC, tentativas de IDOR, acionamentos de rate limit
  • impersonation_sessions — sessões de equipe agindo como cliente, com subcoleção por ação
  • billing_actions — emissão de reembolsos, justificativas de limite por função, cadeias de segunda aprovação
  • email_log — todo e-mail enviado, com tipo, motivo de supressão e status de envio
  • webhook_events — leases de idempotência de webhooks da Stripe / NameSilo / Pax8
  • cron_runs — heartbeat de cada job agendado (para que execuções ausentes fiquem visíveis)

Controles verificados em código

Os controles de segurança não estão apenas descritos nesta página — os mais críticos são verificados em código, para que o próximo deploy não possa enfraquecê-los silenciosamente.

  • Gate de CI nos cabeçalhos de segurança das respostas: todo PR executa um teste smoke em vitest que quebra o build se os cabeçalhos Content-Security-Policy, Cross-Origin-Resource-Policy, anti-clickjacking ou referrer-policy divergirem dos valores esperados.
  • Verificação de permissões de terceiros na inicialização: ao subir, o backend confirma que a chave de API da Stripe configurada tem todos os escopos de que o dashboard e os fluxos de checkout dependem; um escopo ausente é registrado de forma explícita no boot, em vez de aparecer como falha silenciosa para o cliente.
  • Helpers SOQL orientados a tipos rejeitam identificadores malformados no ponto de chamada, em vez de convertê-los silenciosamente em um valor que ampliaria a consulta — defesa contra injeção de SOQL no lado das integrações.
  • Manifesto de prontidão das variáveis de ambiente: cada serviço declara todas as variáveis que consome, marcadas como obrigatórias ou opcionais, e um endpoint interno informa quais faltam na instância em execução — assim um segredo ausente aparece em uma verificação deliberada após o deploy, e não na primeira requisição de cliente que precisava dele.

Retenção de dados

Dados operacionais são mantidos por janelas curtas e justificáveis; registros financeiros são mantidos pelos 7 anos exigidos pela legislação tributária dos EUA. Solicitações de exclusão de clientes são atendidas em até 30 dias para dados não financeiros.

Tipo de dadoPrazo de retençãoArmazenamento
Logs operacionais (debug, heartbeats)30 diasTTL do Firestore em cron_runs
Log de envio de e-mails90 diasTTL do Firestore em email_log
Eventos de webhook (Stripe etc.)90 diasTTL do Firestore em webhook_events
Carrinhos abandonados90 diasTTL do Firestore em carts (status=draft|abandoned)
Registros de cobranças com falha1 ano após a última atividadeTTL do Firestore em failed_charges
Eventos de segurança (falha de auth, negação de RBAC)1 anoTTL do Firestore em security_events
Auditoria de impersonação (equipe agindo como cliente)IndefinidamenteFirestore impersonation_sessions
Registros de renovação de domínio (financeiros)7 anosFirestore domain_renewals + Order do Salesforce
Reembolsos, ações de cobrança7 anosFirestore billing_actions + Salesforce
Cobranças concluídas, faturas, pedidos7 anosStripe + Order do Salesforce (espelhado)
Dados da conta do cliente (ativa)Vigência da conta + 30 diasAccount / Contact do Salesforce
Transcrições do assistente de IAIndefinidamenteChat_Conversation__c + Chat_Message__c do Salesforce
Projetos do construtor de sites (Faber)IndefinidamenteFirestore faberProjects
Dados do cliente após solicitação de exclusão30 dias, exceto o que não podemos excluir mediante solicitação: registros de cobrança (7 anos), registros de segurança e abuso (1 ano), e transcrições do assistente de IA, registros de acesso da equipe e projetos do construtor de sites (indefinidamente). Os registros de cobrança incluem seu cadastro de cliente na Stripe, do qual os cartões salvos são removidosJob de expurgo no Salesforce + Firestore

Subprocessadores

Fornecedores que processam dados de clientes em nosso nome. Cada um opera sob seu próprio programa de conformidade — os links levam às suas páginas públicas de confiança.

FornecedorFinalidadeRegiãoConformidade
Stripe Processamento de pagamentos, armazenamento de cartões (escopo PCI)EUASOC 1, SOC 2, PCI DSS L1
Salesforce Registros de clientes, pedidos, casos de suporteEUASOC 1, SOC 2, ISO 27001, ISO 27018
Google Firebase Autenticação, banco de dados Firestore, hospedagemEUASOC 1, SOC 2, SOC 3, ISO 27001, ISO 27017, ISO 27018
Cloudflare CDN, proteção contra DDoS, WAF, acesso da equipe (Zero Trust)Edge globalSOC 2, ISO 27001, PCI DSS
NameSilo Registro de domínios + DNSEUA/CARegistrador credenciado pela ICANN
Pax8 Provisionamento de licenças Microsoft 365 (CSP)EUASOC 2
Microsoft Hospedagem de caixas de correio + tenant do Microsoft 365 (gerenciado via admin delegado)EUA (à escolha do cliente)SOC 1, SOC 2, ISO 27001, ISO 27018, HIPAA
Resend Entrega de e-mails transacionaisEUASOC 2
Trustpilot Convites para avaliação após uma compraUESOC 2 Type 2
Railway Hospedagem de contêineres de backend (US-East)EUASOC 2
DigitalOcean Droplets de hospedagem compartilhada PleskEUASOC 2, SOC 3, ISO 27001, PCI DSS
Amazon Web Services Projetos de hospedagem AWS gerenciadaEUASOC 1, SOC 2, ISO 27001, PCI DSS
Bunny.net CDN + WAF para sites de clientes hospedados, domínios estacionados e redirecionamentosEdge globalGDPR (DPA disponível)
Anthropic Assistente de IA (suporte por chat, roteamento de prompts); verificações de respostas do AI VisibilityEUASOC 2
Perplexity Verificações de respostas do AI VisibilityEUASOC 2

Resposta a incidentes e divulgação responsável

  • Contato de segurança: security@squish.co — a equipe é alertada em tempo real.
  • Política de divulgação responsável: /.well-known/security.txt
  • SLA de resposta inicial: em até um dia útil.
  • Notificação ao cliente: em até 72 horas após a confirmação de uma violação que afete dados de clientes, conforme o Artigo 33 do GDPR.
  • Status do sistema em tempo real: squish.co/status

Postura de conformidade

Hoje: A Squish opera um programa de segurança autoatestado, sustentado pelos controles descritos acima. A maior parte do conjunto de controles do SOC 2 Type 1 (controle de acesso, criptografia, registro de auditoria, gestão de fornecedores, gestão de mudanças) já está implementada; a auditoria formal está no roadmap.

SOC 2 Type 1: em andamento. Atestação prevista para o fim deste ano.

SOC 2 Type 2: o período de observação começa após a conclusão da atestação Type 1.

Para equipes de compras: teremos prazer em preencher um questionário de segurança (CAIQ-Lite, SIG-Lite ou o seu próprio formato). Fale conosco em security@squish.co.

Acordo de Processamento de Dados (DPA): nosso DPA padrão, alinhado ao Artigo 28 do GDPR e incluindo as Cláusulas Contratuais Padrão da UE, está publicado em squish.co/dpa e é incorporado automaticamente aos nossos Termos de Serviço.

Fale com nossa equipe de segurançaVer planos de hospedagemVer planos de e-mail
Página de confiança atualizada em 4 de novembro de 2026 · Alterações relevantes são destacadas no topo desta página.