A API Key autoriza chamadas à sua API de WhatsApp. Trate-a como uma senha de serviço: quem obtém a chave pode tentar executar operações permitidas àquele token. O painel do StackZap Cloud mostra credenciais específicas por ambiente; proteja cada uma com o mesmo cuidado.

Um ciclo seguro para credenciais
  1. 01Guarde a chave em secret manager
  2. 02Leia-a no servidor em runtime
  3. 03Oculte-a de logs e respostas
  4. 04Troque-a se houver exposição

Boas práticas para a aplicação

  • Injete a credencial no backend por variável de ambiente ou cofre de secrets.
  • Não inclua a chave em código JavaScript executado no navegador ou em app cliente distribuído.
  • Restrinja acesso ao repositório, pipeline de deploy e painel que armazena secrets.
  • Masque valores de X-API-Key em logs, traces, relatórios e gravações de tela.
  • Use ambientes e credenciais diferentes para desenvolvimento e produção quando possível.

Se a chave aparecer em público

Remova o valor do local exposto, mas considere que apagar o texto não invalida cópias já feitas. Siga a função de revogação ou rotação disponível para seu ambiente. Se não encontrar a opção ou suspeitar de acesso indevido, procure o suporte com o identificador do ambiente, sem enviar a chave antiga em texto aberto.

Confira os mecanismos de autenticação aceitos na documentação da StackZap. Para as instruções do seu ambiente Cloud, entre em contas.stacklab.digital e consulte o painel correspondente.

Por que a API Key precisa ficar no servidor

Uma página web é entregue ao navegador do visitante. Tudo que chega no código JavaScript pode ser inspecionado, inclusive valores incluídos no bundle, variáveis de build e chamadas de rede. Ofuscação não transforma uma chave embutida em segredo. Se o navegador precisa iniciar uma ação, envie uma solicitação ao seu backend autenticado; o backend valida o usuário e os parâmetros e então chama a StackZap com a credencial guardada no servidor.

O mesmo princípio vale para aplicativos móveis distribuídos, extensões, scripts compartilhados e automações de terceiros: o usuário final pode extrair valores do pacote ou do processo. Se um agente de IA utiliza a integração, não entregue a chave no prompt ou contexto. Crie uma ferramenta no backend com operações limitadas e validações explícitas.

Use um cofre de segredos

Em desenvolvimento, mantenha arquivo de ambiente fora do Git e inclua um modelo sem valores reais para orientar a equipe. Em produção, prefira o secret manager da plataforma. Dê acesso apenas ao serviço que precisa da API Key e a operadores responsáveis. Não reutilize a mesma credencial em todos os projetos, clientes ou estágios.

Se usar variável de ambiente, considere quem pode ler a configuração do processo, dumps e diagnósticos. Não imprima todas as variáveis para investigar um problema. Em pipeline CI/CD, limite quem pode editar workflow e consultar secrets, proteja branches de produção e reveja permissões de deploy. Uma pessoa que altera código e acessa a chave pode conseguir incluí-la num artefato público.

Segmente ambientes e acessos

Use credenciais distintas para desenvolvimento, homologação e produção sempre que o mecanismo disponível permitir. A URL e a chave devem pertencer ao mesmo ambiente. Isso reduz o impacto de um teste mal configurado e facilita revogar acesso de um sistema sem interromper todos os demais. Nomeie a variável por ambiente, sem colocar o valor no nome ou no log.

Defina responsáveis: quem solicita, aprova, provisiona, rotaciona e revoga a credencial. A revisão deve ocorrer quando alguém muda de função ou deixa a equipe, quando um serviço é aposentado e após qualquer suspeita de exposição. A lista de acessos precisa estar atualizada, não apenas documentada no onboarding.

Evite vazamentos indiretos

Um segredo pode aparecer em mais lugares do que o arquivo-fonte: saída de terminal, captura de tela, tickets, gravação de sessão, erro de framework, trace HTTP, log do proxy, relatório de bug e histórico do shell. Configure redaction para X-API-Key e revise ferramentas de observabilidade. Em exemplos, use placeholders claramente fictícios e não copie um comando completo com valor real para uma página de documentação pública.

Não envie a chave como query string. URLs podem ser gravadas em histórico, proxy e analytics. Não a coloque no campo de usuário do banco, em nome de instância ou em tags de monitoramento. Evite registrar headers completos. Ao compartilhar um diagnóstico, substitua o valor por [redigida] antes de anexar.

O que fazer se a chave vazar

Considere comprometida qualquer credencial publicada em repositório, compartilhada com destinatário errado ou incluída num artefato acessível. Remover a linha não invalida cópias, forks, logs ou commits. Avalie se houve chamadas anormais, revogue ou rotacione conforme o procedimento disponível e atualize os serviços dependentes. Se não encontrar a ação no painel, contate suporte informando apenas o ambiente e horário aproximado.

Depois da troca, verifique se nenhum serviço continua usando a chave antiga e retire cópias de locais públicos. Reveja o caminho que causou a exposição: segredo em bundle, permissão excessiva, pipeline ou logging. Se houve uso indevido, preserve evidências necessárias e siga seu plano de resposta a incidentes. Não publique o valor novamente para pedir ajuda.

Rotação sem interrupção desnecessária

Planeje a rotação considerando quais aplicações dependem da credencial. Prepare a configuração nova, implante num serviço de cada vez e valide uma chamada não destrutiva ou uma consulta. Só então invalide a chave anterior quando o mecanismo do produto permitir. Se apenas uma chave puder existir por vez, escolha janela de menor atividade, comunique operadores e tenha plano de retorno. Não deixe credenciais antigas ativas sem prazo.

Checklist de proteção

  • A credencial nunca é enviada ao navegador ou aplicativo cliente.
  • Segredos ficam fora do repositório e de artefatos públicos.
  • Acesso ao cofre e ao pipeline segue menor privilégio.
  • Produção e homologação usam configuração separada.
  • Logs, traces e relatórios mascaram X-API-Key.
  • Rotação e revogação têm responsáveis definidos.
  • Um vazamento aciona investigação e troca, não apenas exclusão do texto.
  • Agentes e automações usam operações limitadas no backend.

Arquitetura simples para integração web

O navegador envia ao seu backend uma intenção, por exemplo “consultar status desta instância”. O backend autentica o usuário, verifica se ele pode acessar aquele recurso e monta a chamada StackZap usando a API Key guardada no servidor. A resposta é filtrada para retornar apenas os dados necessários à interface. Esse padrão evita entregar a credencial ao navegador e dá um ponto central para registrar auditoria e limitar operações.

Não crie um proxy genérico que aceite URL e método arbitrários enviados pelo cliente. Isso pode transformar seu servidor num relay para qualquer rota e ampliar o impacto de uma conta comprometida. Crie funções específicas como consultarStatus ou enviarNotificacao, valide cada parâmetro e permita apenas IDs autorizados. Exija autorização no servidor em cada chamada; esconder um botão no frontend não é controle de acesso.

Segredos em containers e tarefas automatizadas

Ao executar containers, injete secrets usando o mecanismo apropriado à plataforma e restrinja quem pode inspecionar configuração e processos. Variáveis de ambiente são melhores do que gravar a chave na imagem, mas ainda podem aparecer em dumps ou ferramentas administrativas. Não use argumentos de linha de comando com o valor literal, pois podem ficar em histórico e lista de processos.

Em jobs agendados, limite quais tarefas recebem a credencial e evite imprimir o ambiente inteiro ao iniciar. Em forks de repositórios e ambientes de preview, não disponibilize chave de produção. Uma contribuição de código de terceiro não deve executar num ambiente que tem secrets de produção até ser revisada.

Controle de acesso e auditoria

Revise quem pode consultar o painel do ambiente, alterar variáveis, iniciar deploy e ler logs. Essas permissões podem dar acesso indireto à credencial, mesmo que a pessoa não veja o campo diretamente. Registre mudanças de configuração e autoria sem registrar o valor. Para aplicações multi-tenant, associe o acesso à instância ao usuário e ao tenant em cada request.

Defina um processo de desligamento de integração: pare workers, remova o secret do runtime, revogue a credencial conforme mecanismo do ambiente e registre a data. Faça inventário de cópias em pipeline, ambiente de desenvolvimento e ferramentas de monitoramento. Apagar o secret da configuração atual não o remove de um dump antigo.

Responda a um alerta de uso anormal

Se notar chamadas inesperadas, proteja primeiro o ambiente e reduza o acesso à credencial. Registre horários e endpoints afetados, preserve os logs necessários e avalie se dados de contatos foram expostos. Revogue ou troque a chave conforme orientação disponível, atualize os serviços legítimos e monitore se o padrão anormal cessou. Comunique responsáveis internos segundo seu plano de incidente.

Peça suporte sem mandar a API Key. Informe ambiente, janela de tempo, operação e identificadores de requisição. Uma chave nunca deve ser compartilhada para “validar” titularidade. Depois da contenção, revise permissões, logs e origem do vazamento e inclua prevenção no processo de deploy.

Faça uma revisão de exposição periódica

Pesquise repositórios e projetos por padrões de credenciais, sem imprimir valores encontrados nos relatórios. Use secret scanning no fluxo de desenvolvimento e bloqueie commits que incluam segredos conhecidos. A ferramenta reduz erros acidentais, mas não substitui revisão de logs, screenshots e ambientes. Depois de um alerta, encaminhe o achado a um responsável e remova o acesso conforme o processo definido.

Inclua pipelines, sites de documentação, ferramentas de monitoramento e ambientes de preview na revisão. Secrets não devem ser enviados para builds públicos nem compartilhados automaticamente com forks. Revise quem pode baixar artefatos, editar workflows e ver logs de deploy; essas permissões frequentemente dão acesso indireto ao valor.

Use placeholders seguros na documentação

Nos exemplos, escreva ${STACKZAP_API_KEY} ou [SUA_API_KEY], nunca um valor aparentemente válido. Explique que a variável deve ser carregada no servidor e não no frontend. Evite comandos que incentivem colar a chave no terminal, no prompt de IA ou no navegador. Uma documentação segura torna o caminho correto mais fácil que o inseguro.

Se precisar produzir uma captura de tela para suporte, use conta de teste ou oculte o valor antes de gravar. Um blur pode ser desfeito dependendo do arquivo; prefira remover o dado antes da captura. Não envie logs brutos para ferramentas externas sem redaction e autorização.

Formalize o ciclo de vida do segredo

Para cada API Key, registre identificador da credencial, serviço que a usa, ambiente, responsável, data de criação e última revisão. Não registre o valor. Na desativação, remova configuração de todos os ambientes, revogue pelo mecanismo disponível e confirme que o serviço deixou de usar a chave. Esse inventário torna rotação e resposta a incidente mais rápidas.

Confira quem pode alterar o backend

Uma chave guardada no servidor ainda pode ser exposta se um usuário consegue alterar o código que a utiliza ou ler traces detalhados. Proteja branches, revise alterações no cliente HTTP e limite acesso a logs e dumps. A revisão de segurança deve incluir quem pode alterar uma rota que usa a API Key, não apenas quem pode abrir o secret manager.

Se uma aplicação permite que usuários configurem endpoints, restrinja quais destinos podem ser chamados e como a credencial é associada. Nunca aceite que um usuário escolha uma URL qualquer e faça o backend enviar X-API-Key para ela. Isso pode encaminhar o segredo a um servidor controlado por terceiro.

Adicione uma revisão de segurança quando incluir integração, endpoint ou worker que usa a chave. Confirme se a operação é necessária, se o acesso pode ser menor e se os logs continuam mascarados. Revisar esse caminho reduz o risco de uma credencial antiga ganhar usos que ninguém acompanha.

Inclua a chave no inventário de ativos

Relacione cada credencial ao serviço e ao ambiente que a utiliza, com responsável e data de revisão. Ao criar uma integração nova, confirme que ela precisa de acesso direto ou pode chamar um backend existente. Essa decisão reduz o número de cópias e facilita revogação. Se não puder identificar quem mantém uma chave antiga, investigue seus usos antes de removê-la para não interromper uma operação legítima.

Para revisar uma exposição, inclua a data do achado, o local, o alcance potencial e a ação de rotação. Não copie o segredo para o relatório; use o identificador da credencial. A nota permite confirmar a resolução sem criar outra cópia da informação sensível.