Segurança

Segurança

Copiar página

Segurança do Workflow Webhooks para Shopify Flow: tecnologia, hospedagem na UE, criptografia e isolamento de webhooks, segredos e entregas, e atualizações.

O Workflow Webhooks é desenvolvido e operado pela Code Creation Labs. Esta página explica em que o aplicativo se baseia, onde ele é executado, como os dados da sua loja são protegidos e como mantemos tudo atualizado. Ela foi elaborada para proprietários de lojas e para qualquer pessoa que preencha um questionário de segurança. As informações jurídicas (política de privacidade, contrato de tratamento de dados, subcontratados) encontram-se em Informações jurídicas e proteção de dados.

Em que a aplicação se baseia

Camada O que utilizamos
Código do aplicativo TypeScript no Node.js, uma versão atual com suporte de longo prazo. As páginas de administração, os endpoints que recebem seus webhooks e os workers que os encaminham para o Shopify Flow fazem parte de uma única base de código.
Banco de dados e cache PostgreSQL (Google Cloud SQL) e Redis (Google Cloud Memorystore)
Fila Uma chamada recebida é aceita, colocada em fila no Google Cloud Pub/Sub e processada por um worker separado; assim, mesmo em caso de pico de chamadas ou de uma resposta demorada do Shopify, nenhuma entrega é perdida.
Hospedagem Contêineres no Google Kubernetes Engine na região europe-west1 do Google Cloud (Bélgica, União Europeia). Bancos de dados, caches e filas estão localizados nessa região.
Integração com o Shopify As bibliotecas oficiais de aplicativos do Shopify, os gatilhos e as ações do Shopify Flow e os webhooks do Shopify
Suja loja virtual Nada é executado no seu tema. A URL opcional do proxy do aplicativo para chamadas do navegador (consulte CORS, a URL do proxy do aplicativo e as chamadas do navegador) é servida pela Shopify no seu próprio domínio e verificada com a assinatura da Shopify.

Não há PHP, WordPress, Java ou qualquer outro ambiente de execução em nenhuma parte do serviço. O aplicativo está listado na App Store da Shopify e foi aprovado na avaliação de aplicativos da Shopify, que abrange os requisitos de segurança da Shopify e de proteção dos dados dos clientes.

Como seus dados são protegidos

Em trânsito. Todas as conexões entre o seu navegador, o Shopify, os sistemas que acionam seus webhooks e o aplicativo utilizam TLS. O banco de dados, o cache e a fila não possuem endereço público: só podem ser acessados de dentro da nossa rede privada.

Em repouso. Todos os bancos de dados e armazenamentos são criptografados em repouso com chaves que gerenciamos no Google Cloud KMS.

Criptografia no nível do campo, além disso. Os valores mais confidenciais recebem uma segunda camada: o token de acesso da sua loja no Shopify, o segredo de autenticação de cada webhook e todos os segredos que você armazena para funções de transformação. Cada valor é criptografado individualmente com AES-256-GCM por meio de uma chave separada no Cloud KMS, com rotação automática de chaves, e descriptografado na memória somente no momento em que é necessário. Os segredos nunca são registrados em logs e nunca são retornados 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. Elas não constam no código, nem nas imagens de contêiner, nem no pipeline de compilação.

Minimização de dados. O aplicativo não solicita acesso aos dados da sua loja durante a instalação: iniciar um fluxo de trabalho do Shopify Flow não requer permissão, e o aplicativo nunca acessa produtos, pedidos ou clientes por conta própria. Uma transmissão contém exatamente os dados que o sistema de origem enviou.

Quem tem acesso a quê

  • Apenas a sua loja. Cada registro contém a loja à qual pertence, e cada consulta é restrita à loja que foi autenticada. Uma loja nunca pode ler ou alterar os webhooks ou entregas de outra loja, e uma resposta síncrona é vinculada à loja que a solicitou.
  • Apenas solicitações verificadas. As páginas no painel de administração do Shopify são autenticadas por meio de tokens de sessão do Shopify. Os callbacks do Shopify Flow e os webhooks do próprio Shopify são verificados pela assinatura HMAC do Shopify, e as mensagens internas, por identidades assinadas pelo Google, antes que quaisquer dados sejam acessados.
  • Seus webhooks, suas regras. Cada URL de webhook é impossível de ser adivinhada, e o senhor escolhe como os chamadores comprovam sua identidade: um token estático, uma assinatura HMAC sobre o corpo da mensagem ou nenhuma, para fontes que não possam assinar. Um Listas de endereços IP permitidos opcional restringe ainda mais os chamadores; o endereço do chamador é obtido a partir da conexão de rede, e não de um cabeçalho, portanto não pode ser falsificado. Entregas duplicadas são reconhecidas e processadas uma única vez. Consulte Autenticação.
  • Funções de transformação. O código JavaScript que o senhor escreve para Funções de transformação é executado em um ambiente isolado (sandbox) com limite de tempo e de memória, em uma infraestrutura separada dos servidores do próprio aplicativo. Ele nunca tem acesso às credenciais do aplicativo nem ao seu token de acesso do Shopify, e suas solicitações de saída são verificadas em relação aos intervalos de endereços da rede privada antes da conexão.
  • Solicitações de saída. As URLs que o aplicativo acessa em seu nome, para Verificação programada de URLs e para Chamada de um webhook a partir do Shopify Flow, são verificadas antes da conexão: endereços de loopback, link-local, metadados na nuvem e de redes privadas são recusados, inclusive por meio de um redirecionamento.
  • Nossa equipe. O acesso aos sistemas de produção é feito exclusivamente por meio do Google Cloud IAM, com contas individuais. As ferramentas internas de manutenção não estão expostas à internet.

Como mantemos o aplicativo atualizado

  • Todas as alterações são analisadas antes de poderem ser enviadas. O pipeline realiza verificações de tipo e linting, testes estáticos de segurança de aplicativos (SAST), detecção de segredos, análise de vulnerabilidades em dependências e análise de imagens de contêineres. Nosso critério de lançamento é zerar o número de vulnerabilidades conhecidas nas dependências e na imagem.
  • Ambiente de execução e sistema operacional. A imagem do contêiner, o Node.js em sua base Alpine Linux, é recompilada a cada lançamento, de modo que as correções para o ambiente de execução e o sistema operacional são fornecidas continuamente. A plataforma gerenciada do Kubernetes mantém os nós subjacentes atualizados.
  • Plataforma Shopify. Acompanhamos as versões da API do Shopify e os alertas de segurança relativos às bibliotecas de aplicativos do Shopify, e aplicamos as atualizações imediatamente. O aplicativo é executado em uma versão atual da API de administração.
  • Avaliações de segurança. Realizamos uma avaliação interna completa de todas as rotas, caminhos de dados e consultas a bancos de dados em intervalos regulares, tendo a mais recente ocorrido em outubro de 2026.
  • Monitoramento. A disponibilidade é monitorada 24 horas por dia e publicada em nossa página de status, e os erros nos alertam. Os registros operacionais são mantidos por no máximo 30 dias e nunca contêm tokens ou segredos.

Retenção e exclusão

  • O histórico de entregas permanece enquanto o aplicativo estiver instalado, para que você possa verificar e reproduzir chamadas, além de poder excluir entradas a qualquer momento. Os cabeçalhos que possam conter credenciais são ocultados antes que uma entrega seja armazenada.
  • Quando você desinstala o aplicativo, o acesso dele à sua loja é excluído imediatamente. A solicitação de remoção da loja do Shopify, que ocorre 48 horas após a desinstalação, apaga os dados restantes da loja, incluindo tudo o que suas funções de transformação armazenaram.
  • Shopify
  • Os subcontratados e o cronograma completo de retenção de dados constam na privacypolicy. É possível solicitar um contrato de tratamento de dados assinado pelo e-mail workflow-webhooks.app/dpa.

Como relatar um problema de segurança

Caso acredite ter encontrado uma vulnerabilidade ou precise que um questionário de segurança seja preenchido, envie um e-mail para support@codecreationlabs.com. Os relatórios de segurança são analisados e respondidos com prioridade.