Sicurezza e dati
Modello di fiducia
Cosa puo fare chi controlla i sistemi di borc: noi, o chi entrasse nel nostro account cloud o nel database centrale.
| Puo | Non puo |
|---|---|
| Vedere quali aziende sono clienti, con quale piano e quale versione | Entrare in un'istanza come un utente: platform non emette credenziali per le istanze |
| Leggere metriche numeriche: richieste, latenze, GPU | Leggere utenti, documenti, conversazioni, nomi di file |
| Falsificare o revocare una licenza | Installare software: i rilasci si firmano con una chiave che non sta nel cloud |
| Proporre una versione o un server MCP gia firmati | Accendere funzioni che fanno uscire dati: si attivano solo dal pannello dell'istanza |
| Emettere un certificato per un nome dell'istanza, solo nella modalita con dominio tecnico borc | Dirottare il nome dell'istanza quando e sul dominio del cliente |
La rete aziendale non e il confine di fiducia
Che l'istanza sia raggiungibile solo dalla LAN o dalla VPN non basta, per quattro motivi.
- Dentro la rete ci sono tutti i dipendenti, i consulenti in VPN e qualunque PC infetto: con credenziali falsificabili chiunque di loro entrerebbe come l'amministratore delegato.
- Per l'assistenza abbiamo spesso un accesso VPN al cliente: credenziali nostre piu accesso di rete nostro sarebbe accesso completo.
- Nella modalita con dominio tecnico borc controlla il DNS del nome e potrebbe puntarlo a un proprio server con certificato valido.
- I questionari di sicurezza dei clienti chiedono se il fornitore puo accedere ai dati, e "solo se e nella vostra rete" non viene accettato come risposta.
Resta un punto di fiducia non eliminabile: il software lo scriviamo e lo aggiorniamo noi, e un rilascio malevolo firmato da noi potrebbe leggere i dati. Le contromisure sono verificabili: chiave di firma offline, rilasci riproducibili, immagini per digest e approvazione manuale degli aggiornamenti per chi la chiede.
Uscite di dati
Il sistema ha insieme dati privati, contenuti non fidati e canali di uscita. Una istruzione nascosta in un documento non deve poterli usare.
| Canale | Regola |
|---|---|
| Ricerca web | Spenta di default. Siccome ogni domanda parte con una ricerca nelle fonti interne, la ricerca web e disponibile solo nelle conversazioni impostate su nessuna fonte interna, ed e detta cosi nell'interfaccia. In alternativa l'amministratore puo consentire la modalita in cui ogni query viene mostrata e confermata. |
| Strumenti MCP che scrivono o escono | Ogni chiamata si mostra con i parametri completi e richiede conferma. Gli indirizzi di uscita stanno nel catalogo firmato offline; il firewall della macchina blocca il resto. |
| Modello esterno | Scelta dell'amministratore in amministrazione, con l'avviso che i passaggi dei documenti escono verso il fornitore. |
| Immagini e link nelle risposte | La pagina non carica immagini esterne: un'immagine con dati nell'indirizzo sarebbe un'uscita. I link esterni mostrano l'indirizzo completo prima di aprirsi. |
Aggiornamenti firmati
La chiave di firma non sta nel cloud: platform puo solo proporre.
- Il manifest con versione, immagini per digest, hash dell'updater e catalogo MCP si firma su un portatile. L'updater accetta solo manifest firmati con quella chiave.
- Niente downgrade: l'updater rifiuta qualunque versione inferiore a quella installata e a quella minima scritta nell'ultimo manifest. L'unico ritorno indietro e il rollback locale dopo un aggiornamento fallito.
- L'elenco firmato delle versioni pubblicate ha una scadenza di 30 giorni: se l'istanza non ne vede uno valido entro quel tempo, lo segnala in amministrazione.
- Finestra di aggiornamento per cliente e, a scelta, approvazione manuale: vale per tutto, correzioni di sicurezza comprese.
- Prima di ogni rilascio con migrazioni si fa una copia del database (snapshot ZFS o pg_basebackup) e, se un servizio non e pronto in tempo, si torna alla versione precedente.
Assistenza remota
Si apre solo dall'istanza, su richiesta, a tempo e registrata. La registrazione e del cliente.
- L'amministratore apre l'assistenza in amministrazione, con durata da 1 a 8 ore e motivo.
- L'updater avvia un tunnel in uscita: nessuna porta aperta verso internet, nessuna connessione in ingresso.
- sshd accetta l'utente di assistenza solo con un certificato SSH firmato dalla CA di assistenza, valido dentro la finestra. La CA e fidata solo durante la sessione: si aggiunge all'apertura e si toglie alla chiusura.
- Il protocollo SSH resta cifrato da un capo all'altro: il tunnel trasporta byte che non puo leggere. Per questo non si usa un registro dei comandi lato cloud.
- La registrazione della sessione (formato asciicast) sta sulla macchina e si riproduce da amministrazione, con chi e quando. Alla scadenza le sessioni si chiudono da sole.
Copie e cancellazione
Ogni notte un pg_dump cifrato con age finisce sulla cartella di rete del cliente. La chiave pubblica sta sulla macchina, quella privata la custodisce il cliente: una copia in chiaro scavalcherebbe ogni permesso.
Cancellare un utente cancella conversazioni, collegamenti e token personali, e lascia una traccia con solo un identificativo interno, in due posti: sulla macchina e in un file fuori dai backup. Dopo un ripristino il worker riapplica le cancellazioni da quel file.
Connessioni di rete della macchina
Nessuna connessione in ingresso da internet.
| Direzione e verso | Porta | Perche |
|---|---|---|
| Ingresso da PC aziendali, in LAN o in VPN | 443 | Interfaccia e API |
| Uscita verso platform.borc.ai | 443 | Licenza, versione, metriche numeriche, sfida del certificato |
| Uscita verso registry.borc.ai, R2 e registry ufficiali | 443 | Immagini borc ed eseguibile dell'updater; Postgres, vLLM e docling per digest |
| Uscita verso Let's Encrypt e Hugging Face | 443 | Certificato del nome dell'istanza; pesi dei modelli in installazione e al cambio di modello |
| LAN verso il file server o il NAS | 445 | Cartelle di rete, permessi della condivisione e gruppi locali via RPC |
| LAN verso il domain controller | 636 | Utenti, gruppi e login di dominio (LDAPS) |
| Uscita verso Microsoft 365 o Google Workspace | 443 | Login aziendale e fonti personali, solo se configurati |
| Uscita verso modello esterno, ricerca web e tunnel di assistenza | 443, 7844 | Solo se attivati in amministrazione; il tunnel solo durante un'assistenza aperta |
Dove stanno i dati
Chi e titolare, chi e responsabile e per cosa.
Utenti, sessioni, documenti, indice, conversazioni, allegati, token personali e registro attivita stanno sulla macchina del cliente, con le copie cifrate sul suo NAS. borc non ha accesso.
Metriche tecniche dell'istanza e conteggio degli utenti attivi stanno nel database centrale di borc: aggregati e numerici, mai per persona. Ragione sociale, referenti e fatture sono dati di contratto.
La nomina a responsabile del trattamento e limitata ad assistenza e manutenzione, con le misure: firma offline dei rilasci, approvazione manuale degli aggiornamenti su richiesta, accesso di assistenza a tempo e registrato. Il cliente informa i dipendenti e valuta utilizzo e registro attivita con il proprio consulente.