Tradotto con l’IA dalla versione inglese del 30 ottobre 2026. Leggi l’originale
La sicurezza in LightInventory
Dove si trovano i tuoi dati, quale accesso a Google chiediamo, come funzionano accesso, ruoli e cronologia a prova di manomissione, e quali fornitori usiamo.
Ultimo aggiornamento: 30 ottobre 2026
I dati del tuo inventario restano nel tuo foglio Google. LightInventory legge e scrive quel file per conto tuo, non conserva sui nostri server alcuna copia del suo contenuto e memorizza solo ciò che serve a gestire il tuo account. Questa pagina spiega esattamente come funziona, da cosa ti proteggiamo e quali sono i limiti.
Dove si trovano i tuoi dati
I dati aziendali (articoli, ubicazioni, movimenti di magazzino, prezzi, note, proposte di approvazione e i valori prima e dopo nella tua cronologia) si trovano solo in fogli di calcolo del tuo account Google. I nostri server leggono in memoria i valori delle celle per mostrare le pagine, confrontare le modifiche, creare le esportazioni e scrivere i tuoi aggiornamenti. Questi valori non vengono salvati nel nostro database, nei nostri log né nei nostri report degli errori. Una suite di test automatici verifica che nessuna tabella, riga di log o evento di errore contenga valori delle celle.
Conserviamo invece i dati necessari per gestire il tuo account:
| Cosa conserviamo | Perché | Protezione |
|---|---|---|
| Utenti, profili, organizzazioni, appartenenze, ruoli, inviti (solo un hash di ogni token di invito) | Accesso e gestione del team | Crittografati a riposo dal fornitore del database |
| Fattori di accesso: chiavi pubbliche delle passkey, segreti TOTP, codici di recupero sottoposti a hash | Autenticazione a più fattori | I segreti TOTP sono inoltre protetti con crittografia a busta, con chiavi conservate in un servizio di gestione delle chiavi |
| Token di aggiornamento Google per il foglio di calcolo collegato | Leggere e scrivere il tuo file | Protetto con crittografia a busta; mai inviato al browser né scritto nei log |
| Metadati del foglio di calcolo: ID del file, ID delle schede, versione dello schema, modalità di blocco | Trovare e controllare il tuo file | Non contengono valori delle celle |
| Impronte delle righe (hash con chiave di ogni riga) | Rilevare le modifiche fatte direttamente nel foglio | Con chiave, quindi non possono essere riconvertite nei valori |
| Catena di hash di audit: numeri di sequenza, ID delle voci, hash, ID dell’autore, tipo di azione, ora | Dimostrare che la tua cronologia non è stata modificata | Non contiene valori |
| Riferimenti di fatturazione del nostro fornitore di pagamenti | Abbonamenti e fatture | Non contengono numeri di carta |
| Eventi di sicurezza: tentativi di accesso, autorizzazioni negate, indirizzo IP, browser | Rilevare gli abusi | Indirizzo IP rimosso dopo 90 giorni, eventi eliminati dopo 1 anno |
Il nostro sistema funziona a Londra. Il database (Supabase, regione eu-west-2), i server applicativi (Vercel, regione lhr1) e le nostre chiavi di crittografia e gli ancoraggi della cronologia (Google Cloud, regione europe-west2) sono tutti vincolati a quella sede. L’email transazionale è l’unica eccezione documentata, descritta nella sezione infrastruttura e sub-responsabili del trattamento.
L’accesso a Google che chiediamo
LightInventory chiede a Google due cose. Quando accedi con Google, chiede il tuo profilo di base: openid, email e profile. Quando colleghi un foglio di calcolo, chiede separatamente un’unica autorizzazione di Drive, drive.file.
In parole semplici, drive.file permette a un’app di lavorare solo con i file che crei con l’app o che scegli per l’app. Google lo descrive come accesso ai file “that you open with an app or that the user shares with an app while using the Google Picker API”, cioè i file che apri con un’app o che condividi con un’app tramite Google Picker API (Ambiti dell’API Google Drive). Google lo classifica come ambito non sensibile.
Cosa significa per te:
- LightInventory non può elencare, aprire o cercare il resto del tuo Google Drive. Un file che non hai mai creato con LightInventory né scelto nel selettore file di Google è invisibile per l’app.
- Non chiediamo mai l’ambito più ampio
spreadsheetsné alcun ambito di accesso completo a Drive. - Dopo ogni autorizzazione, verifichiamo che Google abbia restituito esattamente l’accesso che abbiamo chiesto.
- Puoi rimuovere l’accesso in qualsiasi momento dal tuo Account Google. Consulta Revocare l’accesso di LightInventory a Google.
Solo la persona che collega il foglio di calcolo concede questo accesso, e deve essere la proprietaria del file. I membri del tuo team non vengono mai aggiunti al file in Google. Lavorano tramite l’app, con i ruoli che assegni loro.
Accesso e sessioni
Ogni utente accede con due fattori, in ogni piano, ogni volta che inizia una sessione.
- Primo fattore: accesso con Google, oppure email e password. Le password devono avere almeno 12 caratteri e vengono confrontate con elenchi di password violate. L’accesso con Google vale solo come primo fattore, mai come entrambi.
- Secondo fattore: una passkey, che è l’opzione predefinita e resiste al phishing, oppure un codice TOTP da un’app di autenticazione. Ogni utente registra almeno due metodi e riceve 10 codici di recupero monouso.
Per il Proprietario e gli Amministratori, l’accesso resistente al phishing è obbligatorio per impostazione predefinita, quindi il TOTP è disattivato per questi ruoli a meno che il proprietario non cambi l’impostazione. Le chiavi di sicurezza hardware funzionano come passkey. Un link via email può reimpostare una password, ma non sostituisce mai il secondo fattore.
L’autenticazione a più fattori viene verificata in due punti indipendenti: nel codice dei nostri server e nelle regole di accesso del database stesso. Una sessione che ha superato solo il primo fattore non può leggere nulla, anche se interroga direttamente il database.
| Impostazione della sessione | Valore |
|---|---|
| Disconnessione dopo inattività | 60 minuti |
| Durata massima della sessione | 24 ore |
| Nuova verifica del secondo fattore per le azioni sensibili | Negli ultimi 5 minuti |
| Tentativi falliti del secondo fattore prima del blocco | 10, con attese da 30 secondi a 1 ora |
Le azioni sensibili includono le modifiche dei ruoli, le modifiche della fatturazione, il collegamento o lo scollegamento di un foglio di calcolo, le esportazioni, gli annullamenti in blocco, le modifiche ai metodi di accesso e l’eliminazione dell’organizzazione. Puoi vedere le tue sessioni attive e terminarne qualsiasi. Ti inviamo un’email quando un nuovo dispositivo accede, quando un metodo di accesso viene aggiunto o rimosso e quando vengono usati i codici di recupero.
Ruoli, ubicazioni e approvazioni
Ogni organizzazione ha cinque ruoli: Proprietario, Amministratore, Approvatore, Editor e Visualizzatore. Editor e Visualizzatori possono essere limitati a ubicazioni specifiche, così il team di un negozio vede e modifica solo le proprie giacenze.
| Funzione | Proprietario | Amministratore | Approvatore | Editor | Visualizzatore |
|---|---|---|---|---|---|
| Visualizzare articoli, giacenze e cronologia | Sì | Sì | Sì | Proprie ubicazioni | Proprie ubicazioni |
| Registrare movimenti | Sì | Sì | Sì | Proprie ubicazioni | No |
| Approvare richieste | Sì | Sì | Sì, tranne le proprie | No | No |
| Annullamento in blocco | Sì | Sì | No | No | No |
| Gestire i membri | Sì | Sì | No | No | No |
| Collegare il foglio di calcolo, eliminare l’organizzazione | Sì | No | No | No | No |
Le autorizzazioni vengono lette in tempo reale a ogni richiesta, quindi la rimozione di una persona o la modifica del suo ruolo hanno effetto dalla sua azione successiva. Ogni richiesta viene negata a meno che una regola non la consenta. Ogni ruolo è spiegato in Team e ruoli.
Le approvazioni sono facoltative. Quando sono attive, un’organizzazione può richiedere l’approvazione per modifiche come quelle ai prezzi o le rettifiche delle giacenze. La modifica proposta viene scritta in una scheda protetta del tuo foglio di calcolo, e nessuno può approvare la propria richiesta. Scopri di più nella panoramica sul registro delle modifiche.
Cronologia a prova di manomissione
Ogni modifica fatta tramite LightInventory viene scritta come voce di cronologia in una scheda protetta Log all’interno del tuo foglio di calcolo, nello stesso aggiornamento Google della modifica stessa. Le giacenze non vengono mai modificate come numero. Sono calcolate da un elenco di movimenti a sola aggiunta, e un annullamento è una nuova voce opposta, non un’eliminazione.
A prova di manomissione significa che, se qualcuno altera o rimuove una voce passata, la verifica lo mostra. Non significa che la modifica sia impossibile. Ecco come funziona:
- Una catena con chiave. Ogni voce riceve un codice calcolato dal suo contenuto e dal codice della voce precedente, con HMAC-SHA256 e una chiave segreta per la tua organizzazione che solo LightInventory possiede. Modificare una voce spezza la catena da quel punto in poi. Poiché la chiave è segreta, nessuno può ricalcolare di nascosto i codici dopo una modifica.
- Una copia della catena, senza valori. Conserviamo i codici della catena, mai i tuoi valori, in una tabella del database che rifiuta aggiornamenti ed eliminazioni.
- Ancoraggi giornalieri fuori dal nostro database. Una volta al giorno, un’unica impronta dell’ultima posizione della catena di ogni organizzazione viene scritta in un bucket di Google Cloud Storage con un criterio di conservazione bloccato di 7 anni. Una volta bloccato, il criterio non può essere accorciato né rimosso. Un malintenzionato in grado di modificare il nostro database non potrebbe comunque riscrivere quegli ancoraggi.
- Verifica notturna. Ogni notte, e ogni volta che il proprietario lo chiede, ricalcoliamo la catena dalla tua scheda
Loge la confrontiamo con la nostra copia e con l’ultimo ancoraggio. Se qualcosa non corrisponde, tutti i membri vedono un avviso di integrità, e il Proprietario e gli Amministratori ricevono un’email.
Il limite è la proprietà. Il proprietario di un file Google può sempre modificarlo, sbloccarlo, copiarlo o eliminarlo; Google non consente di escluderlo. La catena non può impedirlo, ma lo rende visibile. Inoltre Google registra le scritture della nostra app con l’account del proprietario, perché scriviamo con la sua autorizzazione. Il nostro Log registra il membro del team che ha agito davvero.
Modifiche fatte direttamente nel foglio
Per impostazione predefinita, le schede gestite sono protette in modo che solo il proprietario possa modificarle in Fogli Google, e gli editor del file non possono condividerlo ulteriormente. Un blocco rigoroso facoltativo rende il file di sola lettura in Google finché il proprietario non lo sblocca deliberatamente.
Poiché il proprietario può sempre apportare modifiche, LightInventory le rileva anche. Ogni volta che l’app legge il tuo foglio, confronta ogni riga con la relativa impronta salvata. Un controllo in background viene eseguito anche per le organizzazioni che nessuno sta consultando. Quando una riga è cambiata al di fuori dell’app, l’app lo registra con un’attribuzione al meglio delle possibilità, basata sui dati di revisione di Google, e poi applica il criterio della tua organizzazione: bloccare la modifica finché il Proprietario o un Amministratore non la adotta o non ripristina la riga, accettarla e registrarla, oppure tenerla in attesa di approvazione. Le modifiche ai movimenti passati o alle voci della cronologia vengono sempre segnalate.
Crittografia e segreti
- In transito: tutto il traffico usa HTTPS. Ai browser viene indicato di usare solo HTTPS (HSTS con preload), e le nostre pagine usano una Content Security Policy rigorosa.
- A riposo: il nostro database è crittografato a riposo dal suo fornitore. Il tuo foglio di calcolo è conservato e crittografato da Google.
- Token e chiavi: i token di aggiornamento Google, i segreti TOTP e le chiavi della cronologia di ogni organizzazione sono crittografati con AES-256-GCM usando una nuova chiave per ogni record. Questa chiave è a sua volta protetta da una chiave principale in Google Cloud KMS a Londra, che non lascia mai KMS e viene ruotata ogni anno. KMS funziona in un progetto cloud separato con controlli di accesso propri, e i nostri server lo raggiungono senza alcuna credenziale di lunga durata memorizzata.
- Nessun accesso dell’assistenza al tuo foglio. Non esiste alcuna funzione che permetta al nostro personale di accedere al tuo posto, né alcuno strumento di assistenza che apra il tuo foglio di calcolo. L’accesso al nostro database di produzione richiede due persone e viene registrato.
Infrastruttura e sub-responsabili del trattamento
| Fornitore | Ruolo | Regione |
|---|---|---|
| Supabase | Database e autenticazione (solo dati di sistema) | Londra (eu-west-2) |
| Vercel | Hosting dell’applicazione e firewall; rete di distribuzione dei contenuti | Funzioni a Londra (lhr1); CDN globale |
| Google Cloud | Gestione delle chiavi e ancoraggi della cronologia (solo dati di sistema) | Londra (europe-west2) |
| Resend | Email transazionali (inviti, avvisi di sicurezza e di fatturazione) | Stati Uniti |
| Stripe | Fatturazione e pagamenti | Nessuna regione vincolata |
| Cloudflare | DNS con DNSSEC e CAPTCHA nei moduli di accesso | Rete globale |
Le API di Fogli e Drive di Google elaborano il tuo foglio di calcolo in qualità di tuo fornitore. Le email che inviamo non contengono mai i dati del tuo inventario. Per i fornitori con sede negli Stati Uniti, i trasferimenti sono coperti dall’EU-US Data Privacy Framework con l’estensione per il Regno Unito, oppure da clausole contrattuali standard.
Il nostro accordo sul trattamento dei dati (Data Processing Agreement) è pensato per dare ai clienti un preavviso di almeno 30 giorni su ogni nuovo sub-responsabile e il diritto di opporsi. L’elenco completo dei sub-responsabili e l’accordo vengono pubblicati al lancio.
Segnalare una vulnerabilità
Se trovi un problema di sicurezza, scrivi a support@lightinventory.com indicando i passaggi per riprodurlo. Non accedere ai dati di altre persone e non interrompere il servizio, e contattaci prima di qualsiasi test attivo, perché i nostri termini non consentono test di sicurezza senza autorizzazione. I nostri recapiti per i ricercatori di sicurezza sono pubblicati anche in formato leggibile dalle macchine in security.txt. Una politica completa di divulgazione responsabile verrà pubblicata prima del lancio.
Stato
LightInventory si sta preparando al lancio. Prima del lancio, il piano prevede un penetration test esterno su accesso, isolamento dei tenant, autorizzazione Google, webhook e injection nei fogli di calcolo, oltre a un’autovalutazione completa rispetto all’OWASP Application Security Verification Standard 5.0. Questa pagina riporterà queste valutazioni indipendenti quando esisteranno. Fino ad allora, descrive la progettazione, non una certificazione.
Consulta cosa conserva LightInventory per l’elenco completo e i prezzi per sapere cosa include ogni piano.