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 é.

SuboperadorAtividadeLocalização
DigitalOcean, LLCBanco de dados, cache e broker de mensagens da plataformaEstados Unidos
Cloudflare, Inc.Rede de borda e gateway de APIRede global de borda
Vercel Inc.Hospedagem e distribuição de conteúdo do site públicoRede global de borda
New Relic, Inc.Monitoramento de desempenho e telemetria de errosEstados Unidos
Stripe, Inc.Processamento de pagamentos de planos pagosEstados Unidos
Lark Technologies Pte. Ltd.E-mail transacional de reserva, usado enquanto não houver remetente próprio configuradoSingapura

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.

Afirmação nossa, documentos publicados

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 aqui
Afirmação nossa, documentos publicados

LGPD

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 aqui
Dado de cartão não chega até nós

PCI 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 escopo

Achou 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
Legível por máquina
/.well-known/security.txt