KINDLE HOME

Vaultwarden vs Bitwarden: perché self-hostare il tuo password manager ha senso

Bitwarden vs Vaultwarden: crittografia E2E, differenze architetturali e perché girare Vaultwarden su un VPS con Docker ha senso per chi vuole controllo totale.

Password manager, self-hosting, sicurezza — 27 marzo 2026

C'è un momento nella vita di ogni sviluppatore in cui ti siedi, guardi la lista degli account che stai gestendo — decine, centinaia, forse di più — e ti rendi conto che stai affidando le chiavi di casa tua a qualcun altro. Non per forza malevolenza, non per negligenza: semplicemente, perché è comodo. Perché c'è un'app bella, con un piano gratuito, e funziona su tutti i tuoi dispositivi. Bitwarden è esattamente questo: una soluzione onesta, open source, che fa il suo lavoro.

Poi però ti metti a leggere come funziona davvero. E scopri Vaultwarden.

Bitwarden: open source, ma enterprise

Bitwarden nasce nel 2016 come alternativa open source ai password manager proprietari. Il codice sorgente è pubblico su GitHub, i client sono verificabili, e c'è una storia convincente sulla privacy. L'azienda dietro — Bitwarden Inc. — offre un servizio hosted su bitwarden.com, ma permette anche di fare self-hosting: puoi prendere il codice e girarlo sul tuo server.

Il problema è che il server ufficiale di Bitwarden è scritto in C# su .NET. È un'applicazione enterprise, progettata per scalare su infrastrutture grandi, con supporto LDAP, SSO, audit log, organizzazioni multi-utente con ruoli granulari. Tutto questo ha un costo: la stack richiede SQL Server (o almeno MSSQL), ha dipendenze pesanti, e consuma risorse non banali. Girarlo su un VPS da 2GB di RAM non è impossibile, ma non è piacevole.

Il server ufficiale Bitwarden è progettato per aziende con centinaia di utenti, non per un developer che vuole gestire le proprie password su un Raspberry Pi.

Per uso personale o per una famiglia di tre persone, quella complessità è semplicemente fuori scala. E qui entra in gioco la storia più interessante: qualcuno ha deciso di riscrivere tutto da zero.

Vaultwarden: la reimplementazione in Rust

Vaultwarden (originariamente noto come bitwarden_rs) è una reimplementazione compatibile del server Bitwarden, scritta interamente in Rust. Il progetto nasce da un'esigenza precisa: avere un server che implementi lo stesso protocollo di Bitwarden — quindi utilizzabile con i client ufficiali senza alcuna modifica — ma con un footprint drasticamente ridotto.

Il risultato è notevole. Vaultwarden gira in un singolo processo, usa SQLite come database di default (con supporto opzionale per MySQL e PostgreSQL), e consuma nell'ordine di 10-20 MB di RAM a riposo. Su un VPS da 4GB potresti girare Vaultwarden insieme a una dozzina di altri servizi e non accorgertene. Su un Raspberry Pi Zero funziona senza problemi. È il tipo di efficienza che Rust ti permette di ottenere quando scrivi codice che fa esattamente quello che deve fare, niente di più.

Il progetto è mantenuto dalla comunità open source ed è attivamente sviluppato. Supporta quasi tutte le funzionalità del server Bitwarden: TOTP, passkey, organizazioni, condivisione di vault, client web integrato, import/export. Le uniche cose mancanti sono alcune funzionalità enterprise (come certi SSO avanzati) che per uso personale non interessano a nessuno.

La crittografia: dove la sicurezza vive davvero

Prima di parlare di perché self-hostare, vale la pena capire dove la sicurezza di un password manager come Bitwarden risiede effettivamente. Perché la risposta è sorprendente: non sul server.

Quando crei un account Bitwarden (o Vaultwarden), inserisci una master password. Questa password non viene mai trasmessa al server, né in chiaro né in forma derivata. Quello che succede è più sofisticato: il client usa la master password come seme per derivare due chiavi distinte tramite un algoritmo di key derivation function (KDF). Bitwarden supporta sia PBKDF2-SHA256 che Argon2id — quest'ultimo è il più moderno e resistente agli attacchi brute-force basati su hardware specializzato.

La master password deriva due chiavi: una per autenticarsi al server, una per cifrare i dati. Il server non vede mai nessuna delle due in chiaro.

I tuoi dati — URL, username, password, note — vengono cifrati sul dispositivo con AES-256-CBC prima di essere inviati al server. Il server riceve un blob opaco che non può decifrare. Quando accedi da un altro dispositivo, il server ti manda quel blob cifrato, e il client lo decifra localmente usando la chiave derivata dalla tua master password.

Questo schema si chiama zero-knowledge encryption, ed è la ragione per cui Bitwarden può credibilmente affermare che anche loro non sanno cosa c'è nel tuo vault. Non è una questione di fiducia nell'azienda: è matematica. Se cambiano idea, se vengono compromessi, se ricevono un ordine del tribunale, non importa: i dati cifrati sono inutili senza la master password, che non hanno mai avuto.

Vaultwarden implementa esattamente lo stesso schema crittografico. I client ufficiali Bitwarden — per Android, iOS, browser, desktop — si collegano a Vaultwarden senza alcuna modifica, semplicemente cambiando l'URL del server nelle impostazioni. Dal punto di vista crittografico, non c'è differenza: la stessa AES-256-CBC, gli stessi algoritmi KDF, lo stesso protocollo di sincronizzazione.

Perché self-hostare: il vero argomento

Detto che la crittografia è robusta indipendentemente da dove gira il server, rimane una domanda legittima: se i dati sono cifrati in modo sicuro sul cloud di Bitwarden, perché complicarsi la vita con il self-hosting?

La risposta ha più strati. Il primo è puramente pratico: su Vaultwarden self-hostato hai accesso illimitato a tutte le funzionalità senza pagare nulla. Il piano gratuito di bitwarden.com ha limitazioni sul numero di dispositivi e su funzionalità come il vault condiviso. Con Vaultwarden per una famiglia o per un piccolo team, tieni tutto gratis sul tuo hardware.

Il secondo strato è la disponibilità. Il tuo server, le tue regole. Nessun outage di bitwarden.com ti impedisce di accedere alle password. Nessuna decisione aziendale può modificare le condizioni del servizio che stai usando. Se Bitwarden Inc. domani decidesse di cambiare il modello di pricing o di terminare il servizio free, non ti riguarderebbe.

Il terzo strato — il più sottile ma forse il più importante — è la riduzione della superficie di attacco. Anche se i dati sono cifrati, il server Bitwarden hosted sa chi sei, quando accedi, da quale IP, con quale dispositivo. Questi metadati non sono nel vault cifrato: sono nei log di accesso. Un attaccante che compromette bitwarden.com non può leggere le tue password, ma può sapere che esiste un account con quella email, e può tentare attacchi di altro tipo. Con Vaultwarden su un server accessibile solo via Tailscale o VPN, quella superficie semplicemente non esiste.

Deploy concreto: Docker, Nginx, e cinque minuti di lavoro

Tutta questa teoria si traduce in pratica in modo sorprendentemente semplice. Su un VPS Linux con Docker installato, il deploy di Vaultwarden è una questione di un file docker-compose.yml e qualche minuto di configurazione Nginx.

Il container ufficiale di Vaultwarden è vaultwarden/server. Si avvia con una variabile d'ambiente per l'URL base e monta un volume per i dati. SQLite viene creato automaticamente al primo avvio, non c'è nulla da inizializzare manualmente. Dietro un reverse proxy Nginx con certificato Let's Encrypt, ottieni HTTPS automatico e un servizio che risponde esattamente come bitwarden.com ai client ufficiali.

La prima volta che configuri i client Bitwarden per puntare al tuo server e vedi sincronizzarsi il vault, c'è una piccola soddisfazione genuina. È roba tua, sul tuo hardware, sotto il tuo controllo.

La configurazione del reverse proxy richiede due accortezze: abilitare la gestione dei WebSocket (usati per la sincronizzazione real-time tra dispositivi) e impostare correttamente gli header per il proxy pass. Vaultwarden non richiede configurazioni particolari lato database o cache — per uso personale o familiare, SQLite regge benissimo fino a decine di migliaia di entry.

Per gli aggiornamenti, è sufficiente un docker pull seguito da un restart del container. Nessuna migrazione di database da gestire manualmente, nessuna procedura complessa. Vaultwarden gestisce automaticamente le migrazioni dello schema SQLite all'avvio se la versione è cambiata.

La questione della maturità

C'è un'obiezione legittima al self-hosting di Vaultwarden che merita risposta diretta: si tratta di una reimplementazione di terze parti, non del server ufficiale. Come fai a fidarti?

La risposta è che il codice è open source, ampiamente revisionato, e usato in produzione da centinaia di migliaia di persone. Il progetto è su GitHub con storia di commit trasparente. Rust come linguaggio offre garanzie sulla memory safety che rendono una intera categoria di vulnerabilità banalmente impossibile. E soprattutto: la crittografia non è nel server. Il server gestisce blob opachi. Anche se ci fosse un bug nel server, i tuoi dati cifrati resterebbero inaccessibili senza la master password che il server non ha mai visto.

La maturità del progetto si misura anche dall'adozione: Vaultwarden è una delle immagini Docker più scaricate nella comunità del self-hosting. Ogni release viene testata contro i client ufficiali. Se il protocollo cambia da parte di Bitwarden, la community di Vaultwarden aggiorna il server in tempi brevi.

Conclusione: la scelta giusta per chi vuole controllo

Bitwarden è un ottimo prodotto. L'azienda è seria, il codice è open source, la crittografia è solida. Per chi non vuole gestire infrastruttura, bitwarden.com è una scelta ragionevole e difendibile.

Ma se già gestisci un VPS, se hai già Docker e Nginx in produzione, se l'idea di avere un servizio critico come il password manager sotto il tuo controllo ti dà più tranquillità che ansia — allora Vaultwarden è la scelta ovvia. Non è più complicata della media dei servizi self-hosted, occupa risorse ridicole, e ti dà esattamente le stesse funzionalità dei client ufficiali Bitwarden senza pagare un euro.

Il punto non è sfiducia in Bitwarden Inc. Il punto è che il controllo dei propri dati non dovrebbe essere un lusso premium. Con Vaultwarden, non lo è.

- FINE -
1