Um vazamento do banco de dados não expõe nada.
Os dados pessoais de cada usuário são criptografados em repouso com chaves específicas por locatário que nunca tocam o banco de dados. Uma credencial de armazenamento vazada ou um backup roubado resulta em texto cifrado — não e-mails, não nomes, não números de telefone.
Como funciona
- A criptografia acontece fora do banco de dados. Os valores são criptografados e descriptografados por meio do HashiCorp Vault Transit — a aplicação nunca detém o material da chave, e o banco de dados nunca vê uma chave.
- Cada locatário tem sua própria chave. Excluir um locatário faz o crypto-shredding de sua chave, tornando todos os dados desse locatário permanentemente irrecuperáveis — sem necessidade de apagamento linha a linha.
- AES-256-GCM randomizado protege cada valor, de modo que entradas idênticas nunca produzem textos cifrados idênticos.
Criptografado, e ainda assim pesquisável
Criptografia normalmente significa abrir mão da pesquisa. Aqui, não. Junto a cada valor criptografado, armazenamos tokens de "blind index" com HMAC de chave — assim, login por e-mail, busca de administrador por nome e "todos em acme.com" funcionam como buscas exatas e por prefixo sobre dados que nunca são armazenados em texto claro. As chaves do índice também são HMACs: um vazamento das tabelas de índice também não revela nada.
O que é protegido
Endereços de e-mail, nomes e sobrenomes, números de telefone, nomes de empresas e quaisquer atributos personalizados que você armazenar — tudo criptografado em repouso. As senhas nunca foram armazenadas de forma reversível (elas são hasheadas de forma unidirecional com um KDF moderno). Atribuições de função, IDs opacos e carimbos de data/hora não são dados pessoais e permanecem em texto claro para que o sistema continue operável.
A ameaça contra a qual projetamos
O cenário é uma credencial de armazenamento vazada ou um backup exposto — alguém obtém uma cópia bruta das tabelas. A criptografia transparente em nível de disco (com chaves gerenciadas pelo cliente) não ajuda nesse caso: ela descriptografa automaticamente para qualquer coisa que consiga ler o armazenamento, então um vazamento sai em texto plano. A criptografia em nível de aplicação ajuda: as chaves residem no Vault, isoladas dos dados, então uma cópia das tabelas é uma cópia de texto cifrado.
Em trânsito, também
Os dados são criptografados em trânsito (TLS 1.2+) e também em repouso. Temos o prazer de apresentar nossos controles de segurança a clientes empresariais sob NDA.
Como relatar uma vulnerabilidade
Encontrou algo? Envie um e-mail para [email protected]. Nosso contato legível por máquina está publicado em /.well-known/security.txt.