Sésame Éclair
Um segredo, uma leitura, nenhum rasto: a chave nunca sai da ligação, o servidor só guarda um bloco ilegível.
- Ano
- 2026
- Stack
- Next.js · React · TypeScript · WebCrypto · WebAssembly · PostgreSQL
- Design de produto
- Criptografia aplicada
- Desenvolvimento web
- Segurança aplicacional
- Acessibilidade
- SEO multilingue

- sem conta, sem publicidade
- 0 €
- chave da ligação, nunca enviada ao servidor
- 256 bits
- leituras simultâneas aceites num segredo de leitura únicaTeste automatizado contra Postgres.
- 1 em 100
- idiomas do site
- 7
O que era preciso resolver.
O contexto
O Sésame Éclair é um serviço gratuito de partilha de segredos de leitura única, editado pela KAYZEN a partir de Lyon. Cola-se uma palavra-passe ou uma chave e obtém-se uma ligação cifrada ponto a ponto que desaparece após a leitura ou no prazo escolhido. É o produto irmão do Sésame, o gestor de palavras-passe da KAYZEN: o Sésame guarda o que tem de durar, o Éclair transmite o que tem de desaparecer. O software é gratuito, mas proprietário. Só a aplicação web está online, em sete idiomas; a extensão, as aplicações para computador e telemóvel e a linha de comandos estão desenvolvidas, mas ainda não publicadas.
A restrição
Uma palavra-passe enviada por e-mail ou no Slack nunca desaparece realmente: fica nos históricos, nas cópias de segurança e nos índices de pesquisa, e qualquer pessoa que um dia aceda à caixa de correio pode lê-la. Os serviços de ligação de utilização única existem, mas alguns cifram nos seus próprios servidores, como indica, por exemplo, a página do Onetime Secret consultada a 6 de outubro de 2026, e muitos reservam os ficheiros, os pedidos de segredo ou o domínio personalizado a uma oferta paga. Era preciso um serviço gratuito e sem conta, cuja confidencialidade se mantivesse mesmo para quem não confia no editor.
A resposta
A chave nunca sai da ligação. O navegador gera uma chave aleatória de 256 bits, cifra o segredo e coloca essa chave depois do sinal # do endereço, parte que os navegadores nunca enviam aos servidores. O servidor só armazena um bloco cifrado e algumas datas; entrega-o uma vez e apaga-o na mesma operação. O resto decorre desta regra: a página da ligação nunca contém o segredo, o código PIN não pode ser testado pelo servidor, e cada limite do dispositivo está escrito no site, em vez de ser silenciado.
As pontuações registadas na entrega.
Pontuações Lighthouse do site em produção. Publicamo-las tal como estão: quando uma delas é baixa, a causa e o plano de correção estão descritos mais abaixo, em vez de serem omitidos.
Cada opção, e a sua razão.
A família Sésame, um destaque para a marca
Azul-marinho #1F3B61 para os títulos, terracota #B7481F para a ação principal: a identidade visual de kayzen-lyon.com e do Sésame. O âmbar «Éclair» #F2C14E está reservado ao logótipo. O tema claro é apresentado por predefinição, seja qual for a definição do sistema; o tema escuro é uma escolha do utilizador, que fica memorizada.
O formulário é o primeiro ecrã
Vem-se a este site para enviar um segredo, não para ler uma apresentação: a zona de introdução ocupa o hero. As opções estão recolhidas, mas resumidas numa linha legível, «1 leitura · expira em 24 horas · sem código», e só se abrem para mudar o número de leituras, o prazo, a proteção ou os destinatários.
O que ainda não existe está assinalado como tal
A página Funcionalidades classifica cada função como «Disponível» ou «Previsto». A página Transferir apresenta a extensão, Windows, macOS, a linha de comandos, Android e iPhone como «Em breve», com uma remissão para a aplicação web. Num produto de segurança, anunciar uma função inexistente custaria mais confiança do que aquela que traria.
Um movimento que não atrapalha a leitura
Curvas de animação nítidas, botões que afundam ligeiramente quando premidos, efeitos de passagem reservados ao rato, cartões que assentam durante o deslocamento em CSS puro, sem esbatimento, para nunca baixar o contraste. Tudo é desativado quando o sistema pede para reduzir as animações.
Paleta do projeto
Tinta
#1F2937
Texto
Marinho
#1F3B61
Títulos
Terracota
#B7481F
Ação principal
Âmbar Éclair
#F2C14E
Logótipo
Verde
#1F6B48
Confirmação
Sistema tipográfico
Títulos
Outfit 800
Texto corrido
Plus Jakarta Sans 400
As famílias de kayzen-lyon.com, em versões variáveis servidas a partir do próprio domínio: a política de segurança não autoriza nenhuma fonte de terceiros.
O que está por baixo do capô.
- Next.js
- React
- TypeScript
- WebCrypto
- WebAssembly
- PostgreSQL
AES-256-GCM, a chave no fragmento
O conteúdo é cifrado pela WebCrypto em AES-256-GCM, com um vetor de inicialização aleatório de 96 bits e dados associados ligados ao identificador do segredo. As chaves são derivadas por HKDF-SHA-256. Antes da cifragem, o conteúdo é preenchido por patamares (1, 4, 16, 64 KiB…) para que o servidor não conheça o seu comprimento real. O formato está publicado, com os respetivos vetores de teste, na página «Formato criptográfico v1».
Um código PIN que o servidor não pode testar
O código passa pelo Argon2id (64 MiB, 3 passagens), executado em WebAssembly e carregado apenas se for pedido um código. O verificador enviado ao servidor é calculado a partir do código e da chave da ligação: sem essa chave, o servidor não pode verificar nem experimentar um código. Conta os erros e destrói o segredo à quinta tentativa. O limite está escrito na página Segurança: quem tiver ao mesmo tempo a ligação e uma cópia da base de dados pode quebrar offline um código curto.
Uma única leitura, mesmo com cem em simultâneo
A página de uma ligação, obtida por GET, nunca contém o conteúdo cifrado: este só é entregue depois de um clique em «Revelar», através de um pedido POST. Os robôs de pré-visualização do Slack, do Teams ou do Outlook não consomem, portanto, a leitura. A entrega e a eliminação fazem-se numa única consulta SQL; um teste lança 100 revelações simultâneas sobre um segredo de leitura única e só aceita uma. Ligação desconhecida, expirada, lida ou destruída: a resposta é a mesma.
Nenhum script de terceiros, uma política fechada
Content-Security-Policy com nonce por pedido, sem unsafe-inline nem unsafe-eval para os scripts; só é admitido wasm-unsafe-eval, para o Argon2id. connect-src limitado ao domínio, frame-ancestors em none, HSTS de dois anos com preload, Referrer-Policy em no-referrer. O preço é assumido e documentado: as páginas são renderizadas a cada pedido, em vez de serem geradas estaticamente.
Alojado na União Europeia, sem endereços IP na base de dados
A aplicação é executada na Vercel, em Paris; a base de dados Postgres está na Neon, em Frankfurt. Nenhuma coluna contém endereços IP: a limitação de débito assenta numa impressão digital não reversível que muda todos os dias. O acesso aos dados passa pelo Drizzle e por um Postgres padrão, o que mantém o alojamento substituível.
Um núcleo criptográfico, vários clientes em preparação
Toda a cifragem vive num módulo único, packages/crypto, testado com vetores determinísticos. O mesmo módulo já serve, no código, uma extensão Manifest V3, aplicações de computador Electron, aplicações Capacitor para Android e iOS, e uma linha de comandos com servidor MCP. Nenhuma está publicada até à data: o site apresenta-as como futuras.
Como o site se torna encontrável.
Uma página por intenção de pesquisa
Cinco comparativos (Onetime Secret, Password Pusher, scrt.link, Bitwarden Send, Password.link), quatro páginas de casos de utilização (agências, DevOps, suporte informático, particulares), duas ferramentas gratuitas que funcionam no navegador (gerador de palavras-passe, testador de robustez) e um blogue. Cada comparativo indica a data de verificação, as fontes e uma linha «Encontrou um erro? Escreva-nos».
Sete idiomas, ligados entre si
Francês na raiz; inglês, alemão, espanhol, italiano, português e neerlandês sob o respetivo prefixo. Cada página declara os seus equivalentes por hreflang, com um x-default, e o mapa do site recenseia-os a todos. As traduções automáticas estão assinaladas como «em revisão»; nos textos legais, só a versão francesa faz fé.
FAQPage, SoftwareApplication e llms.txt
As perguntas frequentes têm marcação FAQPage; o produto é declarado como SoftwareApplication com um preço de 0 €. Um ficheiro llms.txt descreve aos assistentes o que o serviço garante, mas também os seus limites: ausência de auditoria externa, software proprietário, aplicações ainda não disponíveis.
Utilizável por todos.
Desde junho de 2025, o Ato Europeu da Acessibilidade exige a acessibilidade digital a uma grande parte dos serviços online. Tratamo-la na conceção, não como correção posterior.
WCAG 2.2 AA verificado em 44 páginas
Os testes de ponta a ponta passam o axe-core aos níveis WCAG 2.0, 2.1 e 2.2 AA em 44 páginas, em vários idiomas, bem como na página inicial em tema claro e em tema escuro. Navegação por teclado, foco visível e ligação para saltar para o conteúdo constam da declaração de acessibilidade.
Contrastes verificados por um teste
Cada par de tokens de cor tem o seu rácio mínimo, controlado automaticamente: 7:1, nível AAA, para o texto corrente e os títulos sobre fundo claro; 4,5:1 para o texto secundário, as ligações de destaque e as mensagens de estado, nos dois temas.
Uma declaração que não sobrestima
Na falta de uma auditoria RGAA (o referencial francês de acessibilidade) por um organismo independente, a declaração de acessibilidade indica que o site está «não conforme» na aceção do referencial, embora tenha sido concebido para o ser. É a regra do produto aplicada à acessibilidade: nenhuma afirmação sem prova.
O que foi entregue.
- Início — criar um segredo, três etapas, minicomparativo
- Funcionalidades — «Disponível» ou «Previsto», função a função
- Segurança — primitivas, ameaças, limites; formato v1 e vetores de teste
- O que o servidor vê — o pedido real, apresentado em direto
- Pedir um segredo — ligação de depósito cifrada apenas para quem pede
- Comparativos, casos de utilização, perguntas frequentes, preços, blogue, ferramentas
- Estado do serviço, transparência, novidades, roteiro
- Informações legais, termos de utilização, privacidade, acessibilidade, denúncia
As etapas do projeto.
Fundações
Monorepo, integração contínua com análise estática, módulo criptográfico e formato v1 com os respetivos vetores de teste, tokens de design, decisões de arquitetura e modelo de ameaças.
Servidor e aplicação
Base de dados Postgres, revelação atómica, código PIN com cinco tentativas, ligação de acompanhamento, purga agendada, política de segurança com nonces; ecrãs de criação, de revelação e de acompanhamento.
Site público
Funcionalidades, segurança, comparativos datados, perguntas frequentes, casos de utilização, ferramentas, páginas legais, «O que o servidor vê», estado do serviço e transparência.
Publicação
Alojamento real declarado (Paris para a aplicação, Frankfurt para a base de dados), sete idiomas, orçamento de desempenho controlado a cada alteração, composição gráfica alinhada com kayzen-lyon.com.
Outras plataformas
Extensão, computador, telemóvel e linha de comandos desenvolvidos sobre o mesmo núcleo; publicação nas lojas pendente. Auditoria externa prevista antes da versão 1.0.
O que nos perguntam com frequência.
Outros projetos
Cibersegurança & Aplicação multiplataformaSésame
Um gestor de palavras-passe que não consegue ler as suas palavras-passe: a prova era a arquitetura.
Conformidade RGPD & SaaSKonsent by Kayzen
Um editor de banners que audita banners é juiz em causa própria: a independência era o produto.
Cibersegurança ofensiva & SaaSSentinel by Kayzen
Vender um produto de segurança a engenheiros: cada afirmação tinha de ser demonstrável.
O mesmo nível de exigência, para o seu site.
Auditoria gratuita do seu site atual, orçamento em 24 h e um raciocínio por escrito — como o que acabou de ler. Pagamento em três prestações sem juros; apoios locais verificados antes da assinatura.