DataUnchain non invia un solo byte su internet. L'intera pipeline di estrazione documentale gira sulla tua infrastruttura, con un'architettura progettata da zero per la sovranita digitale dei tuoi dati aziendali.
Docker Compose · VLM locale · PostgreSQL · GDPR by design · Air-Gap ready
Ogni decisione tecnica in DataUnchain discende da quattro principi non negoziabili. Non sono feature — sono vincoli architetturali che guidano ogni riga di codice.
La privacy non e un'opzione da attivare. L'architettura e costruita in modo che i dati non possano fisicamente lasciare il perimetro aziendale. Non esiste un flag "invia dati in cloud" perche non esiste il codice per farlo. Nessuna chiamata HTTP verso endpoint esterni, nessun SDK di analytics, nessun tracker. La privacy e garantita dall'assenza stessa del codice che potrebbe violarla. Questa scelta e irreversibile by design: non si tratta di una policy, ma di un vincolo architetturale fisico codificato nell'infrastruttura.
Nessun servizio esterno e considerato affidabile. L'unica comunicazione in uscita consentita e quella verso il connettore ERP configurato dall'utente — e anche quella avviene su rete locale o VPN aziendale. Il modello AI gira su Ollama in locale. Il database e locale. La coda di lavoro e locale. Il dashboard e locale. Non esistono dipendenze runtime su servizi cloud di terze parti. Se domani AWS, Google o Azure smettessero di esistere, DataUnchain continuerebbe a funzionare esattamente come prima, perche non ha mai avuto bisogno di loro.
Ogni componente ha accesso solo alle risorse strettamente necessarie al suo funzionamento. Il container del VLM vede solo la directory dei documenti in input e quella dei risultati. Il container del database non ha accesso al filesystem dei documenti. Il container del dashboard non ha accesso diretto al modello. I container comunicano esclusivamente attraverso reti Docker isolate e volumi condivisi minimali. Se un componente viene compromesso, il blast radius e contenuto al singolo container senza propagazione laterale.
Il codice sorgente e disponibile su GitHub. Puoi ispezionare ogni singola riga, verificare che non esistano backdoor, che non ci siano chiamate nascoste a servizi esterni, che la pipeline faccia esattamente quello che dichiariamo. Non devi fidarti della nostra parola — puoi leggere il codice. Ogni commit e tracciabile, ogni modifica e documentata, ogni dipendenza e verificabile. La sicurezza through obscurity e il passato. La sicurezza attraverso la trasparenza e il presente.
L'intero sistema e orchestrato da Docker Compose. Ogni servizio e un container isolato, con risorse definite, limiti di memoria e rete dedicata. Nessun componente richiede accesso a internet per funzionare.
L'orchestratore dell'intera pipeline. Un singolo file docker-compose.yml
definisce tutti i servizi, le reti, i volumi e le dipendenze. Un comando per avviare, un comando per fermare.
Non servono Kubernetes, Terraform o infrastruttura cloud. La semplicita operativa e un requisito, non un compromesso.
Il cuore dell'intelligenza artificiale. Ollama serve il nostro VLM proprietario interamente in locale, sulla GPU del tuo server. Non e un wrapper per API cloud — e un runtime completo che carica i pesi del modello nella VRAM della tua scheda grafica. Il modello non comunica con l'esterno: riceve immagini di documenti come input e restituisce JSON strutturato come output. Tutto avviene in memoria locale, senza mai toccare la rete.
Il backend applicativo che gestisce la logica di business: ricezione documenti, validazione input, orchestrazione della pipeline di estrazione, post-processing dei risultati e comunicazione con il connettore ERP. API REST documentate automaticamente via OpenAPI. Ogni endpoint e protetto da autenticazione e rate limiting. Logging strutturato in formato JSON per ogni operazione critica.
Persistenza dati interamente locale. PostgreSQL per deployment enterprise con volumi elevati; SQLite per installazioni piu leggere o ambienti di test. Entrambi girano in container Docker con volumi persistenti mappati su disco locale. I dati estratti, i log di audit, le metriche di accuratezza e lo stato della pipeline sono tutti nel tuo database, sotto il tuo controllo.
Coda di lavoro asincrona per la gestione dei documenti. Quando un documento viene caricato, entra in coda e viene processato dal worker in ordine FIFO. Questo permette di gestire batch di centinaia di documenti senza bloccare l'interfaccia utente, con retry automatico in caso di errore e backoff esponenziale per evitare sovraccarichi. La coda e persistente: un riavvio del sistema non perde i lavori pendenti.
Interfaccia web locale per monitorare lo stato della pipeline, visualizzare i risultati delle estrazioni, verificare i punteggi di confidenza e gestire i documenti che richiedono revisione umana. Dashboard accessibile solo dalla rete locale o VPN. Nessun dato transita su servizi di hosting esterni. L'interfaccia e uno strumento interno, non un SaaS esposto su internet.
Endpoint /metrics
compatibile Prometheus per esportare metriche operative: documenti processati, tempo medio di elaborazione,
tasso di errore, utilizzo GPU, dimensione coda. Integrabile con Grafana per dashboard personalizzate. Le
metriche restano nel tuo stack di monitoring — nessun dato viene inviato a servizi di telemetria esterni.
Modulo adapter configurabile per l'invio dei dati estratti al gestionale aziendale. Supporta connessioni dirette a database, API REST locali, o integrazioni personalizzate. L'unico punto di uscita controllato dei dati, sempre verso sistemi interni. Ogni invio e loggato con timestamp, payload e risposta del gestionale per audit trail completo. Retry con backoff esponenziale in caso di errore temporaneo.
Ogni operazione critica viene registrata in formato JSON strutturato: timestamp ISO 8601, livello di severita, componente sorgente, ID documento, azione eseguita, risultato. I log sono pensati per essere parsati da strumenti automatici (ELK, Loki, Splunk) e per fornire un audit trail completo di ogni documento processato, dalla ricezione all'invio al gestionale.
Dalla ricezione all'inserimento nel gestionale, ogni passaggio avviene su infrastruttura locale. Ecco esattamente cosa succede quando carichi un documento.
DataUnchain implementa controlli di sicurezza enterprise-grade su autenticazione, rate limiting, resilienza e osservabilita. Non perche lo chiede il mercato — perche lo richiede un'architettura seria.
Ogni endpoint dell'API e protetto da autenticazione HTTP Basic Auth. Le credenziali sono configurabili
via variabili d'ambiente nel file .env.
Nessuna richiesta anonima viene accettata. L'autenticazione e enforced a livello middleware, prima che
la richiesta raggiunga qualsiasi logica di business. In ambienti enterprise e possibile sostituire Basic Auth
con token JWT o integrare con un identity provider aziendale tramite reverse proxy.
Rate limiting configurabile per proteggere la pipeline da sovraccarichi accidentali o attacchi. Limiti impostabili per IP, per utente e per endpoint. Le richieste che superano il limite ricevono una risposta HTTP 429 con header Retry-After. Il rate limiting previene scenari in cui un client malfunzionante inonda la coda di elaborazione saturando GPU e risorse di sistema. Ogni violazione viene registrata nei log strutturati.
Ogni operazione critica (invio ERP, elaborazione VLM, scrittura database) e protetta da un meccanismo di retry con backoff esponenziale. In caso di errore temporaneo, il sistema riprova automaticamente con intervalli crescenti (1s, 2s, 4s, 8s...) fino a un massimo configurabile. Dopo l'esaurimento dei tentativi, il documento viene marcato come "failed" con il dettaglio dell'errore per intervento manuale. Nessun documento viene perso silenziosamente.
Il database viene sottoposto a backup automatico giornaliero tramite cron job nel container dedicato. I backup sono compressi e salvati in una directory configurabile con retention policy impostabile (default: 30 giorni). Il backup include il database completo, i metadati dei documenti e lo stato della pipeline. Il restore e un singolo comando. I file originali dei documenti sono nella directory di input, gia sotto il controllo del filesystem aziendale.
Ogni container espone un endpoint /health
che verifica lo stato del servizio, la connettivita con le dipendenze e la disponibilita delle risorse.
Docker Compose utilizza questi health check per riavviare automaticamente i container in stato di errore.
L'endpoint Prometheus aggrega lo stato di tutti i componenti in una vista unificata per il monitoring
centralizzato. Alert configurabili via Alertmanager per notifiche immediate in caso di degradazione.
Per le fatture elettroniche italiane in formato FatturaPA XML, DataUnchain esegue validazione completa contro lo schema XSD ufficiale dell'Agenzia delle Entrate. I file XML validi vengono parsati programmaticamente con accuratezza del 100% — senza bisogno del VLM. I file non conformi vengono segnalati con dettaglio dell'errore di validazione. Questo garantisce la piena conformita con il sistema SDI (Sistema di Interscambio) per la fatturazione elettronica italiana.
DataUnchain non "si adegua" al GDPR. E progettato in modo che la conformita sia una conseguenza naturale dell'architettura, non un'aggiunta retroattiva.
Protezione dei dati fin dalla progettazione
L'articolo 25 del GDPR richiede che la protezione dei dati personali sia integrata nella progettazione dei sistemi fin dall'inizio. DataUnchain non ha bisogno di "adeguarsi" a questo articolo perche l'architettura on-premise e il principio fondante del progetto. I dati personali contenuti nei documenti aziendali (nomi, indirizzi, codici fiscali, IBAN) non lasciano mai l'infrastruttura del titolare del trattamento. Non esistono data transfer verso terzi perche non esistono terzi coinvolti nell'elaborazione. La minimizzazione dei dati e garantita dal fatto che il sistema estrae solo i campi esplicitamente configurati — nulla di piu, nulla di meno.
Responsabili del trattamento
L'articolo 28 disciplina il rapporto tra titolare e responsabile del trattamento, inclusi i sub-processor. Con DataUnchain, la catena dei sub-processor e vuota. Non ci sono fornitori cloud che elaborano i vostri dati. Non ci sono API di terze parti che ricevono il contenuto dei vostri documenti. Non ci sono provider di modelli AI che usano i vostri dati per addestrare i loro modelli. Questo semplifica drasticamente la compliance: niente DPIA per trasferimenti a terzi, niente valutazione di adeguatezza dei sub-processor, niente clausole contrattuali standard. Il trattamento avviene interamente nel perimetro del titolare, sotto il suo pieno e unico controllo.
Sicurezza del trattamento
L'articolo 32 richiede misure tecniche e organizzative adeguate al rischio. DataUnchain implementa: isolamento dei container Docker con reti dedicate, autenticazione su ogni endpoint, logging strutturato di ogni operazione, backup automatici giornalieri, health check continui, rate limiting, retry con backoff. L'architettura on-premise significa che le misure di sicurezza fisiche (accesso al data center, firewall perimetrale, segmentazione di rete) sono sotto il controllo diretto del cliente, senza dipendere dalla postura di sicurezza di un fornitore cloud terzo.
Sicurezza della catena di fornitura
La direttiva NIS2 introduce obblighi stringenti sulla sicurezza della supply chain digitale per le entita essenziali e importanti. DataUnchain riduce drasticamente la superficie di attacco della supply chain: nessuna dipendenza runtime da servizi cloud esterni, nessun fornitore terzo coinvolto nell'elaborazione dei dati, nessun componente che richiede connettivita internet per funzionare. Il codice sorgente e ispezionabile, le dipendenze software sono dichiarate e versionabili, i container Docker utilizzano immagini base ufficiali e verificabili. Per le organizzazioni soggette a NIS2, un'architettura on-premise e verificabile come DataUnchain semplifica significativamente la compliance con gli obblighi di due diligence sulla supply chain.
Non e un'opinione — e una conseguenza delle architetture. Ecco cosa cambia concretamente quando i dati non lasciano il tuo perimetro.
| Criterio | DataUnchain On-Premise | Soluzione Cloud tipica |
|---|---|---|
| Dove risiedono i dati | 🟢 Sul tuo server, sempre | 🔴 Data center del fornitore (US/EU) |
| Sub-processor | 🟢 Zero — nessun terzo coinvolto | 🔴 AWS/GCP/Azure + provider AI |
| Connessione internet | 🟢 Non necessaria (air-gap) | 🔴 Obbligatoria per ogni documento |
| Conformita GDPR | 🟢 By design — nessun transfer | 🟡 Richiede DPA, DPIA, SCC |
| Costo per pagina | 🟢 Zero — hardware tuo | 🔴 €0,01–0,10 per pagina |
| Vendor lock-in | 🟢 Open-source, esportabile | 🔴 Formato proprietario, API custom |
| Audit trail | 🟢 Log locali, pieno controllo | 🟡 Log nel cloud del fornitore |
DataUnchain e progettato per essere installato e operativo in meno di 15 minuti. Nessun DevOps dedicato, nessuna infrastruttura cloud, nessuna configurazione complessa.
GPU NVIDIA con 16GB+ VRAM (raccomandato)
RTX 4090, RTX A4000, Tesla T4 o superiore. CUDA 11.8+. Per massime prestazioni e throughput elevato.
CPU-only mode (supportato)
Funziona senza GPU con prestazioni ridotte. Adatto per POC, ambienti di test o volumi bassi (fino a ~50 documenti/giorno).
RAM: 16GB minimo, 32GB raccomandato
Per il modello AI, il database, la coda Redis e i servizi applicativi.
Storage: 50GB+ per sistema + spazio documenti
SSD raccomandato per I/O veloce. Lo spazio documenti dipende dal volume aziendale.
Docker Engine 24+ & Docker Compose v2
L'unico prerequisito software. Linux raccomandato per produzione; Windows/macOS per sviluppo.
Dopo l'installazione iniziale (download immagini Docker e pesi del modello), DataUnchain puo operare in modalita completamente air-gapped — senza alcuna connessione di rete esterna.
Download iniziale delle immagini Docker (~3GB)
Download iniziale dei pesi del VLM proprietario (~8GB)
Aggiornamenti software (opzionali, quando disponibili)
Per ambienti completamente isolati, le immagini Docker e i pesi del modello possono essere trasferiti via supporto fisico (USB, disco esterno) senza mai connettere il server a internet.
Elaborazione documenti — il VLM gira in locale
Estrazione dati strutturati — tutta la pipeline e locale
Dashboard di monitoraggio — Streamlit locale
Invio dati al gestionale — rete locale/VPN
Backup, logging, metriche — tutto on-premise
Licenza e attivazione — nessun phone-home necessario
La modalita air-gap e fondamentale per settori regolamentati: difesa, sanita, infrastrutture critiche, pubblica amministrazione. In questi contesti, la possibilita di operare senza alcuna connessione esterna non e un nice-to-have — e un requisito normativo. DataUnchain lo soddisfa nativamente, senza workaround o configurazioni speciali.
Risposte tecniche alle domande piu comuni sull'architettura e la privacy di DataUnchain.
No, mai. Non esiste nel codice sorgente di DataUnchain una singola chiamata HTTP verso server esterni per l'invio di documenti o dati estratti. Il modello AI (VLM) gira interamente in locale tramite Ollama. Il database e locale. La coda di lavoro e locale. L'unica comunicazione in uscita consentita e quella verso il connettore ERP configurato dall'utente, che tipicamente avviene su rete locale o VPN aziendale. Puoi verificarlo tu stesso ispezionando il codice sorgente su GitHub o monitorando il traffico di rete del container con strumenti come tcpdump o Wireshark — non vedrai un singolo pacchetto diretto verso internet.
Si, DataUnchain supporta la modalita CPU-only. Ollama puo eseguire il VLM proprietario utilizzando solo la CPU del server, senza richiedere una GPU NVIDIA. Le prestazioni saranno inferiori: l'elaborazione di un singolo documento passera da pochi secondi (con GPU) a 30-90 secondi (solo CPU), a seconda della complessita del documento e delle specifiche del processore. Questa modalita e adatta per proof-of-concept, ambienti di test, o installazioni con volumi contenuti (fino a circa 50 documenti al giorno). Per volumi di produzione elevati, raccomandiamo una GPU NVIDIA con almeno 16GB di VRAM.
Per ambienti air-gapped, gli aggiornamenti vengono distribuiti come pacchetti offline. Le nuove immagini Docker vengono esportate con docker save e trasferite via supporto fisico (USB, disco esterno) al server di produzione, dove vengono importate con docker load. I pesi aggiornati del modello vengono trasferiti allo stesso modo. Il processo e documentato step-by-step nella guida di amministrazione. Nessun dato del sistema di produzione viene esposto durante l'aggiornamento — il trasferimento e unidirezionale: dal supporto fisico al server, mai il contrario.
No. Il VLM proprietario utilizzato da DataUnchain opera esclusivamente in modalita inference — cioe esegue previsioni basate sui pesi del modello gia addestrato, senza mai modificarli. I tuoi documenti vengono elaborati, i dati vengono estratti, e poi il documento esce dalla memoria del modello. Non esiste alcun meccanismo di fine-tuning automatico, nessun feedback loop che aggiorna i pesi, nessuna raccolta dati per addestramento futuro. I pesi del modello sono immutabili durante l'operazione. Questa e una garanzia architetturale, non una policy: il codice semplicemente non contiene la funzionalita di training.
DataUnchain e un software on-premise open-source — le certificazioni di sicurezza (ISO 27001, SOC 2, etc.) si applicano all'infrastruttura e ai processi dell'organizzazione che lo ospita, non al software in se. Cio che DataUnchain garantisce e un'architettura che facilita la conformita: isolamento dei dati, logging completo, autenticazione, zero dipendenze cloud, codice sorgente ispezionabile. Per le organizzazioni che necessitano di certificazioni specifiche, l'architettura on-premise di DataUnchain semplifica significativamente il percorso di certificazione perche elimina la necessita di valutare e includere fornitori cloud terzi nel perimetro di audit.
Si. DataUnchain produce log strutturati in formato JSON che possono essere raccolti da qualsiasi SIEM (Splunk, Elastic SIEM, QRadar, Sentinel) tramite file shipper (Filebeat, Fluentd) o syslog forwarding. L'endpoint Prometheus espone metriche operative in formato standard, integrabile con Grafana, Datadog Agent locale, o qualsiasi sistema di monitoring compatibile. Gli health check HTTP permettono l'integrazione con sistemi di alerting aziendali. L'architettura a container facilita l'integrazione con piattaforme di orchestrazione e monitoring gia in uso nell'infrastruttura del cliente.
Il codice sorgente e su GitHub. Ogni riga e leggibile, ogni componente e documentato, ogni decisione architetturale e tracciabile. Non devi fidarti della nostra parola — leggi il codice. E se hai domande, parliamone.
Hai domande tecniche sull'architettura? Scrivici — rispondiamo con dettagli tecnici, non con slide di marketing.