Segurança

Segurança

Copiar página

Segurança do Workflow Transactional Email para Shopify Flow: alojamento na UE (Bélgica), encriptação de credenciais SMTP e dados, isolamento e atualizações.

O Workflow Transactional Email é desenvolvido e operado pela Code Creation Labs. Esta página explica em que consiste a aplicação, onde é executada, como os dados da sua loja são protegidos e como mantemos tudo atualizado. Destina-se a proprietários de lojas e a qualquer pessoa que preencha um questionário de segurança. O que a aplicação armazena e por quanto tempo pode ser consultado em Dados, privacidade e segurança; os aspetos legais (política de privacidade, acordo de tratamento de dados, subcontratantes) encontram-se em Informações legais e proteção de dados.

Em que se baseia a aplicação

Camada O que utilizamos
Código da candidatura TypeScript no Node.js, uma versão atual com suporte a longo prazo. As páginas de administração, o editor de layout e os serviços que executam as suas etapas do Shopify Flow fazem parte de uma única base de código.
Base de dados e cache PostgreSQL (Google Cloud SQL) e Redis (Google Cloud Memorystore)
Alojamento Contentores no Google Kubernetes Engine na região europe-west1 (Bélgica, União Europeia) do Google Cloud. As bases de dados, as caches, o armazenamento de ficheiros e os registos das aplicações estão localizados nessa região.
Integração com o Shopify As bibliotecas de aplicações oficiais da Shopify, as ações do Shopify Flow, a API GraphQL de administração para as permissões opcionais e os webhooks da Shopify
Entrega de e-mails A caixa de correio que liga: o seu próprio servidor SMTP, o Microsoft 365 ou o Google Workspace. Os e-mails de alerta que a própria aplicação lhe envia passam pelo Amazon SES em Frankfurt.
A sua loja virtual Nada funciona no seu tema nem no seu checkout.

Não existe PHP, WordPress, Java nem qualquer outro ambiente de execução em nenhuma parte do serviço. A aplicação está listada na App Store da Shopify e foi aprovada na avaliação de aplicações da Shopify, que abrange os requisitos de segurança da Shopify e de proteção dos dados dos clientes.

Como os seus dados são protegidos

Em trânsito. Todas as ligações entre o seu navegador, a Shopify, o seu fornecedor de e-mail e a aplicação utilizam o protocolo TLS. A base de dados e a cache não têm qualquer endereço público: só são acessíveis a partir do interior da nossa rede privada.

Em repouso. Todas as bases de dados e o armazenamento de ficheiros são encriptados em repouso com chaves que gerimos no Google Cloud KMS.

Encriptação ao nível do campo, como camada adicional. Tudo o que possa ser utilizado para envio recebe uma segunda camada de proteção: nomes de utilizador e palavras-passe SMTP, tokens OAuth do Microsoft 365 e do Google, os segredos que armazena, o token de acesso ao Shopify da sua loja e os endereços na sua lista de cancelamento de subscrição. Cada valor é encriptado individualmente com AES-256-GCM utilizando uma chave separada no Cloud KMS, com rotação automática de chaves, e desencriptado na memória apenas no momento em que uma ação é executada. Cada descriptografia de um valor protegido é registada num registo de acesso interno. Os valores secretos são ocultados do histórico de ações antes de este ser gravado e nunca são devolvidos pela API do Desenvolvedor nem ao Sidekick.

Segredos. As credenciais e chaves da API do próprio serviço estão armazenadas no Google Secret Manager e são carregadas quando o serviço é iniciado. Não se encontram no código, nem nas imagens dos contentores, nem no pipeline de compilação.

Minimização de dados. A aplicação é instalada sem acesso aos dados da sua loja. Os dados dos clientes só chegam a um endereço de e-mail porque os transmite a partir do Shopify Flow. As quatro autorizações opcionais (ler o ficheiro de um metacampo relativo a um pedido ou a um cliente, criar um código de desconto único) são solicitadas no momento, concedidas através da caixa de diálogo própria do Shopify e podem ser revogadas a qualquer momento. Consulte Autorizações: o que a aplicação pode ler na sua loja.

Quem pode aceder a quê

  • Apenas a sua loja. Cada registo contém a loja a que pertence e cada consulta está limitada à loja que foi autenticada. Uma loja nunca pode ler nem alterar os layouts, remetentes, segredos ou histórico de outra loja.
  • Apenas pedidos verificados. As páginas no painel de administração do Shopify são autenticadas com tokens de sessão do Shopify. As etapas do Shopify Flow e os webhooks próprios do Shopify são verificados pela assinatura HMAC do Shopify antes de qualquer dado ser processado, e uma etapa do Shopify Flow que seja enviada duas vezes é executada apenas uma vez.
  • Conteúdo renderizado. Os layouts são renderizados nos nossos servidores e o resultado é sanitizado antes do envio: scripts, manipuladores de eventos, URLs «javascript:», iframes e elementos de formulário são removidos, para que um valor transmitido pelo Shopify Flow não se possa transformar em conteúdo ativo na caixa de entrada de alguém.
  • Pedidos de saída. Os URLs aos quais a aplicação se liga em seu nome, para a ação HTTP Request, para anexos obtidos a partir de um URL e para ficheiros referenciados por um metacampo, são verificados antes da ligação: são recusados endereços de loopback, link-local, metadados na nuvem e endereços de redes privadas, incluindo através de um redirecionamento. Os redirecionamentos são limitados e o tamanho das respostas é restringido.
  • A nossa equipa. O acesso aos sistemas de produção é feito exclusivamente através do Google Cloud IAM, com contas individuais. As ferramentas de manutenção internas não estão expostas à Internet.

Como mantemos a aplicação atualizada

  • Todas as alterações são analisadas antes de poderem ser lançadas. O pipeline executa verificações de tipo e linting, testes estáticos de segurança de aplicações (SAST), deteção de informações confidenciais, análise de vulnerabilidades nas dependências e análise de imagens de contentores. O nosso critério de lançamento é a ausência total de vulnerabilidades conhecidas nas dependências e na imagem.
  • Ambiente de execução e sistema operativo. A imagem do contentor, o Node.js na sua base Alpine Linux, é recompilada em cada lançamento, pelo que as atualizações do ambiente de execução e do sistema operativo são disponibilizadas de forma contínua. A plataforma Kubernetes gerida mantém os nós subjacentes atualizados.
  • Plataforma Shopify. Acompanhamos as versões da API da Shopify e os avisos de segurança relativos às bibliotecas de aplicações da Shopify, aplicando as atualizações de forma imediata. A aplicação funciona com uma versão atual da API de administração.
  • Avaliações de segurança. Realizamos uma avaliação interna completa de todas as rotas, percursos de dados e consultas à base de dados a intervalos regulares, tendo a mais recente ocorrido em outubro de 2026.
  • Monitorização. A disponibilidade é monitorizada 24 horas por dia e publicada na nossa statuspágina, e os erros alertam-nos. Os registos operacionais são armazenados na mesma região da UE, mantidos durante um período máximo de 30 dias e nunca contêm credenciais nem informações confidenciais.

Conservação e eliminação

  • O histórico de ações, que regista o que foi enviado e que, por conseguinte, constitui dados do cliente, é eliminado automaticamente após 30 dias.
  • A desinstalação elimina tudo: layouts, remetentes, segredos, histórico, a lista de cancelamento de subscrição e os ficheiros carregados, de forma imediata e irrecuperável.
  • Os pedidos de privacidade obrigatórios da Shopify (clientes/data_request, clientes/redact e shop/redact) são tratados automaticamente dentro dos prazos definidos pela Shopify, incluindo a inclusão de um cliente na lista de cancelamento de subscrição.
  • A tabela completa do que é armazenado encontra-se em Dados, privacidade e segurança. Os subcontratantes e o calendário de retenção constam da privacye. Pode solicitar-se um acordo de tratamento de dados assinado em workflow-transactional-email.app/dpa.

Comunicar um problema de segurança

Caso considere que identificou uma vulnerabilidade ou necessite de preencher um questionário de segurança, envie um e-mail para support@codecreationlabs.com. Os relatórios de segurança são analisados e respondidos com prioridade.