Sicurezza di Vaulted

Cifratura zero-knowledge — non possiamo leggere i tuoi segreti, anche se volessimo.

Sviluppato e mantenuto da Maxim Novak · [email protected]

Non fidarti di noi — verificalo tu stesso

Ogni affermazione su questa pagina è verificabile dal tuo browser. Apri i DevTools, esegui quattro brevi test e conferma che né il testo in chiaro né la chiave attraversino mai la rete. Cinque minuti, nessuno strumento da installare.

Security HeadersA+Mozilla ObservatoryA+SSL LabsA+Scansioni live di terze parti — clicca per verificare.

Cifratura AES-256-GCM

Ogni segreto viene cifrato nel tuo browser usando AES-256-GCM, come specificato in NIST SP 800-38D — lo stesso standard usato da governi e istituzioni finanziarie di tutto il mondo. La cifratura avviene prima che qualsiasi dato lasci il tuo dispositivo.

La chiave non lascia mai il tuo browser

La chiave di cifratura è inserita nel frammento URL (la parte dopo #). Secondo RFC 3986, i frammenti URL non vengono mai inviati al server — esistono solo nel tuo browser. Solo chi ha il link completo può decifrare il segreto.

Architettura zero-knowledge

Il nostro server memorizza solo testo cifrato e metadati (contatore visualizzazioni, scadenza). Non abbiamo modo di decifrare i tuoi dati — non vediamo mai la chiave né il testo in chiaro. Anche una compromissione completa del server produrrebbe solo blob cifrati.

Protezione opzionale con passphrase

Per maggiore sicurezza, puoi impostare una passphrase quando crei un segreto. La passphrase avvolge la chiave di cifratura — anche se qualcuno intercetta il link, non può decifrare il segreto senza di essa. Condividi la passphrase tramite un canale diverso (come una telefonata o un messaggio separato) per la massima protezione.

Cosa memorizza il server

Un blob cifrato, il numero di visualizzazioni rimanenti e un timestamp di scadenza. Tutto qui. Nessun log IP, nessun account utente, nessuna analisi del contenuto dei segreti.

Eliminazione automatica

I segreti vengono eliminati definitivamente quando viene raggiunto il limite di visualizzazioni o scade il tempo di validità. Non esiste un cestino, nessun backup, nessun modo per recuperare i segreti eliminati.

Aperto per design

La logica di cifratura e decifratura viene eseguita interamente nel tuo browser tramite la Web Crypto API. Puoi ispezionare il codice sorgente, verificare l'implementazione crittografica e confermare che nessun testo in chiaro lascia mai il tuo dispositivo.

Da cosa protegge Vaulted

Intercettazione della rete

Tutti i dati vengono cifrati nel tuo browser prima della trasmissione. Anche se il traffico di rete viene intercettato, gli attaccanti vedono solo testo cifrato AES-256-GCM — la chiave di cifratura non attraversa mai la rete.

Compromissione del server

Vaulted utilizza un'architettura zero-knowledge. Il server memorizza solo testo cifrato e metadati. Non riceve mai la chiave di cifratura né il testo in chiaro, quindi una violazione completa del server non produce nulla di utilizzabile.

Accesso non autorizzato

I segreti sono protetti da limiti di visualizzazione configurabili, scadenza automatica (TTL) e protezione opzionale con passphrase. Una volta raggiunto il limite di visualizzazioni o scaduto il TTL, il segreto viene eliminato definitivamente.

Persistenza dei dati

I segreti vengono eliminati automaticamente e definitivamente dallo storage dopo essere stati consumati o scaduti. Non esistono backup, cestini o meccanismi di recupero.

Da cosa Vaulted NON protegge

Browser o dispositivo compromesso

Se un malware ha accesso al tuo browser, può leggere il contenuto decifrato dal DOM dopo che hai visualizzato un segreto.

Keylogger

Un keylogger sul dispositivo del mittente o del destinatario può catturare una passphrase mentre viene digitata.

Estensioni del browser malevole

Le estensioni con accesso al DOM possono leggere il contenuto decifrato del segreto dopo che è stato reso nel browser.

Condivisione o screenshot da parte del destinatario

Una volta decifrato un segreto, il destinatario vede il testo in chiaro. Non esiste DRM — può copiarlo, fare uno screenshot o condividerlo.

Intercettazione del link prima della visualizzazione

Se l'URL completo (incluso il frammento contenente la chiave) viene intercettato prima che il destinatario previsto lo apra, il segreto è compromesso.

Passphrase deboli

Se si usa una passphrase ed è debole, un attaccante con accesso alla chiave wrapped può craccarla con brute force.

Cosa daremmo a una citazione in giudizio

Una domanda frequente dei team di sicurezza e legali: se costretto da un procedimento legale, cosa potrebbe realmente consegnare Vaulted? La risposta onesta è «molto poco» — ed è per design, non per policy. Non possiamo condividere ciò che non abbiamo mai ricevuto.

Cosa conserviamo per ogni segreto

  • Testo cifrato AES-256-GCM, contatore di visualizzazioni rimanenti e un timestamp TTL — memorizzati come hash Redis in Upstash.
  • Salt opzionale della chiave wrapped se il mittente ha scelto una passphrase.
  • Tutto quanto sopra si elimina automaticamente alla scadenza del TTL o al raggiungimento delle visualizzazioni massime. Nessun backup, nessun archivio.

Cosa non viene mai memorizzato o registrato

  • Contenuto in testo in chiaro.
  • La chiave di cifratura — risiede solo nel frammento URL (dopo il #), che i browser non inviano al server secondo RFC 3986.
  • Le passphrase (viene memorizzato solo un salt non reversibile).
  • Identità del destinatario, email o fingerprint del dispositivo.
  • Body delle richieste, body delle risposte o referrer.

Cosa viene registrato brevemente

  • L'IP del richiedente, usato esclusivamente da Upstash Ratelimit (finestra scorrevole) per applicare 10 creazioni/min e 30 visualizzazioni/min per IP. Conservato solo per la durata necessaria alla finestra di rate limit.
  • Log operativi standard di Vercel e Upstash (codici di stato, latenze) — non collegati al contenuto dei segreti.

Cosa le autorità potrebbero ottenere con un procedimento valido

Al massimo: un blob di testo cifrato opaco mentre è ancora nella sua finestra TTL, più i metadati sopra indicati. Il blob è illeggibile senza la chiave di decifratura — che non abbiamo mai posseduto e non siamo in grado di recuperare.

Non abbiamo davvero nulla di utile da consegnare.

Divulgazione responsabile

Prendiamo sul serio la sicurezza. Se scopri una vulnerabilità, segnalacela in modo responsabile affinché possiamo affrontarla prima che colpisca gli utenti.

Cosa includere in una segnalazione

  • Una descrizione della vulnerabilità e del suo potenziale impatto
  • Passi per riprodurre il problema
  • Eventuale codice proof-of-concept o screenshot

Perimetro

  • Nel perimetro: implementazione della cifratura, bypass dell'autenticazione, esposizione dei dati, vulnerabilità lato server
  • Fuori perimetro: social engineering, denial of service, spam

Puntiamo a dare riscontro alle segnalazioni entro 48 ore.

Vuoi vederlo in azione?

Prova il Encryption Playground — una demo interattiva della stessa cifratura AES-256-GCM che usa Vaulted. Oppure leggi la nostra guida visiva alla cifratura end-to-end.

Domande frequenti