Segurança
Nós guardamos as credenciais com que os seus usuários entram. É a coisa mais sensível que se pode confiar a uma empresa, e é o produto inteiro — não uma camada que acrescentamos depois.
Esta página descreve o que fazemos hoje. Onde ainda não temos uma certificação, ela diz isso.
Nada sensível fica em claro
Tudo que guardamos e que machucaria alguém se vazasse é cifrado antes de chegar ao armazenamento. O que muda entre eles é se guardamos um jeito de ler de volta — e essa diferença é proposital.
Credenciais
Senhas, tokens de renovação
Passam por uma função de mão única antes de serem guardadas. Dá para conferir se a senha digitada bate com o valor guardado, mas nada transforma esse valor de volta na senha — nem nós, nem quem sair com uma cópia da tabela.
Segredos
Chaves de API, client secrets de OAuth, chaves de checagem de bot
Cifrados antes de chegar ao banco, nunca guardados como você digitou. Aqui existe uma chave, porque precisamos reenviá-los ao provedor a que pertencem.
Cache
O que fica guardado por pouco tempo entre requisições
Cifrado antes de ser escrito, com uma chave derivada para cada registro e um chaveiro que é rotacionado. Uma chave sozinha nunca abre tudo.
Credenciais também não chegam aos nossos logs. O gateway registra uma allow-list explícita de headers, então Authorization e chaves de API ficam de fora por construção, não por filtro aplicado depois.
O resto do mecanismo
Tudo abaixo está em produção hoje. Nada aqui é item de roadmap.
Provar que é a pessoa
Senha é um fator. Os segundos fatores são códigos de uso único por tempo e SMS, com códigos de recuperação para quando o dispositivo se perde. O modo sudo cobre as ações que merecem mais do que uma sessão válida — trocar credenciais, gerenciar fatores, revogar sessões. Ele pede prova de novo e expira sozinho, então uma sessão esquecida aberta numa máquina compartilhada não serve para tomar a conta.
- TOTP
- Códigos por SMS
- Códigos de recuperação
- Modo sudo
Atrasar quem ataca
Cinco ações de auth são limitadas por endereço IP, e os limites são seus, por ambiente. O limite de consulta importa mais do que parece: consulta de identificador sem limite é endpoint de enumeração de conta. Uma checagem de bot fica na frente dos endpoints que apanham primeiro.
- Logins
- Renovações de token
- Verificações
- Modo sudo
- Consultas de identificador
Em trânsito
Tudo é servido sobre TLS, com HSTS. As respostas carregam os headers que impedem o navegador de supor por conta própria: nada de adivinhar tipo de conteúdo, nada de vazar referrer, e uma política de conteúdo que bloqueia enquadramento e carga de recursos de fora. Toda resposta que carrega um token responde no-store, como a RFC 6749 e o OpenID Connect Core exigem — as únicas exceções são o documento de discovery e o JWKS, que todo cliente busca o tempo todo e que não contêm segredo algum.
- TLS e HSTS
- CSP
- Referrer-Policy
- nosniff
- no-store nos tokens
Um ambiente não alcança o outro
Cada ambiente de um projeto é um servidor de autorização separado, com issuer próprio e clientes OAuth próprios. Um cliente registrado em staging não existe em produção. É isso que permite entregar credenciais de staging a um parceiro sem dar nada que funcione contra usuários reais.
- Issuer por ambiente
- Clientes por ambiente
- Dados por ambiente
O que registramos
Toda requisição que passa pelo gateway é registrada com método, caminho, host, status, tamanho e tempo, mais o IP do cliente, o user agent e o projeto, ambiente e sessão a que pertence. Parâmetros sensíveis de query são mascarados antes de a entrada ser escrita. Esses logs são do cliente cujo projeto recebeu a requisição, e ficam legíveis no Console.
- Free 24 horas
- Pro 7 dias
- Scale 28 dias
- Enterprise sob medida
Dados de cartão que nunca vemos
Os pagamentos passam pela Stripe. O número do cartão é digitado em campos servidos pela Stripe e não chega aos nossos sistemas, então não há dado de portador aqui para se perder.
- Campos servidos pela Stripe
- Nenhum dado de cartão guardado
Quem mais toca nisso
Rodamos sobre infraestrutura que não é nossa, e dizemos de quem é.
| Suboperador | Atividade | Localização |
|---|---|---|
| DigitalOcean, LLC | Banco de dados, cache e broker de mensagens da plataforma | Estados Unidos |
| Cloudflare, Inc. | Rede de borda e gateway de API | Rede global de borda |
| Vercel Inc. | Hospedagem e distribuição de conteúdo do site público | Rede global de borda |
| New Relic, Inc. | Monitoramento de desempenho e telemetria de erros | Estados Unidos |
| Stripe, Inc. | Processamento de pagamentos de planos pagos | Estados Unidos |
| Lark Technologies Pte. Ltd. | E-mail transacional de reserva, usado enquanto não houver remetente próprio configurado | Singapura |
Avisamos com pelo menos trinta dias antes de acrescentar ou trocar um, e você pode se opor. O compromisso completo está no Adendo de Tratamento de Dados.
Onde estamos
Não temos nenhuma certificação de segurança hoje. SOC 2 e ISO 27001 exigem auditor credenciado e um período de operação observada, que uma plataforma tão nova ainda não tem como ter — quando tivermos uma, esta página vai apontar para o relatório em vez de descrevê-lo. O que vem abaixo é o que é verdade agora, e que tipo de afirmação é cada uma.
GDPR
O regulamento europeu. Não existe certificado dele; o que existe é o instrumento.
O Adendo de Tratamento de Dados carrega as Cláusulas Contratuais Padrão, módulo dois, e o Adendo do Reino Unido. A lista de suboperadores nomeia cada provedor, sua atividade e onde fica.
Como o GDPR se aplica aquiLGPD
A lei brasileira de proteção de dados. É a que nos rege — somos empresa brasileira.
Bases legais, direitos do titular, retenção e a ANPD como autoridade estão na Política de Privacidade. Transferência internacional usa o mecanismo que o artigo 33 permite.
Como a LGPD se aplica aquiPCI DSS
O padrão da indústria de cartões.
O número do cartão é digitado em campos servidos pela Stripe e vai direto para ela. Nosso código nunca o vê e nosso banco nunca o guarda, então não há dado de portador aqui para proteger.
Como ficamos fora de escopoAchou alguma coisa?
Escreva para a gente. Nossa política de divulgação define o que está no escopo, o que pedimos de você e o que assumimos em troca — inclusive que pesquisa feita de boa-fé dentro dela é autorizada.
Ler a política de divulgação- Contato
- [email protected]
- Legível por máquina
- /.well-known/security.txt