Segurança
Esta página descreve, sem rodeios, como o SSO Marreira protege a autorização que você concedeu. É o detalhamento técnico da seção 6 da Política de Privacidade.
A ideia central
Um aplicativo que guarda a credencial de renovação do Google carrega um segredo permanente: quem o obtiver tem acesso contínuo à conta, e revogar exige mexer em cada aplicativo. O desenho aqui inverte isso — a credencial do Google nunca sai deste servidor, e o aplicativo fica apenas com uma chave opaca que podemos invalidar sozinha, sem tocar nas demais.
Cifragem da credencial
- A credencial de renovação é cifrada com XChaCha20-Poly1305, um algoritmo autenticado, antes de tocar o disco.
- A cifragem é vinculada ao contexto: a conta Google e o aplicativo de origem entram como dado autenticado adicional. Um registro copiado para outra linha do banco simplesmente não decifra.
- A chave mestra vive na configuração do servidor, fora do banco de dados. Um vazamento apenas do banco não revela credencial nenhuma.
- A chave opaca entregue ao aplicativo é guardada aqui somente como resumo SHA-256. Nem nós conseguimos lê-la de volta.
Isolamento entre aplicativos
Cada par (aplicativo, conta Google) é uma conexão independente. Autorizar o aplicativo A não dá ao aplicativo B qualquer acesso à sua conta, mesmo sendo a mesma conta e o mesmo servidor. Revogar um não derruba o outro.
Proteções do fluxo de autorização
- Endereço de retorno com correspondência exata. Cada aplicativo tem uma lista fechada de endereços de retorno. Não há curinga nem correspondência por prefixo — o que fecha a porta para redirecionamento aberto.
- Tela de confirmação antes do Google. Você vê qual aplicativo pediu, para qual endereço vai voltar e o que cada permissão autoriza, antes de qualquer coisa acontecer.
- Código de uso único e curta duração. O retorno para o aplicativo carrega apenas um código descartável, válido por poucos minutos e que só pode ser trocado uma vez — e essa troca é feita servidor a servidor, autenticada. Nenhum segredo trafega pela barra de endereços.
- Proteção contra repetição. Códigos e estados de sessão são consumidos de forma atômica: reapresentar um valor já usado falha.
- Limite de requisições por endereço IP e por aplicativo, com resposta padronizada.
Proteções da aplicação
- HTTPS obrigatório, com HSTS.
- Política de Segurança de Conteúdo restritiva: as páginas públicas não executam JavaScript algum.
- Cabeçalhos
X-Frame-Options: DENY,X-Content-Type-Options: nosniffeReferrer-Policy: no-referrer— este último impede que qualquer código ou identificador vaze pelo cabeçalho de referência. - Consultas ao banco sempre parametrizadas; comparação de segredos em tempo constante.
- Nenhuma credencial ou autorização é gravada em registro, em nenhum nível.
- O banco de dados fica fora do diretório servido pela web, com bloqueio explícito no servidor como segunda barreira.
O que acontece quando o Google invalida uma conexão
Se você trocar a senha, revogar o acesso ou o Google expirar a autorização, a próxima renovação falha. A conexão é marcada como expirada e o aplicativo recebe um erro claro pedindo nova autorização — em vez de tentar acessar sua conta indefinidamente.
Encontrou uma falha?
Escreva para contato@marreiradigital.com.br com a descrição e os passos para reproduzir. Pedimos que não divulgue publicamente antes de respondermos, e que não acesse dados de outras pessoas durante o teste. Respondemos em até 5 dias úteis.