Segurança
O que guardamos, como as chaves de API são protegidas, e o que seu agente pode tocar pelo MCP.
O que guardamos
O Firestore é o único banco de dados, e ele guarda exatamente o que é necessário para o produto funcionar. Nada aqui é vendido ou compartilhado.
| Dado | O que é guardado |
|---|---|
| Conta | Seu uid, um e-mail se você entrou com um, e o provedor que você usou. |
| Assinatura | Plano, status e data de renovação, espelhados do Whop. |
| Uso | Quais designs você copiou hoje, só para aplicar o limite diário. |
| Salvos | Os designs que você salvou. |
| Chaves de API do agente | Um hash SHA-256 de cada chave. Nunca a chave em si. |
Regras de segurança do Firestore
Uma conta consegue ler só os próprios documentos, nunca os de outra. Toda escrita, em toda coleção, passa pelo servidor com o Admin SDK; as regras do lado do cliente negam escritas por completo, então não existe caminho de um navegador direto para o banco de dados.
Chaves de API do agente
Uma chave é 256 bits de aleatoriedade atrás do prefixo mdc_, gerada uma vez e mostrada a você exatamente essa única vez. Só o SHA-256 dela é armazenado, como o próprio id do documento, então um vazamento da tabela inteira não entrega nada a um atacante para reutilizar: não há segredo para reverter, só um hash para consultar. Revogar apaga essa linha, que é a credencial, então ela para de funcionar imediatamente.
O que seu agente pode fazer pelo MCP
Toda ferramenta é uma leitura. Buscar e listar não precisam de chave nenhuma; só pegar o código de um design é medido, e custa exatamente o que o botão de copiar aqui custa.
- Não consegue escrever na sua conta. A única coisa que se move é sua contagem de cópias.
- Não consegue redesenhar um design nem inventar um que não existe.
- Não consegue ver as chaves ou o uso de outra conta.
Detalhes completos sobre as ferramentas em si estão na página do MCP.
Pagamentos
A Whop é o merchant of record; nunca vemos o número completo de um cartão. Todo webhook que ela envia é verificado contra sua assinatura (HMAC-SHA256 sobre o id da mensagem, o timestamp e o corpo bruto, comparado em tempo constante) antes de qualquer coisa ser escrita, uma entrega com mais de cinco minutos é recusada como repetição, e uma requisição sem assinatura ou com assinatura incompatível é rejeitada de cara.
Relatando um problema
Mande um e-mail para support@clevens.com com o que você encontrou. A gente mesmo lê; nada passa por um sistema de tickets antes.