DocuSign Standard costa 25 dollari al mese per utente con un tetto di 100 envelope all'anno. Sopra quella soglia paghi tra 3 e 8 dollari per ogni firma in piu, piu 0,40 dollari a SMS e 2,50 dollari per ogni verifica ID. Per chi ha partita IVA e firma 50 NDA al mese il calcolo non torna mai. La via di uscita piu citata si chiama DocuSeal, open source AGPLv3, immagine Docker da 228 MB, podman-compose pronto in trenta secondi. Ho installato la v2.5.2 in locale, generato un NDA bilaterale con LibreOffice headless, firmato end-to-end e scaricato il registro di audit con SHA256. Funziona. Ma non e tutto oro, e in Italia c'e una trappola legale che il marketing self-hosted non dice.
Stessa filosofia che avevamo applicato al password manager — Vaultwarden in LXC al posto di Bitwarden cloud — questa volta applicata alla firma elettronica. Il tradeoff cambia. Per i password manager la posta in gioco e operativa: se il container muore, perdi accesso. Per la firma e probatoria: se il giudice non riconosce la firma, perdi la causa. Vediamo dove si rompe il parallelismo.
Cosa ti serve per partire (e perche SQLite basta)
Per provare DocuSeal in locale serve poco: un host con Docker o Podman, una porta libera, e — opzionalmente — un volume persistente. La v2.5.2 rilasciata il 4 maggio 2026 (changelog ufficiale: fix filtro submission scadute + hardening sicurezza) gira con SQLite di default. Il docker-compose ufficiale del repo monta PostgreSQL 18 e Caddy, ma per il primo test e overkill — SQLite tiene tranquillamente sotto i 50 envelope al mese descritti dalla pagina di confronto su selfhosting.sh.
Docker o Podman (ho usato podman-compose, equivalente)
Immagine docker.io/docuseal/docuseal:latest — 228,9 MB compressa, oltre 1M pull su Docker Hub
Una porta TCP libera (mappo 127.0.0.1:3030 sul container, niente esposizione pubblica per la prova)
Volume named docuseal_data:/data/docuseal per persistenza SQLite + PDF caricati
RAM: ~250 MB idle nel mio test, sale a ~400 MB sotto carico (dato selfhosting.sh)
Nessun reverse proxy obbligatorio per la prova locale — serve solo se esponi su internet
Iscriviti alla newsletter per ricevere i migliori articoli direttamente nella tua inbox.
Self-Hosting
JetKVM web UI: dal browser entro nel BIOS della mia LattePanda
Tour della JetKVM web UI sulla mia LattePanda: virtual media, Wake on LAN e la killer demo — entro nel BIOS dal browser e mostro come reinstallare l'OS da remoto.
podman-compose up -d
. Il container si avvia, esegue le migrazioni Rails sul DB SQLite e in circa trenta secondi e pronto. Apro
Il wizard parte in inglese, basta cambiare lingua nel selettore in alto a destra. Creo il primo utente — Antonio Distefano, Homelabz — e mi ritrovo nella dashboard vuota. Da qui il flusso e identico a DocuSign: crea un template, lo invii a un firmatario, ricevi un PDF firmato con audit log allegato.
Primo template: dal PDF al campo firma in tre minuti
Per il test ho generato — con LibreOffice headless — un NDA bilaterale di esempio tra due entità fittizie, Homelabz S.r.l.s. e Acme Consulting S.p.A. (nomi, sedi e P.IVA inventati apposta per la prova, non riferirsi a soggetti reali), durata 24 mesi. Lo carico via dropzone dalla dashboard sotto la label Documenti Modelli. Pochi secondi e l'editor template apre il PDF su URL /templates/1/edit, con la sidebar destra che elenca quattordici tipi di campo: Testo, Firma, Iniziali, Data, Numero, Immagine, Checkbox, Multiplo, File, Radio, Seleziona, Celle, Timbro, Telefono. Drag and drop sul PDF e i campi sono sopra il documento.
Il dettaglio che non mi aspettavo: il bottone Rileva campi — auto-detect. Click, due secondi, e DocuSeal individua quattro zone testo nel PDF: vicino a ‘Tra le parti', sotto Parte A, sotto Parte B, area firme. Quattro campi pre-piazzati, posizione corretta, da rifinire ma usabili. Su un tool gratuito self-hosted, AI auto-detect funzionante senza chiamate cloud esterne e roba che fino a un anno fa stava solo dietro paywall enterprise.
Click su Firma te stesso: apre la signing UI in nuova tab a un URL pubblico tipo /s/5K6fyM95Wr4dLy — link condivisibile, senza obbligo di account per il firmatario. Compilo i quattro campi testo, click Completa, schermata di conferma ‘Il modulo e stato completato!' con bottone Scarica. Tornato alla dashboard admin, la riga template mostra l'invio in stato COMPLETATO con email firmatario, timestamp e azioni Scarica/Vista/Archivia.
Il registro di audit: il pezzo che vale tutto il post
Il bottone Registro di audit e nascosto nella sidebar di dettaglio submission. Click, e DocuSeal genera al volo un PDF di audit log che — per qualita e completezza — non ha niente da invidiare a quello di DocuSign. Anzi: per livello di dettaglio crittografico esposto al lettore lo supera. Riporta ID busta, hash SHA256 del documento originale, hash SHA256 del documento risultato, IP del firmatario, ID sessione UUID, user agent, timezone, registro eventi cronologico.
Nel mio test, l'audit log riporta i tre eventi tracciati: Modulo visualizzato alle 11:27, Invio iniziato alle 11:28, Invio completato alle 11:29 del 6 maggio 2026, IP 10.89.1.2 (rete podman interna), timezone Europe/Rome. C'e anche un link Verifica che, una volta esposto pubblicamente il documento, permette al destinatario di controllare l'integrita ricalcolando l'hash. Tecnicamente impeccabile. Per inciso — e qui apro una breve parentesi che chi non si occupa di crittografia puo saltare — l'audit log di DocuSeal allega due digest SHA256: quello del PDF originale prima di qualsiasi modifica e quello del PDF risultato dopo l'inserimento dei valori. Due hash diversi, ma deterministicamente collegati alla coppia ‘template + valori inseriti'. Per dimostrare manomissione successiva basta ricalcolare e confrontare. Tornando al punto: la robustezza tecnica non e in discussione. Il problema e altrove.
La trappola legale italiana che il marketing self-hosted non dice
Tutto bello, finche non finisci in causa. Il regolamento eIDAS riconosce tre livelli di firma elettronica: Semplice (FES), Avanzata (FEA), Qualificata (FEQ). DocuSeal self-hosted produce solo FES. Il maintainer AlexBTurchyn lo ha messo nero su bianco nella discussion #89 del repo: ‘PAdES requires sending a hex digest to a trusted authority, which makes it not viable when self-hosting'. PAdES e QES restano cloud-only o passano per QTSP esterni a pagamento.
Cosa significa in pratica per chi sta in Italia? L'art. 20 c. 1-bis del CAD riconosce piena efficacia probatoria ex art. 2702 codice civile solo a FEA, FEQ e firma digitale. La FES — quella che esce da DocuSeal self-hosted — ha valore probatorio liberamente valutabile dal giudice, come spiega Agenda Digitale. Per NDA bilaterali, lettere d'intenti, conferme d'ordine va benissimo: nessuno contesta. Per contratti che possono finire in tribunale (compravendita, appalti, fornitura B2B sopra una certa soglia) il giudice puo decidere che la tua firma non basta.
LivelloFES — Semplice
Cosa serveClick + tracking IP/hash
Art. 20 CADValore probatorio libero
DocuSeal self-hostedSi — out of the box
LivelloFEA — Avanzata
Cosa serveIdentificazione univoca + controllo esclusivo
Tradotto: DocuSeal self-hosted non sostituisce DocuSign uno-a-uno per tutti i casi. Sostituisce DocuSign per i casi in cui FES basta. Per tutto il resto serve uno strato sopra — o passi al cloud DocuSeal che offre QES tramite integrazione QTSP esterna, o integri un fornitore Aruba/Namirial via API per ogni firma qualificata. Nessun maintenance burden te lo evita. La buona notizia: la maggior parte dei flussi di una partita IVA tech (NDA, conferme d'ordine, manleva, modulistica clienti) sta serenamente nel perimetro FES.
Tre domande prima di switchare (decision tree onesto)
Il flowchart che uso io per decidere caso per caso. Tre domande in sequenza, ramificazioni esplicite. Niente ‘dipende', niente ‘valuta tu'. Le risposte ti portano in uno dei quattro scenari concreti.
Il punto di rottura economico e netto: una Hetzner CX23 — 2 vCPU, 4 GB RAM, 40 GB disco, 3,99 euro al mese (Costgoat maggio 2026) — gestisce envelope illimitati. DocuSign Standard a 25 dollari/mese ti dà 100 envelope all'anno e poi pagamento extra. A 50 envelope al mese tradotto in cifre annuali: 47,88 euro DocuSeal-su-Hetzner contro 1.500-4.000 dollari DocuSign contando 500 overage a 3-8 dollari l'uno. Per esporre la VPS senza aprire porte sul router di casa esiste anche l'approccio NetBird con mesh wireguard — utile se vuoi DocuSeal raggiungibile dai client senza esposizione pubblica diretta. Stesso schema che applichiamo al resto dell'infra, soltanto con un servizio in piu da raggiungere.
Nota legale onesta che vale per tutti gli scenari: il fatto che DocuSeal self-hosted sia gratis o quasi non ti esonera dal capire quale livello eIDAS ti serve documento per documento. Un NDA tra freelance e cliente lo firmi serenamente in FES. Un contratto di vendita di un'azienda no, e nessun bottone ‘Rileva campi' ti aiuta su questo fronte.
Sui limiti reali, DocuSeal non e perfetto. Al 5 maggio 2026 sono aperte due issue critiche sul repo: #645 (firma e testo che spariscono dal PDF scaricato) e #642 (Redis BGSAVE che fallisce silenziosamente bloccando tutti gli upload con HTTP 500). Zero CVE pubblicati su GitHub Security Advisories, ma l'encryption at rest non e dichiarata esplicitamente — per workload sensibili meglio cifrare il volume. Funzionalita come SSO/SAML, white-label, bulk send sono dietro il paywall Pro a 240 dollari/utente/anno + 0,20 dollari per documento API: la community se ne lamenta da due anni: la discussion #315 raccoglie un poll con 95% pro-SSO gratuito su 71 voti, mentre la #273 critica più in generale il pricing per i self-hosters.
C'e pero un dettaglio che mi ha fatto storcere il sopracciglio in positivo: dalla 2.3.7 di marzo 2026 esiste un MCP server ufficiale — Model Context Protocol — che si integra con Claude Desktop, Cursor, Composio. Significa generare template e inviare submission via prompt LLM, da terminale. Per chi automatizza workflow contrattuali con AI agent e' un primo tassello serio, ancora poco esplorato altrove.
Per il mio uso — partita IVA, una cinquantina di envelope al mese tra NDA con sponsor e conferme di collaborazione, niente cause potenziali — DocuSeal self-hosted regge senza riserve. Per il tuo, dipende dalle tre variabili sopra. Prima di spostare i flussi di firma su un container homelab, controlla questa checklist.
Hai mappato i tipi di documento che firmi e per ciascuno sai se basta FES o serve FEA/FEQ?
Il tuo backup automatico copre il volume DocuSeal con frequenza adeguata (giornaliera minima per 50 envelope/mese)?
Hai un piano per le issue critiche aperte (#645, #642) — vuoi pinnare a una versione stabile o stare su latest?
Hai SMTP funzionante per le notifiche firmatario (env vars SMTP_ADDRESS, SMTP_FROM e affini)?
Se il container muore di domenica sera, hai il tempo e la competenza per ripristinare entro lunedi mattina?
Hai messo in conto che SSO, white-label e bulk send costano 240 dollari/anno/utente quando ti serviranno?
Se hai sei si, switcha. Se hai meno di quattro, resta su DocuSign Personal a 10 dollari al mese o passa al cloud DocuSeal Pro: il risparmio non vale il rischio operativo. Tra questi due estremi — quattro o cinque si — decidi guardando il tipo di documenti, non il prezzo. La FES gratis e cara quando ti serviva la FEA.