Se um AppID, `clientSecret` ou secret key de webhook da Woovi foi publicado em um repositório público, log, ticket, print, pacote npm/composer, bundle de frontend, ou foi detectado por uma ferramenta de *secret scanning*, siga os passos abaixo.

**Trate a credencial como comprometida** mesmo que o repositório fosse privado, mesmo que o commit tenha sido revertido e mesmo que a exposição tenha durado poucos minutos. Reescrever o histórico do Git **não** remedia o vazamento — só a rotação da credencial remedia.

## Resumo: faça agora

1. **Rotacione ou revogue** a credencial no painel — isso invalida a credencial exposta imediatamente.
2. **Atualize seus sistemas** com a nova credencial.
3. **Revise extrato, transações e auditoria** do período em que a credencial ficou exposta.

## 1. Identifique o tipo de credencial

| Credencial | Onde é usada | Risco |
| - | - | - |
| **AppID de API** | Header `Authorization` das chamadas a `api.woovi.com` | **Alto** — permite chamar a API em nome da sua empresa, dentro dos escopos atribuídos |
| **AppID de Plugin** | Frontend / checkout | **Baixo/Médio** — é público por design e só acessa rotas de plugin, mas recomendamos rotacionar |
| **`clientSecret` de WooviApp (OAuth)** | Backend do seu app | **Alto** — permite se passar pelo seu app no fluxo OAuth |
| **`clientId` / `clientSecret` de Limites de Conta** | HTTP Basic Auth | **Alto** |
| **Secret key HMAC de Webhook** | Validação do header `X-OpenPix-Signature` | **Médio** — permite forjar webhooks que o seu sistema aceitaria como legítimos |

Se você não conseguir identificar o tipo, trate como AppID de API (o cenário mais sensível).

## 2. Rotacione ou revogue a credencial

### AppID de API ou de Plugin

Rotacionar gera um novo AppID e **invalida o antigo imediatamente**:

1. No painel, vá em **API/Plugins → API/Plugins**.
2. Selecione a aplicação cuja chave foi exposta.
3. Clique em **Regerar AppID**.
4. Confirme com o seu segundo fator de autenticação (2FA).
5. Copie o novo AppID — ele é exibido apenas nesse momento.

Passo a passo com imagens: [Como regerar o seu AppID/Token](https://ajuda.woovi.com/hc/duvidas-frequentes/articles/como-regerar-o-seu-appid-token)

Se a integração não é mais usada, prefira **remover a aplicação** em vez de rotacionar. A aplicação *master* da empresa não pode ser removida — nesse caso, rotacione.

Se a mesma credencial estava em uso por várias integrações, crie um AppID por integração antes de rotacionar. Assim o próximo incidente afeta apenas um sistema.

### `clientSecret` de WooviApp (OAuth)

O `clientSecret` é exibido apenas uma vez na criação e a Woovi armazena somente o hash dele — não há como recuperá-lo nem rotacioná-lo. Cadastre um novo app em [store.woovi.com/create](https://store.woovi.com/create) com as mesmas *redirect URIs* e permissões, migre seu backend e remova o app antigo. Cada empresa que autorizou o seu app pode revogar o acesso em [store.woovi.com/authorized-apps](https://store.woovi.com/authorized-apps).

### `clientId` / `clientSecret` de Limites de Conta

Crie um novo par de credenciais no painel, atualize sua integração e remova o par exposto.

### Secret key HMAC de Webhook

A secret key faz parte da configuração do webhook. Para trocá-la, remova o webhook e cadastre-o novamente — o novo webhook recebe uma nova secret key. Considere migrar para a validação por chave pública (`x-webhook-signature`), que não depende de um secret compartilhado e portanto não pode vazar do seu lado.

## 3. Avalie o impacto

Com a credencial rotacionada, verifique o que aconteceu enquanto ela estava exposta:

* **Extrato e transações** — procure cobranças, pagamentos, saques ou reembolsos que você não reconhece.
* **Auditoria** — todas as ações na plataforma são auditadas com IP e geolocalização.
* **Sessões** — confira as sessões ativas e os alertas de login de dispositivos ou locais desconhecidos.
* **Webhooks** — se a secret key HMAC vazou, revise os eventos que seu sistema processou no período.

Encontrou algo suspeito? Escreva imediatamente para [security@woovi.com](mailto:security@woovi.com) com o AppID afetado (nunca o valor completo da credencial), a janela de tempo e o que você observou.

## 4. Previna o próximo vazamento

* **Nunca versione credenciais.** Use variáveis de ambiente ou um gerenciador de segredos.
* **Restrinja escopos.** Um AppID sem escopos definidos tem acesso completo às rotas do seu tipo de aplicação.
* **Restrinja IPs.** Libere apenas os IPs dos seus servidores.
* **Uma chave por integração.** Não reutilize AppIDs entre serviços ou ambientes.
* **Desative chaves não utilizadas.**
* **Nunca use um AppID de API no frontend.** Para frontend existe o tipo Plugin.
* **Habilite MFA** para todos os usuários da sua empresa.
* **Ative o *secret scanning*** no seu provedor de Git para ser avisado antes de nós.

## 5. Fale com a Woovi

| Assunto | Canal |
| - | - |
| Credencial vazada, atividade suspeita, incidente de segurança | [security@woovi.com](mailto:security@woovi.com) · [infosec@woovi.com](mailto:infosec@woovi.com) |
| Divulgação responsável de vulnerabilidade | [security@woovi.com](mailto:security@woovi.com) |
| Dúvidas de integração e suporte | [ajuda.woovi.com](https://ajuda.woovi.com) |

## Documentação técnica completa

Versão para desenvolvedores, com exemplos de API:

* Português: [developers.woovi.com/docs/security/security-leaked-credentials](https://developers.woovi.com/docs/security/security-leaked-credentials)
* English: [developers.woovi.com/en/docs/security/security-leaked-credentials](https://developers.woovi.com/en/docs/security/security-leaked-credentials)
