Cosa ci rende diversi dagli altri vault
Nessun server centrale
Non esiste un nostro database con le tue credenziali. Un attaccante non ha un unico bersaglio da violare: ogni vault vive solo sul PC del suo proprietario.
Cifratura AES-256-GCM
Ogni vault è un file .lks cifrato con AES-256-GCM. Sul disco non finisce mai nulla in chiaro, nemmeno temporaneamente.
Master password mai trasmessa
La chiave è derivata dalla tua master password con PBKDF2 a 310.000 iterazioni, in locale. La password non viene mai inviata da nessuna parte e non è recuperabile da noi.
Offline-first
Il vault funziona senza Internet. La Web App e l'app Desktop dialogano solo sulla tua LAN: da fuori rete non è raggiungibile nulla.
Licenza legata al dispositivo
L'attivazione lega la licenza all'hardware del PC (HWID). Copiare i file su un altro computer non basta per sbloccare il vault.
Minimizzazione dei dati
Non raccogliamo il tuo indirizzo IP e i file di sblocco non contengono dati personali: trasportano solo l'HWID e un nonce monouso.
I due tipi di blocco: cause ed effetti
Per proteggerti da manomissioni e tentativi di accesso non autorizzati, l'app può entrare in uno stato di blocco. Esistono due tipologie, con cause ed effetti diversi.
INTEGRITY_LOCK
Manomissione dell'ambiente
- Causa
- L'app rileva che il file
environment.lks(lo stato cifrato del dispositivo) è stato modificato, spostato o corrotto: un segnale di possibile manomissione. - Effetto
- Blocco immediato dell'accesso al vault, indipendentemente dai tentativi di password. L'app genera un file
lock.lksper l'eventuale procedura con l'autore. - Due vie di recupero
- Master password (gratis, distruttivo): dimostrando il possesso della master password ripristini l'accesso, ma il vault e tutti i dati vengono azzerati definitivamente e dovrai creare una nuova master password. unlock.lks dell'autore (conserva i dati): lo sblocco firmato mantiene il vault intatto; ti verranno chieste la master password attuale (per riavvolgere il vault) e una nuova.
SECURITY_LOCK
Tentativi esauriti
- Causa
- Sono stati raggiunti i 10 tentativi di accesso falliti (vedi flusso sotto): l'app presume un attacco a forza bruta.
- Effetto
- Blocco permanente del dispositivo. Non basta più la master password: serve un file
unlock.lksfirmato dall'autore. - Conseguenza importante
- Lo sblocco avviene solo applicando l'
unlock.lks, che viene verificato per firma digitale, hardware ID e scadenza prima di ripristinare l'accesso. I tuoi dati restano intatti: al termine ti verranno chieste la master password attuale e una nuova. Senza un file valido il vault resta inaccessibile su quel PC.
Tutti i flussi di blocco
Il blocco è progressivo: ogni passo ha una conseguenza precisa, pensata per rallentare gli attacchi senza penalizzare un errore occasionale.
- 1
Tentativi 1–2 falliti
Nessun blocco. Il contatore dei fallimenti si decrementa di 1 ogni 10 minuti di inattività: gli errori sporadici si “riassorbono” da soli.
- 2
3° tentativo fallito → blocco temporaneo
Scatta un blocco temporaneo di 10 minuti. Trascorso il tempo puoi riprovare; il contatore continua a decrescere durante l'attesa.
- 3
9° tentativo fallito → avviso critico
L'app mostra un avviso esplicito: è rimasto un solo tentativo prima del blocco permanente.
- 4
10° tentativo fallito → SECURITY_LOCK
Blocco permanente del dispositivo. Sbloccabile esclusivamente con un
unlock.lksfirmato dall'autore, che conserva i dati (richiede la master password attuale e una nuova). - !
Manomissione environment.lks → INTEGRITY_LOCK (in qualsiasi momento)
Indipendente dal contatore: se l'ambiente viene alterato, il blocco scatta subito. Recuperabile dal proprietario con la master password (gratis, ma azzera tutti i dati) oppure con un
unlock.lksdell'autore, che conserva i dati.
Cosa protegge, e di chi ti devi fidare
SecureLocalShare è un archivio condiviso che vive su un computer di casa o dell'ufficio e si usa da tutti i dispositivi della stessa rete. Questa architettura ha punti di forza netti e alcuni limiti che è giusto conoscere prima di usarla.
Ti protegge da
- chi è fuori dalla tua rete: da Internet non è raggiungibile nulla;
- chi è in rete ma non ha un account: serve il codice di registrazione e i tentativi di accesso sono limitati;
- gli altri utenti: ognuno vede solo i propri dati e ciò che gli è stato condiviso;
- il furto del computer o del disco: tutto è cifrato con AES-256;
- la manomissione della configurazione e gli aggiornamenti contraffatti.
Richiede fiducia in
- chi gestisce il computer host: i dati di tutti sono cifrati con la sua master password, quindi tecnicamente potrebbe accedervi. Un virus su quel PC metterebbe a rischio i dati di tutti;
- la tua rete: di default il collegamento con telefoni e tablet è HTTP. Su reti condivise o in ufficio attiva l'HTTPS dal pannello dell'app e installa una volta il certificato su ogni dispositivo;
- i dispositivi da cui accedi: un telefono compromesso espone i dati del suo utente.
È pensato per famiglie, studi e piccoli team che si fidano di chi gestisce l'host. Se gli utenti non devono fidarsi l'uno dell'altro, ognuno dovrebbe usare la propria installazione.
Le uniche richieste che usano Internet
Tutto il resto — vault, password, file, condivisioni — viaggia solo sulla tua rete locale. Internet viene usato esclusivamente per queste operazioni, e mai per i contenuti del vault:
Registrazione e accesso al sito
Crea l'account e autentica l'utente (Supabase Auth) per poter scaricare l'app. Avviene solo sul sito, non dal vault.
Download dell'eseguibile
Genera un link firmato temporaneo (valido 5 minuti) per scaricare l'app dallo storage. Nessun file del vault è coinvolto.
Attivazione del dispositivo
Al primo avvio l'app lega l'HWID al token di attivazione (bind_activation). Serve a impedire la duplicazione della licenza su più PC.
Validazione della licenza
Verifica che la licenza sia attiva e legata a questo hardware (validate_license). Conferma solo lo stato, non trasmette credenziali.
Controllo aggiornamenti
Confronta la versione installata con l'ultima pubblicata per proporre (o imporre) l'update. Legge solo i metadati di release.
Invio segnalazioni
Quando apri un bug/idea dall'app (open_report). Vengono inviati solo i campi della segnalazione che decidi tu, mai il vault.
Vuoi capire come funziona nel dettaglio? Leggi la documentazione