I dipartimenti legali gestiscono contratti, file di prove e altri documenti altamente riservati. Il flusso di lavoro comune di caricare un PDF su un servizio di condivisione basato su cloud crea immediatamente un rischio di sicurezza: il file vive al di fuori del perimetro aziendale e si perde il controllo granulare su chi può visualizzarlo e per quanto tempo.
E se potessi incorporare un visualizzatore PDF sicuro e crittografato direttamente nel tuo portale web .NET, garantendo che il documento non tocchi mai un server di terze parti?
In questa guida esaminiamo un'architettura pratica costruita attorno a Doconut Viewer, l'SDK del visualizzatore di documenti .NET. Viene installato nella tua applicazione e non effettua chiamate ai server Doconut, quindi il documento non lascia mai la tua infrastruttura.
Due cose da chiarire prima del primo passo, perché il resto della guida dipende da esse. Doconut.app è il visualizzatore web gratuito — un sito web, non un componente, e non è ciò che installi qui. E la crittografia, i token e il registro di audit di seguito sono a tua disposizione per costruirli: l'SDK rende i documenti, non fornisce un programma di conformità. Doconut non possiede alcun certificato ISO 27001, nessun rapporto SOC 2 e nessuna attestazione HIPAA, quindi l'argomento di conformità che puoi realmente presentare a un regolatore è di natura architetturale — il file è rimasto all'interno di un confine che già controlli.
Perché la condivisione cloud tradizionale è insufficiente
| Rischio | Servizio cloud tipico | Cosa fa invece questa architettura |
|---|---|---|
| Esilio dei dati - file archiviato su server esterni | I file sono conservati nello storage del provider, spesso in regioni che non puoi controllare. | Il PDF rimane nella tua infrastruttura. L'SDK lo rende lì e non chiama nessuno. |
| Perdita di controllo sulla durata degli accessi | I link di condivisione possono essere inoltrati indefinitamente. | Emetti token a breve durata e monouso. Questo è codice che scrivi, non un interruttore da attivare. |
| Gap di conformità | I log di audit sono spesso limitati agli eventi di "download". | Registri ogni richiesta di anteprima, perché la richiesta va al tuo endpoint. |
| Dipendenza da plugin | Molti visualizzatori richiedono Flash, ActiveX o estensioni del browser. | Niente viene installato sulla macchina del lettore; il browser riceve pagine renderizzate. |
Panoramica della soluzione
- Installa Doconut Viewer nel tuo progetto .NET.
- Cifra i PDF a riposo con una chiave lato server, usando la crittografia nativa di .NET.
- Incorpora il visualizzatore in una pagina Razor o in una vista MVC, dietro un token emesso dalla tua applicazione.
- Registra ogni richiesta di anteprima per tracciamenti di audit e rilevamento di anomalie.
I passaggi 2, 3 e 4 sono compiti della tua applicazione. La parte dell'SDK è il passo 1 e il rendering; tutto ciò che è protettivo in questo design è codice di tua proprietà, ed è anche il motivo per cui può essere verificato dal tuo team.
Di seguito trovi una guida dettagliata per ciascun passo, includendo raccomandazioni di best practice per la gestione delle chiavi, la sicurezza dei token e il logging di conformità.
Passo 1 – Prepara il tuo ambiente .NET
- Apri la tua soluzione in Visual Studio (consigliato 2022 o versioni successive).
- Scegli il framework di destinazione. Doconut Viewer supporta ASP.NET, MVC, .NET Core, .NET 6+ e Blazor. Registra la versione che scegli — i dettagli di integrazione sono specifici per versione.
- Installa l'SDK dalla pagina di download di Doconut, usando il pacchetto e la documentazione che corrispondono alla versione selezionata. Prendi il nome del pacchetto e i passaggi di configurazione da quella documentazione anziché da un articolo; entrambi sono cambiati tra le versioni.
Mantieni la configurazione della licenza fuori dal controllo di versione mentre sei lì. È la cosa più comune che fuoriesce da un prototipo funzionante.
Suggerimenti aggiuntivi
- Memorizza il riferimento al pacchetto in un
Directory.Packages.propsfile per una gestione centralizzata delle versioni tra più servizi.
Passo 2 – Archivia i PDF con crittografia forte
2.1 Scegli un algoritmo di crittografia
Questa è la tua decisione e il tuo codice. System.Security.Cryptography in .NET ti fornisce AES-256-GCM, che offre crittografia autenticata — riservatezza e integrità insieme — ed è un valore predefinito difendibile per i documenti a riposo.
Nessun algoritmo di crittografia rende un sistema conforme a GDPR, HIPAA o ISO 27001. Questi framework chiedono informazioni su processi, controllo degli accessi, conservazione e prove. La crittografia è un controllo tra i tanti, e una libreria di visualizzazione non può fornire il resto.
2.2 Implementa una gestione sicura delle chiavi
- Non codificare mai le chiavi. Usa Azure Key Vault, AWS KMS o HashiCorp Vault per recuperare la chiave di crittografia a runtime.
- Ruota le chiavi regolarmente — ogni 90 giorni è una pratica comune. Pianifica il lavoro di ri‑crittografia prima di averne bisogno; scoprire di non avere modo di ruotare una chiave è una brutta lezione da apprendere durante un incidente.
Passo 3 – Genera un token a tempo limitato e monouso
Il token di anteprima funziona come un badge monouso che scade automaticamente. Contiene:
- User ID – Chi è autorizzato a visualizzare il documento.
- PDF ID – Quale file crittografato trasmettere.
- Expiration – Di solito 5–10 minuti, configurabile in base alla policy.
- Signature – HMAC o RSA firmato per prevenire manomissioni.
3.1 Considerazioni sulla sicurezza
- TLS ovunque – Servi sempre il token tramite HTTPS.
- Minimo privilegio – Codifica solo i dati necessari per l'anteprima; evita di incorporare claim aggiuntivi.
- Revoca del token – Una semplice “blacklist” in Redis consente la revoca immediata se i diritti di accesso di un utente cambiano.
Passo 4 – Integra il visualizzatore DoconutApp
4.1 Endpoint di streaming lato server
- Decrittografa in memoria se il tuo modello di minaccia lo richiede, così il testo in chiaro non finisce mai su disco. Questo è il tuo endpoint, quindi è una tua scelta da prendere e il tuo codice da revisionare.
- Il rendering avviene sul tuo server, non nel browser del lettore. Questo è ciò che permette al browser di visualizzare il documento senza mai ricevere il file originale — ed è anche il motivo per controllare dove l'SDK scrive l'output temporaneo di rendering e cosa lo rimuove.
4.2 Nessun plugin richiesto
Il lettore riceve pagine renderizzate tramite le tecnologie web standard, quindi il visualizzatore funziona su Chrome, Edge, Firefox e Safari senza plugin, controllo ActiveX o dipendenza da Flash. Nulla viene installato sul laptop di un avvocato, il che è solitamente la differenza tra una revisione di sicurezza che si conclude e una che non lo fa.
Passo 5 – Audita e registra gli accessi per la conformità
I team legali spesso hanno bisogno di una traccia a prova di manomissione su chi ha visualizzato quale contratto e quando. Implementa una pipeline di logging strutturata:
| Campo | Descrizione |
|---|---|
UserId | Identificatore del professionista legale richiedente |
PdfId | Riferimento interno al documento crittografato |
Timestamp | Ora UTC della richiesta di anteprima |
IpAddress | IP di origine (utile per verifiche di geolocalizzazione) |
UserAgent | Stringa del browser per analisi forense |
Result | Successo / Fallimento (es., token non valido, errore di decrittografia) |
Buone pratiche
- Memorizza i log in un datastore solo‑append, immutabile (ad es., Azure Log Analytics, Splunk o un bucket S3 write‑once).
- Abilita gli avvisi per pattern anomali — come lo stesso token usato da due IP distinti entro pochi secondi.
- Policy di conservazione: Conserva i log per il periodo richiesto dalla tua giurisdizione (comunemente 7 anni per i registri legali).
Riepilogo rapido
- Installa Doconut Viewer nel tuo progetto .NET, usando la documentazione per la tua versione.
- Crittografa i PDF al momento della scrittura con AES-256-GCM dalla libreria di crittografia di .NET; gestisci le chiavi tramite un servizio di vault.
- Emetti un token di anteprima a breve durata e monouso quando un utente richiede una visualizzazione.
- Esegui il rendering sul tuo server e integra il visualizzatore in una pagina Razor. Il documento non va mai a terzi, e nulla viene installato sulla macchina del lettore.
- Registra ogni anteprima per l'auditabilità, con avvisi per pattern sospetti.
I punti 2, 3 e 5 sono il tuo codice. Questa è la divisione onesta del lavoro, ed è utile dichiararlo chiaramente nella tua documentazione di sicurezza, perché un revisore alla fine chiederà quale parte è responsabile di cosa.
Conclusione
La condivisione sicura di PDF non deve coinvolgere un servizio di terze parti. Con Doconut Viewer all'interno del tuo portale .NET, il tuo dipartimento legale può presentare contratti riservati, prove di contenzioso e politiche interne senza che il file lasci mai la tua infrastruttura.
Ciò che l'SDK ti offre è proprio quest'ultima parte: il rendering, nel tuo ambiente, senza chiamate esterne. La crittografia end‑to‑end, il controllo degli accessi e il registro di audit sono tuoi — ed è questo il punto, perché un visualizzatore che afferma di fornire queste funzionalità ti chiederebbe di fidarti della conformità di un fornitore invece che della tua.
Pronto a provarlo? Visita doconut.com — la licenza di prova è gratuita, e le demo live sono il modo più rapido per verificare se il rendering regge la tua prova più complessa prima di scrivere qualsiasi codice sopra.
Implementare questi passaggi darà ai responsabili della conformità tranquillità, ridurrà la superficie di attacco e manterrà i tuoi PDF saldamente all'interno del firewall aziendale — esattamente la postura di sicurezza di cui ha bisogno qualsiasi team legale.
Rimani sicuro, rimani conforme e tieni quelle buste sigillate dove appartengono: dentro il tuo stesso caveau.
