Sésame Éclair
Un segreto, una lettura, zero tracce: la chiave non lascia mai il link, il server conserva solo un blocco illeggibile.
- Anno
- 2026
- Stack
- Next.js · React · TypeScript · WebCrypto · WebAssembly · PostgreSQL
- Product design
- Crittografia applicata
- Sviluppo web
- Sicurezza applicativa
- Accessibilità
- SEO multilingue

- senza account, senza pubblicità
- 0 €
- chiave del link, mai inviata al server
- 256 bit
- letture simultanee accettate su un segreto a lettura unicaTest automatizzato su Postgres.
- 1 su 100
- lingue del sito
- 7
Cosa c'era da risolvere.
Il contesto
Sésame Éclair è un servizio gratuito di condivisione di segreti a lettura unica, pubblicato da KAYZEN da Lione. Incolli una password o una chiave e ottieni un link cifrato end-to-end che scompare dopo la lettura o alla scadenza scelta. È il prodotto gemello di Sésame, il password manager di KAYZEN: Sésame custodisce ciò che deve durare, Éclair trasmette ciò che deve scomparire. Il software è gratuito ma proprietario. Solo l'app web è online, in sette lingue; l'estensione, le app desktop e mobili e la riga di comando sono sviluppate ma non ancora pubblicate.
Il vincolo
Una password inviata via email o su Slack non scompare mai davvero: resta nelle cronologie, nei backup e negli indici di ricerca, e chiunque un giorno acceda alla casella può leggerla. I servizi di link monouso esistono, ma alcuni cifrano sui propri server, come precisa ad esempio la pagina di Onetime Secret rilevata il 6 ottobre 2026, e molti riservano i file, le richieste di segreti o il dominio personalizzato a un piano a pagamento. Serviva un servizio gratuito e senza account, la cui riservatezza regga anche se non ti fidi dell'editore.
La risposta
La chiave non lascia mai il link. Il browser genera una chiave casuale di 256 bit, cifra il segreto, poi colloca questa chiave dopo il segno # dell'indirizzo, la parte che i browser non inviano mai ai server. Il server conserva solo un blocco cifrato e alcune date; lo consegna una volta, poi lo elimina nella stessa operazione. Tutto il resto discende da questa regola: la pagina del link non contiene mai il segreto, il codice PIN non può essere testato dal server e ogni limite del sistema è scritto sul sito invece di essere passato sotto silenzio.
I punteggi rilevati alla consegna.
Punteggi Lighthouse del sito in produzione. Li pubblichiamo così come sono: quando uno è basso, la causa e il piano di correzione sono spiegati più sotto invece di essere taciuti.
Ogni scelta di design, e il suo perché.
La famiglia Sésame, un accento per il marchio
Blu marino #1F3B61 per i titoli, terracotta #B7481F per l'azione principale: l'identità visiva di kayzen-lyon.com e di Sésame. L'ambra «éclair» #F2C14E è riservata al logotipo. Il tema chiaro viene mostrato per impostazione predefinita, qualunque sia l'impostazione del sistema; il tema scuro è una scelta dell'utente, che viene memorizzata.
Il modulo è la prima schermata
Su questo sito si viene per inviare un segreto, non per leggere una presentazione: l'area di inserimento occupa l'hero. Le opzioni sono compresse ma riassunte in una riga leggibile, «1 lettura · scade tra 24 ore · senza codice», e si espandono solo per cambiare il numero di letture, la scadenza, la protezione o i destinatari.
Ciò che non esiste ancora è indicato come tale
La pagina Funzionalità classifica ogni funzione come «Disponibile» o «Previsto». La pagina Download mostra l'estensione, Windows, macOS, la riga di comando, Android e iPhone come «In arrivo», con un rimando all'app web. Su un prodotto di sicurezza, annunciare una funzione assente costerebbe più fiducia di quanta ne porterebbe.
Un movimento che non disturba la lettura
Curve di animazione nette, pulsanti che si abbassano leggermente alla pressione, effetti al passaggio riservati al mouse, schede che si posano durante lo scorrimento in puro CSS, senza dissolvenza, per non ridurre mai il contrasto. Tutto viene disattivato quando il sistema chiede di ridurre le animazioni.
Palette del progetto
Inchiostro
#1F2937
Testo
Marino
#1F3B61
Titoli
Terracotta
#B7481F
Azione principale
Ambra éclair
#F2C14E
Logotipo
Verde
#1F6B48
Conferma
Sistema tipografico
Titoli
Outfit 800
Testo corrente
Plus Jakarta Sans 400
Le famiglie di kayzen-lyon.com, in versioni variabili servite dal dominio: la policy di sicurezza non autorizza alcun font di terze parti.
Cosa c'è sotto il cofano.
- Next.js
- React
- TypeScript
- WebCrypto
- WebAssembly
- PostgreSQL
AES-256-GCM, la chiave nel frammento
Il contenuto è cifrato tramite WebCrypto in AES-256-GCM, con un vettore di inizializzazione casuale di 96 bit e dati associati legati all'identificativo del segreto. Le chiavi sono derivate con HKDF-SHA-256. Prima della cifratura, il contenuto viene riempito a scaglioni (1, 4, 16, 64 KiB…) perché il server non ne conosca la lunghezza reale. Il formato è pubblicato, con i suoi vettori di test, sulla pagina «Formato crittografico v1».
Un codice PIN che il server non può testare
Il codice passa per Argon2id (64 MiB, 3 passaggi), eseguito in WebAssembly e caricato solo se viene richiesto un codice. Il verificatore inviato al server è calcolato a partire dal codice e dalla chiave del link: senza questa chiave, il server non può né verificare un codice né provarne uno. Conta gli errori e distrugge il segreto al quinto tentativo. Il limite è scritto nella pagina Sicurezza: chi possiede sia il link sia una copia del database può forzare offline un codice breve.
Una sola lettura, anche con cento in contemporanea
La pagina di un link, ottenuta tramite GET, non contiene mai il testo cifrato: viene consegnato solo dopo un clic su «Rivela», tramite una richiesta POST. I bot di anteprima di Slack, Teams o Outlook non consumano quindi la lettura. Consegna ed eliminazione avvengono in un'unica query SQL; un test lancia 100 rivelazioni simultanee su un segreto a lettura unica e ne accetta una sola. Link sconosciuto, scaduto, letto o distrutto: la risposta è la stessa.
Nessuno script di terze parti, una policy chiusa
Content-Security-Policy con nonce per richiesta, senza unsafe-inline né unsafe-eval per gli script; è ammesso solo wasm-unsafe-eval, per Argon2id. connect-src limitato al dominio, frame-ancestors su none, HSTS di due anni con preload, Referrer-Policy su no-referrer. Il prezzo è accettato e documentato: le pagine vengono generate a ogni richiesta invece di essere generate staticamente.
Ospitato nell'Unione europea, senza indirizzi IP nel database
L'applicazione gira su Vercel, a Parigi; il database Postgres è su Neon, a Francoforte. Nessuna colonna contiene un indirizzo IP: la limitazione della frequenza si basa su un'impronta non reversibile che cambia ogni giorno. L'accesso ai dati passa per Drizzle e un Postgres standard, il che lascia sostituibile il provider di hosting.
Un nucleo crittografico, diversi client in preparazione
Tutta la cifratura vive in un unico modulo, packages/crypto, testato con vettori deterministici. Nel codice, lo stesso modulo serve già un'estensione Manifest V3, app desktop Electron, app Capacitor per Android e iOS e una riga di comando con server MCP. Nessuna è pubblicata a oggi: il sito le presenta come in arrivo.
Come il sito si fa trovare.
Una pagina per intento di ricerca
Cinque confronti (Onetime Secret, Password Pusher, scrt.link, Bitwarden Send, Password.link), quattro pagine di casi d'uso (agenzie, DevOps, supporto informatico, privati), due strumenti gratuiti che funzionano nel browser (generatore di password, verifica della robustezza) e un blog. Ogni confronto riporta la data di rilevazione, le fonti e una riga «Ha notato un errore? Ci scriva».
Sette lingue, collegate tra loro
Francese alla radice; inglese, tedesco, spagnolo, italiano, portoghese e olandese sotto il proprio prefisso. Ogni pagina dichiara i suoi equivalenti tramite hreflang, con un x-default, e la sitemap li elenca tutti. Le traduzioni automatiche sono segnalate come «in fase di revisione»; per i testi legali, fa fede solo la versione francese.
FAQPage, SoftwareApplication e llms.txt
Le FAQ hanno un markup FAQPage; il prodotto è dichiarato come SoftwareApplication con un prezzo di 0 €. Un file llms.txt descrive agli assistenti ciò che il servizio garantisce, ma anche i suoi limiti: assenza di audit esterno, software proprietario, app non ancora disponibili.
Utilizzabile da tutti.
Da giugno 2025 l'Atto europeo sull'accessibilità (European Accessibility Act) impone l'accessibilità digitale a una larga parte dei servizi online. La affrontiamo in fase di progettazione, non come rimedio a posteriori.
WCAG 2.2 AA verificato su 44 pagine
I test end-to-end eseguono axe-core ai livelli WCAG 2.0, 2.1 e 2.2 AA su 44 pagine, in più lingue, oltre che sulla home page in tema chiaro e in tema scuro. Navigazione da tastiera, focus visibile e link per saltare al contenuto figurano nella dichiarazione di accessibilità.
Contrasti verificati da un test
Ogni coppia di token di colore ha il suo rapporto minimo, controllato automaticamente: 7:1, livello AAA, per il testo corrente e i titoli su sfondo chiaro; 4,5:1 per il testo secondario, i link d'accento e i messaggi di stato, in entrambi i temi.
Una dichiarazione che non sopravvaluta
In mancanza di un audit RGAA da parte di un ente indipendente, la dichiarazione di accessibilità indica che il sito è «non conforme» ai sensi del referenziale, anche se è stato progettato per esserlo. È la regola del prodotto applicata all'accessibilità: nessuna affermazione senza prova.
Cosa è stato consegnato.
- Home — creare un segreto, tre passaggi, mini-confronto
- Funzionalità — «Disponibile» o «Previsto», funzione per funzione
- Sicurezza — primitive, minacce, limiti; formato v1 e vettori di test
- Cosa vede il server — la richiesta reale, mostrata in diretta
- Richiedi un segreto — link di deposito cifrato per il solo richiedente
- Confronti, casi d'uso, FAQ, prezzi, blog, strumenti
- Stato del servizio, trasparenza, novità, roadmap
- Note legali, condizioni d'uso, privacy, accessibilità, segnalazione
Lo svolgimento del progetto.
Fondamenta
Monorepo, integrazione continua con analisi statica, modulo crittografico e formato v1 con i suoi vettori di test, design token, decisioni di architettura e modello delle minacce.
Server e applicazione
Database Postgres, rivelazione atomica, codice PIN a cinque tentativi, link di monitoraggio, eliminazione programmata, policy di sicurezza con nonce; schermate di creazione, rivelazione e monitoraggio.
Sito pubblico
Funzionalità, sicurezza, confronti datati, FAQ, casi d'uso, strumenti, pagine legali, «Cosa vede il server», stato del servizio e trasparenza.
Messa online
Hosting reale dichiarato (Parigi per l'applicazione, Francoforte per il database), sette lingue, budget di prestazioni controllato a ogni modifica, layout allineato a kayzen-lyon.com.
Altre piattaforme
Estensione, desktop, mobile e riga di comando sviluppati sullo stesso nucleo; pubblicazione sugli store in attesa. Audit esterno previsto prima della versione 1.0.
Cosa ci chiedono spesso.
Altri lavori
Cybersicurezza e app multipiattaformaSésame
Un password manager che non può leggere le tue password: la prova era l'architettura.
Conformità GDPR e SaaSKonsent by Kayzen
Un fornitore di banner che verifica i banner è giudice e parte: l'indipendenza era il prodotto.
Sicurezza offensiva e SaaSSentinel by Kayzen
Vendere un prodotto di sicurezza agli ingegneri: ogni affermazione doveva essere dimostrabile.
Lo stesso livello di rigore, per il tuo sito.
Audit gratuito del tuo sito attuale, preventivo entro 24 ore e un ragionamento scritto, come quello che hai appena letto. Pagamento in tre rate senza interessi; agevolazioni locali verificate prima della firma.