Gestione Utenti

Elenco utenti, creazione, ruoli, permessi, moduli abilitati, workspace e sicurezza

v 2.4Manuale Utente

Riferimenti normativi

1Panoramica

Il modulo Gestione Utenti consente di creare, modificare e gestire gli account degli utenti che accedono a NOX Enterprise Suite. Ogni utente ha credenziali individuali, un ruolo che ne determina i permessi, e una configurazione di moduli e workspace personalizzata.

Funzionalità principali

  • 4 livelli di ruolo gerarchici: USER, OPERATOR, ADMIN, SUPERADMIN
  • Multi-workspace: ogni utente può accedere a più ambienti di lavoro con configurazioni indipendenti
  • Moduli abilitati: configurazione granulare di quali sezioni del menu sono visibili per ogni utente e workspace
  • Profilo personale: ogni utente può modificare i propri dati e cambiare la password
  • Statistiche database: conteggio record per tabella nel workspace selezionato
  • Operazioni avanzate: gestione backup workspace, dati demo, tabelle normativa
  • Protezione eliminazione: conferma con nome completo per eliminare utenti ADMIN/SUPERADMIN
ⓘAccessibile dal menu utente (il proprio nome, in alto a destra) → “Gestione Utenti”. Richiede il ruolo ADMIN o superiore per la lista completa; gli utenti standard vedono solo il proprio profilo.
2Elenco Utenti

La schermata principale mostra tutti gli utenti in una lista con le seguenti informazioni:

ColonnaContenuto
AvatarIniziali dell'utente con colore basato sul ruolo
NomeNome e cognome completi
UsernameFormato @username. Accanto compare, in blu, l'amministratore che ha creato l'account, es. @Utente (@Giuseppe.Modugno) (agg. 2026-07)
DatabaseBadge con nome del workspace attivo (Principale o nome workspace)
RuoloBadge colorato con icona (security, shield, person, support_agent)
StatoPillola: Attivo (verde) o Inattivo (grigio)
AzioniPulsante elimina e freccia per accedere al dettaglio

In alto: contatore utenti totali e utenti attivi. Pulsante + Nuovo per creare un nuovo utente.

⚠Gli utenti ADMIN non possono vedere gli altri SUPERADMIN nella lista. Solo un SUPERADMIN vede tutti gli utenti, inclusi gli altri SUPERADMIN.
👥Visibilità per amministratore: un Amministratore vede in elenco solo gli utenti creati da lui più sé stesso (a prescindere dal workspace a cui sono assegnati). Il Super Amministratore vede tutti. Lo stesso criterio vale per il visualizzatore Utenti Connessi nella barra in alto: un admin vede solo i propri utenti effettivamente collegati, il SuperAdmin tutti.
3Creare un Utente
  1. Dall'elenco utenti, premere + Nuovo Utente.
  2. Compilare il campo Username (obbligatorio, identificativo univoco per il login).
  3. Inserire la Password (obbligatoria, minimo 6 caratteri) e la Conferma password (deve corrispondere).
  4. Selezionare il Ruolo nella griglia con 4 opzioni:
    • USER — Utente standard (default)
    • OPERATOR — Operatore
    • ADMIN — Amministratore
    • SUPERADMIN — Super Amministratore (visibile solo ai SUPERADMIN)
  5. Premere Salva. L'utente viene creato e appare nell'elenco.
  6. Dopo la creazione, aprire l'utente per completare il profilo: nome, cognome, email, workspace, moduli abilitati.
ⓘSolo un SUPERADMIN può assegnare il ruolo SUPERADMIN a un nuovo utente. Il ruolo SUPERADMIN non appare nel selettore se l'utente corrente è solo ADMIN.
4Ruoli e Gerarchia dei Permessi
RuoloIconaAccessoPuò gestire
USERpersonSolo consultazione base e moduli abilitatiSolo il proprio profilo
OPERATORsupport_agentOperatività completa sui moduli abilitatiSolo il proprio profilo
ADMINshieldTutti i moduli + gestione utenti, parametri, tabelleUtenti USER e OPERATOR. Non può modificare altri ADMIN o SUPERADMIN.
SUPERADMINsecurityAccesso totale al sistemaTutti gli utenti. Gestione workspace, database nascosti, backup, ripristino, eliminazione database.

Differenze chiave ADMIN vs SUPERADMIN

OperazioneADMINSUPERADMIN
Vedere altri SUPERADMIN✗✔
Assegnare ruolo SUPERADMIN✗✔
Vedere workspace nascosti✗✔
Scaricare/ripristinare backup workspace✗✔
Eliminare un workspace/database✗✔
Caricare tabelle normativa✗✔
Creare backup✔✔
Configurare moduli per altri utenti✔✔
Modificare parametri azienda✔✔
⚠Un SUPERADMIN che si declassa a ADMIN perde definitivamente la possibilità di riottenere il ruolo SUPERADMIN in autonomia. Sarà necessario che un altro SUPERADMIN glielo riassegni. Il sistema mostra un avviso esplicito con l'elenco delle capacità che verranno perse.
4bPrivilegi Produzione vs Permessi del Ruolo nel Workspace

Nella scheda di Modifica Utente esistono due sezioni distinte che governano cosa un utente può fare: la sezione "Privilegi Produzione" (riquadro lilla) e la sezione "Permessi del ruolo <X> in <workspace>" (riquadro arancio). Sono due meccanismi complementari, non alternativi: vengono valutati in AND sulle azioni a cui si applicano.

Quadro di confronto

Caratteristica Privilegi Produzione (lilla) Permessi del ruolo (arancio)
Granularità Per singolo utente Per (workspace + ruolo base)
Salvataggio Array privileges sulla tabella Users Tabella dedicata WorkspaceRolePermission
Quante chiavi 3 Quelle del catalogo del ruolo (32 ADMIN, 30 USER, 25 OPERATOR), ridotte ai pacchetti che l’azienda ha: l’elenco è in 4c
Su che ambito agisce Solo modulo Produzione (distinte, ordini, ECO, qualità) Tutti i moduli (utenti, documenti, magazzino, anagrafiche, catalogo, parametri, corrispettivi, scadenze, produzione, audit, backup…)
Chi può modificarli SUPERADMIN e ADMIN Solo SUPERADMIN
Effetto della modifica Vale solo per l'utente mostrato Vale per tutti gli utenti dello stesso ruolo nello stesso workspace
Di partenza Tutti i privilegi a off (vanno assegnati esplicitamente) Quelli di serie del ruolo, fissati quando nasce l’azienda (non tutti accesi: vedi 4c). Un permesso che in quell’azienda non è mai stato scritto vale spento
Bypass SUPERADMIN e ADMIN bypassano sempre i controlli di privilegio Solo SUPERADMIN bypassa: anche l’ADMIN passa solo dai permessi accesi per il suo ruolo

A cosa serve la sezione "Privilegi Produzione" (lilla)

Implementa la Separation of Duties del modulo Produzione: assegna a singoli utenti uno dei 3 ruoli applicativi della produzione, indipendentemente dal loro ruolo base USER / OPERATOR / ADMIN.

PrivilegioCosa abilita
PRODUCTION_MANAGER Creare e modificare distinte; creare ordini di produzione a mano e correggere la testata di quelli ancora PIANIFICATI; avviare, completare, annullare ordini; dal piano MRP creare l’ordine a fornitore di una proposta; applicare ECO; ripristinare elementi dal cestino produzione. Per creare, correggere e completare gli ordini serve anche che il ruolo abbia acceso il permesso Completare ordini di produzione. Cancellare un ordine resta dell’amministratore.
QUALITY_MANAGER Approvare e respingere ECO (su utenti diversi dal proponente); registrare e forzare l'esito dei test qualità.
OPERATOR_PROD Avviare e chiudere le singole fasi di lavorazione sui propri ordini.

Tipico caso d'uso: in uno stesso workspace ci sono più collaboratori USER, ognuno con un compito diverso in produzione. Mario è addetto qualità e riceve QUALITY_MANAGER; Luigi è magazziniere/operatore e riceve OPERATOR_PROD; Giovanni è il responsabile di reparto e riceve PRODUCTION_MANAGER. Senza questi privilegi un USER non può toccare nulla in produzione.

I privilegi sono inoltre la base tecnica della Separation of Duties: chi propone un ECO non può approvarlo, e questo controllo si appoggia proprio al fatto che proponente e approvatore siano due utenti distinti, ciascuno con il proprio privilegio individuale.

A cosa serve la sezione "Permessi del ruolo" (arancio)

Permette al SUPERADMIN di accendere o spegnere per l'intero workspace e l'intero ruolo le azioni del catalogo. Esempio: nel workspace "Studio Bianchi" il SUPERADMIN decide che gli ADMIN non possano eseguire backup manuali; basta togliere il segno di spunta a Lanciare backup manuali (backup.esegui): la modifica vale per tutti gli ADMIN di quel workspace presenti e futuri. Allo stesso modo si accende a tutti gli utenti standard, per esempio, Vedere costi e margini.

ⓘ Pagina dedicata SUPERADMIN-only: in Aziende & Licenze » Permessi si possono modificare i permessi di un ruolo per qualsiasi workspace anche senza un utente "campione" già esistente — utile su workspace appena creati. Ogni modifica finisce nel Registro modifiche, con chi l’ha fatta, quando, e i permessi di prima e di dopo.

I permessi coprono documenti, anagrafiche e privacy, catalogo e listini, magazzino, corrispettivi, scadenze, banca e prima nota, persone, commesse, report, produzione, cestino, registro e backup: l’elenco completo è nella sezione 4c. Un’azienda nuova nasce con i permessi di serie di ogni ruolo, e non sono tutti accesi: quelli che riguardano costi, commesse, persone e privacy nascono spenti agli utenti standard e agli operatori, e così Completare ordini di produzione, Approvare/respingere ECO (e, per l’utente standard, le note e la stampa di bolle ed etichette dei lotti). Quando il SUPERADMIN adatta un’azienda a un pacchetto (per esempio la Produzione), questi permessi restano spenti a utenti e operatori come in un’azienda nuova: si accendono a mano dal pannello.

Come si combinano (regola pratica)

ⓘ Per eseguire un'azione, l'utente deve passare entrambi i controlli applicabili.
Esempio — completare un ordine di produzione:
  1. L'utente deve avere il privilegio individuale PRODUCTION_MANAGER (o essere ADMIN/SUPERADMIN).
  2. Il permesso del suo ruolo produzione.ordini.completa deve essere abilitato in quel workspace.
  3. Deve fornire la firma elettronica (password) richiesta dal flusso.
Se uno solo dei tre check fallisce, l'azione è bloccata con HTTP 403 e messaggio esplicito.

Quando usare uno o l'altro

  • Vuoi specializzare un singolo utente (Mario fa solo qualità)? → Privilegi Produzione.
  • Vuoi vietare un'azione a tutti gli ADMIN di un'azienda (es. Studio Verdi)? → Permessi del ruolo.
  • Vuoi un'azione per pochi (es. solo 2 USER su 5) con regole produzione? → combina i due: assegna il privilegio solo ai 2 USER e tieni acceso il permesso ruolo.
  • Vuoi spegnere completamente l'audit log per gli ADMIN di un workspace? → Permessi del ruolo: audit.consulta = off.
⚠ Hard-delete dal cestino resta sempre e solo SUPERADMIN, indipendentemente da entrambe queste sezioni. ADMIN non può eliminare definitivamente, né con i privilegi né con i permessi.
4cL’elenco dei permessi del ruolo

Questi sono i permessi che si accendono e si spengono nella scheda Permessi di Aziende & Licenze, con il nome che si legge lì. Ogni ruolo ha il suo elenco: la colonna Ruoli dice in quali compare. Un permesso che non compare nell’elenco di un ruolo, per quel ruolo è spento (salvo i permessi che l’amministratore ha di serie senza vederli nell’elenco, come creare ed emettere documenti).

Nella scheda si vedono solo i permessi dei pacchetti che l’azienda ha: senza Prenotta, per esempio, quelli delle camere non compaiono.

PermessoRuoliDa sapere
Utenti, azienda e sicurezza
Creare nuovi utenti utenti.creaAmministratore
Disattivare/riattivare utenti utenti.disabilitaAmministratore
Spostare utenti nel cestino utenti.cestinoAmministratore
Modificare parametri azienda parametri.modificaAmministratore
Ripristinare elementi dal cestino cestino.ripristinaAmministratore
Consultare i log di audit audit.consultaAmministratore
Lanciare backup manuali backup.eseguiAmministratore
Anagrafiche e privacy
Consultare le anagrafiche (scheda, note, informativa privacy) soggetti.consultaAmministratore, Utente, OperatoreSenza, l’elenco e la scheda delle anagrafiche non si aprono e la pagina dice perché; neanche le note attaccate alle anagrafiche si leggono. Di serie acceso ai tre ruoli.
Creare e modificare anagrafiche soggetti.crea_modificaUtente
Importare anagrafiche da file soggetti.modificaAmministratore
Gestire la privacy: registrare, revocare ed esportare i consensi privacy.gestisciAmministratore, Utente, OperatoreNelle aziende nuove acceso solo all’amministratore. Registro dei trattamenti, richieste, data breach e registri della pagina GDPR restano comunque dell’amministratore.
Documenti e acquisti
Creare documenti documenti.creaUtente
Modificare documenti propri non emessi documenti.modificaUtente
Emettere/confermare documenti documenti.emettiUtente
Spostare documenti nel cestino documenti.cestinoAmministratore, Utente
Consultare documenti (read-only) documenti.consultaOperatore
Stampare/esportare PDF documenti stampe.documentiUtente
Consultare e scaricare gli allegati allegati.consultaAmministratore, Utente
Vedere costi e margini (costo d’acquisto, ricarico, margine) costi.vediAmministratore, Utente, OperatoreApre anche il ciclo acquisti: ordini a fornitore, richieste di offerta, fatture passive e import XML, e i loro documenti in Documenti. Senza, quelle voci non compaiono nel menu. Nelle aziende nuove spento a utenti e operatori.
Vendite, catalogo e commesse
Gestire catalogo prodotti/servizi catalogo.modificaUtente
Modificare listini e sconti, anche importandoli listini.modificaAmministratore
Stampare i cartellini del prezzo (e provare la bilancia) etichette.stampaAmministratore, Utente, Operatore
Commesse: creare, modificare, chiudere e attaccare documenti commesse.gestisciAmministratore, Utente, OperatoreLeggere i rendiconti delle commesse chiede invece Vedere costi e margini. Nelle aziende nuove spento a utenti e operatori.
Report ed esportazioni
Report di vendita: consultarli (Dashboard Analitica, Statistiche, Funnel, Cash-flow, Top-N) report.consultaAmministratore, Utente, OperatoreSeparato dall’esportazione: si può lasciar guardare i report senza lasciarli scaricare. Spento agli operatori.
Esportare (CSV): report di vendita, anagrafiche, catalogo, listini, documenti; export al commercialista report.esportaAmministratore, Utente, OperatoreSpento agli operatori.
Incassi, contabilità e persone
Gestire scadenze e pagamenti scadenze.gestisciUtente
Registrare corrispettivi giornalieri corrispettivi.registraUtente
Banca e prima nota: conti correnti, estratti conto, note spese, budget contabilita.gestisciAmministratore
Cancellare registrazioni contabili contabilita.cancellaAmministratore
Persone: anagrafica, ore e note spese; acquisire documenti persone.gestisciAmministratore, Utente, Operatore
Persone: approvare le giornate (e togliere l’approvazione) persone.giornate.approvaAmministratore, Utente, Operatore
Persone: vedere giornate e note spese di tutti (senza approvarle) persone.tutteAmministratore, Utente, OperatorePer chi deve leggere giornate, note spese e riepilogo di tutti senza poterli approvare. Chi approva vede comunque quello che approva. Acceso agli amministratori, spento agli altri.
Magazzino e produzione
Registrare movimenti magazzino magazzino.movimenti.creaUtente, Operatore
Eseguire storni di magazzino magazzino.movimenti.stornoAmministratore
Gestire pick list / prelievi picking.gestisciUtente, Operatore
Approvare/respingere ECO produzione.eco.approvaAmministratore, Utente, OperatoreInsieme al privilegio Responsabile qualità: a un responsabile qualità che non è amministratore si dà accendendolo al suo ruolo. Nelle aziende nuove spento a utenti e operatori.
Completare ordini di produzione produzione.ordini.completaAmministratore, Utente, OperatoreInsieme al privilegio Responsabile di produzione serve anche a creare ordini a mano e a correggere la testata dei PIANIFICATI. Per dare queste cose a un responsabile di produzione che non è amministratore si accende al suo ruolo. Spento a utenti e operatori in tutte le aziende, nuove ed esistenti.
Consultare ordini (read-only) produzione.ordini.consultaUtente, Operatore
Avviare/chiudere fasi propri ordini produzione.fasi.avvia_completaUtente, Operatore
Registrare test qualità quality.test.registraUtente, Operatore
Stampare bolle e etichette lotto stampe.bolle_etichetteAmministratore, Utente, OperatoreSpento all’utente standard: si accende dal pannello.
Aggiungere note/commenti note.creaUtente, OperatoreDi serie acceso all’operatore e spento all’utente standard, che vede le note ma non le scrive finché non lo si accende.
Moduli dedicati
Field Service: gestire impianti, interventi e contratti interventi.gestisciUtente
Field Service: eseguire e firmare interventi in campo interventi.eseguiUtente, Operatore
F-Gas: gestire comunicazioni Banca Dati e registro apparecchiature fgas.gestisciUtente
Prenotta: consultare camere, planning e soggiorni; crearli e modificarli; check-in e check-out; tariffe; canali di vendita; Alloggiati Web e ISTAT camere.*Amministratore, Utente, OperatoreSei permessi distinti, uno per ciascuna di queste cose.
⚠Se un collega «non vede» qualcosa, controllare prima i permessi del suo ruolo e poi i moduli accesi per lui in Aziende & Licenze.
5Modificare un Utente

Fare clic su un utente nell'elenco per aprire la scheda di modifica. La schermata è organizzata in sezioni:

Intestazione

Avatar con colore del ruolo, nome completo, @username, badge ruolo cliccabile (per ADMIN), toggle Attivo/Inattivo.

Riquadro Account

CampoIconaNote
UsernamelockBloccato dopo la creazione (non modificabile). Bordo rosso per evidenziare.
EmailmailValidazione formato email
NomefaceMax 50 caratteri
CognomedrawMax 50 caratteri

Sotto il riquadro: pulsante Cambia Password (o “Reset Password” se si sta modificando un altro utente) e, solo per ADMIN, i pulsanti Statistiche Database e Operazioni Avanzate.

Sezione Workspace

Selettore “Ambiente attualmente in uso” per il workspace primario. Per ADMIN: sezione multi-workspace con checkbox per assegnare l'utente a più ambienti. Opzione speciale ___NUOVO___ per creare un workspace al volo.

Sezione Moduli Abilitati

Vedere sezione 9 per i dettagli completi.

Barra azioni

  • Disattiva Utente (rosso): disabilita l'account (non è possibile disattivare sé stessi)
  • Annulla: scarta le modifiche
  • Salva Modifiche: salva tutti i cambiamenti (disabilitato se nulla è cambiato)
6Profilo Personale

Ogni utente può accedere al proprio profilo dal menu utente nella topbar → “Profilo”.

Il profilo personale mostra tre card:

Informazioni Account

  • Username: modificabile (min. 3 caratteri)
  • Email: con validazione formato
  • Ruolo: sola lettura (solo SUPERADMIN può modificare il proprio ruolo)

Dati Anagrafici

  • Nome e Cognome (max 50 caratteri ciascuno)

Sicurezza

  • Password attuale: obbligatoria per verificare l'identità
  • Nuova password: minimo 6 caratteri
  • Conferma nuova password: deve corrispondere

I campi password sono opzionali: compilare solo se si desidera cambiare la password.

7Gestione Password

Cambiare la propria password

  1. Accedere al proprio Profilo dalla topbar.
  2. Nella sezione “Sicurezza”, inserire la password attuale (per verifica identità).
  3. Inserire la nuova password (minimo 6 caratteri).
  4. Inserire la conferma (deve corrispondere).
  5. Premere Salva Modifiche.

Reset password di un altro utente (solo ADMIN)

  1. Aprire la scheda dell'utente dall'elenco.
  2. Premere “Reset Password”.
  3. Si apre una modale: inserire la nuova password e la conferma.
  4. Non serve la password attuale dell'utente (l'ADMIN è autorizzato al reset).
  5. Premere Salva Password.
⚠Ai sensi del D.Lgs. 196/2003 All. B regola 5, le credenziali di autenticazione devono essere individuali. Non condividere mai username e password tra più persone. Ogni operatore deve avere il proprio account.
8Workspace (Ambienti di Lavoro)

Ogni workspace corrisponde a un database PostgreSQL separato. Permette di gestire più aziende, sedi o ambienti (produzione, test, demo) dalla stessa installazione.

Workspace primario

Il dropdown “Ambiente attualmente in uso” nella scheda utente seleziona il workspace che l'utente vede al login. L'utente può cambiare workspace dalla topbar (icona storage).

Multi-workspace (solo ADMIN)

La sezione “Ambienti Assegnati” mostra tutti i workspace disponibili con checkbox. Per configurare:

  1. Nel selettore “Seleziona utente”, scegliere l'utente da configurare.
  2. Sotto, attivare le checkbox dei workspace a cui l'utente deve avere accesso.
  3. I workspace contrassegnati con lucchetto sono riservati al SUPERADMIN.
  4. I workspace con icona occhio barrato sono nascosti (visibili solo ai SUPERADMIN).
  5. Le modifiche vengono salvate automaticamente alla selezione.

Creare un nuovo workspace

Nel dropdown workspace, selezionare l'opzione “+ Crea nuovo ambiente”. Viene creato un database completo di tutte le tabelle, pronto per essere configurato.

Copia dati di configurazione

Nel dialog di creazione si scelgono le tabelle di configurazione da copiare dall'ambiente principale. Tutte le voci sono ora pienamente funzionanti:

  • Sempre copiate (obbligatorie): Tipi Pagamento, Condizioni Pagamento, Tipi Documento, Utenti e Ruoli (con i loro permessi; il workspace primario di ogni utente resta invariato)
  • Comuni Italiani: anagrafica completa (~9.900 voci con comuni soppressi, stati esteri e CAP) per autocomplete luogo di nascita e calcolo codice fiscale; se non selezionata viene comunque caricata da CSV
  • Catalogo Prodotti: copia le voci di catalogo con le categorie (i fornitori, che sono anagrafica, non vengono copiati)
  • Parametri Configurazione: copia i dati azienda/fiscali; le tabelle di appoggio da cui dipende (regimi, formati, casse, nature IVA...) vengono incluse automaticamente
  • Le voci non più disponibili appaiono disabilitate con l'etichetta “(non disponibile)”

Il nuovo ambiente nasce inoltre con: menu completo (con la sua licenza interna: Base, Fatturazione e Contabilità, tutti i moduli accesi, riducibili poi da Aziende & Licenze), le 14 causali rettifica standard di magazzino, la configurazione MRP e le tabelle/colonne di tutti i moduli v2.2 — in passato alcuni moduli davano “Errore server” sui workspace appena creati.

ⓘI workspace nascosti (visibility_off) non appaiono nel selettore della topbar per gli utenti non-SUPERADMIN. Sono utili per ambienti di test, staging o dati storici.
9Moduli Abilitati

La sezione “Moduli Abilitati” consente di personalizzare quali voci del menu laterale sono visibili per ciascun utente in ciascun workspace.

Come configurare

  1. Nella scheda utente, scorrere alla sezione “Moduli Abilitati”.
  2. Selezionare l'utente e il workspace di riferimento dai dropdown.
  3. I moduli sono raggruppati in 8 categorie (accordion espandibile).
  4. Per ogni categoria: toggle per nascondere l'intero gruppo dal menu, e pulsante per abilitare/disabilitare tutti i moduli del gruppo.
  5. Dentro ogni gruppo: toggle individuale per ogni modulo con nome, icona e descrizione.
  6. Le modifiche vengono salvate automaticamente.

Toggle bloccato o sbloccato — come capire perché

Ogni toggle può trovarsi in uno di questi stati:

StatoSignificatoEsempio
🔒 BloccatoIl modulo è indispensabile (fa parte del core sistema o è richiesto dal regime fiscale). Non si può disattivare.Dashboard, Parametri, Soggetti, Documenti. Anche Registri IVA se l'azienda è in regime ordinario.
✅ LiberoL'admin decide. Utile quando un modulo «sulla carta obbligatorio» in realtà non serve al tipo di attività.Listini/Magazzino/Spedizioni per un consulente, Registri IVA per un naturopata forfettario.
ⓘDalla versione 2.2 il sistema sblocca automaticamente alcuni toggle in base ai Parametri → tab Fatturazione-Cassa (regime fiscale, cassa previdenziale, tipo anagrafica, tipo attività). Ad esempio, se imposti regime RF19 forfettario, le voci Registri IVA / Corrispettivi / Ritenuta d'acconto / Rivalsa INPS diventano automaticamente disattivabili perché fiscalmente inutili. Approfondimento completo con tabella dei 3 tipi di moduli (Core / Fiscali condizionali / Operativi sbloccabili) nel manuale Aziende & Licenze §4.

Categorie di moduli

GruppoModuli inclusi
Ciclo Attivo / PassivoSoggetti, Catalogo, Documenti, Scadenzario, Agenti, Spedizioni, Lettere intento, Listini, Sconti, CRM, RDO, Valutazione fornitori (13 moduli)
MagazzinoGiacenze e movimenti
ContabilitàPiano dei Conti, Prima Nota, Registro IVA, Aliquote IVA (4 moduli)
ReportingDashboard analitica, Statistiche catalogo
IntegrazioniSDI, Corrispettivi (2 moduli)
Vendita al bancoCassa, Resi, Documenti emessi, Chiusura giornaliera, Casse e registratori telematici (5 moduli)
DocumentaleGDPR, Audit trail, Import/Export (3 moduli)
ImpostazioniUtenti, Parametri, Tabelle, Backup, Print Designer, Modelli stampa, Numerazioni (7 moduli)

Opzioni globali

  • Menu espanso: i sottomenu restano aperti di default
  • Nascondi intestazioni gruppo: menu piatto senza raggruppamenti
  • Nascondi “Coming Soon”: resta dai tempi in cui i moduli non pronti comparivano in grigio nel menu. Oggi quei moduli sono nascosti comunque, quindi l'opzione non cambia niente
⚠Gli utenti non-ADMIN vedono la sezione Moduli in sola lettura con un banner di sicurezza. Solo ADMIN e SUPERADMIN possono modificare la configurazione moduli.
10Statistiche Database

Il pulsante “Statistiche Database” (solo ADMIN) nella scheda utente apre una finestra di dialogo con i conteggi dei record per tabella nel workspace selezionato.

Informazioni visualizzate

  • KPI: totale record, tabelle attive (con almeno 1 record), massimo record per tabella
  • Griglia: lista di tutte le tabelle con barra grafica proporzionale e conteggio
  • Timestamp: ora dell'ultimo aggiornamento
  • Pulsante Aggiorna per ricaricare i dati

Utile per verificare lo stato del database, controllare che i dati demo siano stati caricati o individuare tabelle vuote da popolare.

11Operazioni Avanzate sui Database

Il pulsante “Operazioni Avanzate” (solo ADMIN) apre un pannello con gestione avanzata dei workspace:

Selezione workspace

Lista di tutti i workspace disponibili. Fare clic per selezionare e visualizzare le operazioni disponibili.

Backup

  • Crea Backup Ora: genera un backup del workspace selezionato
  • Lista backup: elenco con data, dimensione, pulsanti scarica/ripristina/elimina
  • ADMIN: può solo creare backup. SUPERADMIN: può anche scaricare, ripristinare ed eliminare.

Dati Demo

Pulsante “Carica Dati Demo” per aprire la procedura guidata (vedere sezione 12).

Zona Pericolosa (solo SUPERADMIN, workspace non-default)

Procedura di eliminazione workspace in 3 passaggi con doppia conferma. Elimina definitivamente il database e tutti i dati contenuti.

⚠L'eliminazione di un workspace è irreversibile. Tutti i documenti, soggetti, catalogo, impostazioni e backup del workspace vengono distrutti. Eseguire sempre un backup prima e scaricare il file sul PC.
12Dati Demo e Tabelle Normativa

La procedura guidata “Dati Demo” consente di popolare un workspace con dati di esempio o con le tabelle normative ufficiali italiane.

Tab “Carica Demo”

Wizard a 3 step per generare dati realistici:

  1. Scegli archivio: Soggetti (anagrafe) o Catalogo (articoli)
  2. Scegli categoria: es. Clienti, Fornitori, Agenti, Farmaci, Articoli, Kit, ecc.
  3. Scegli quantità: preset rapidi (10, 50, 100, 500, 1.000) o valore personalizzato fino a 100.000

I dati generati sono realistici: nomi, indirizzi, P.IVA, CF, codici articolo, prezzi, categorie.

Tab “Tabelle Normativa”

Carica le tabelle ufficiali dell'Agenzia delle Entrate / INPS / SDI:

  • Tipi Pagamento (codici SDI)
  • Condizioni Pagamento
  • Tipi Documento (TD01-TD29)
  • Formati Trasmissione (FPR12, FPA12)
  • Regimi Fiscali (RF01-RF19)
  • Tipi Cassa Previdenza (TC01-TC22)
  • Nature IVA (N1-N7 con sottotipi)

L'operazione è idempotente: aggiorna i record esistenti e inserisce quelli mancanti senza creare duplicati.

Tab “Svuota Archivi”

Zona pericolosa per svuotare tabelle selezionate. Richiede conferma esplicita. Mostra il conteggio dei record eliminati per archivio.

ⓘPer un nuovo workspace: caricare prima le Tabelle Normativa (codici SDI, regimi fiscali, nature IVA), poi eventualmente i Dati Demo per avere un ambiente di test funzionante.
13Disattivare ed Eliminare Utenti

Disattivare

Il toggle Attivo/Inattivo nella scheda utente disabilita l'account senza eliminarlo. Un utente disattivato non può effettuare il login ma i suoi dati e le sue associazioni restano nel sistema.

  • Non è possibile disattivare sé stessi
  • La disattivazione è reversibile: riattivare con lo stesso toggle

Eliminare

Il pulsante Elimina (cestino) nell'elenco utenti rimuove definitivamente l'account.

Ruolo dell'utente da eliminareChi può eliminareConferma richiesta
USER / OPERATORQualsiasi ADMINConferma semplice
ADMINADMIN o SUPERADMINDigitare il nome completo dell'utente per confermare
SUPERADMINSolo SUPERADMINDigitare il nome completo dell'utente per confermare
⚠L'eliminazione è irreversibile. L'utente, le sue configurazioni moduli e le assegnazioni workspace vengono cancellate. I documenti creati dall'utente non vengono eliminati.
13bDov’è finita «Amministrazione di Sistema»

La pagina /admin/sistema non c’è più. Raccoglieva funzioni che con il tempo erano diventate doppioni o avevano trovato una casa migliore: è stata sciolta e ogni riquadro è andato dove lo si usa. Chi aveva l’indirizzo salvato finisce su Aziende & Licenze.

RiquadroDove si trova adesso
Permessi per Ruolo Aziende & Licenze » Permessi. L’azienda è quella scelta in cima alla pagina: qui si sceglie solo il ruolo. Il cambiamento finisce nel Registro modifiche, con i permessi di prima e quelli di dopo.
Svuota archivi ed elimina Aziende & Licenze » Azienda, in fondo. Agiscono sull’azienda scelta in cima. L’eliminazione chiede due conferme e il server fa da sé una copia prima di procedere.
Invio email da amministratore Parametri » Configurazione Email, sotto la prova della connessione: si chiama «Invia un’email adesso» e usa lo SMTP configurato lì sopra.
Audit Log Registro modifiche (Aziende & Licenze). Era un secondo registro, vuoto in quasi tutte le aziende; lo storico è stato portato in quello vero.
Nuova Azienda Aziende & Licenze » Associazione Aziende, in cima: lì dice anche quante aziende si possono ancora creare.
Backup & Ripristino Barra laterale, sotto Amministrazione: era già lì.
Versione Applicazione Non si scrive più: il numero in alto a destra è quello della build pubblicata, lo stesso dell’app desktop.
Cosa vede questo utente? e Pulizia Posizioni Note Eliminati. Il primo dava risposte sbagliate (leggeva il sistema dei permessi di prima); la seconda la fa da sé il programma a ogni accesso.
ⓘ Modifica Utente in schede: la pagina di modifica di un utente (/utenti/modifica/:id) è organizzata in 4 schede:
  1. Profilo & Workspace — account/anagrafica + database di lavoro
  2. Privilegi Produzione — visibile solo se per quell'utente la Distinta Base è abilitata
  3. Permessi del Ruolo — griglia configurabile (mostra placeholder se ruolo è SUPERADMIN o workspace non selezionato)
  4. Moduli abilitati — accordion per categoria (immutato)
Le opzioni "Sottomenu sempre espansi" e "Nascondi intestazioni gruppi" sono uscite dal tab Moduli e ora si attivano dai due mini-bottoni accanto a "Home" nella sidebar (effetto solo per la sessione corrente, non persistente).
14Novità della v2.1

Aggiornamenti alla gestione utenti, workspace e permessi.

Sync target per-workspace

In Modifica Utente → Database di Lavoro, accanto a ogni workspace abilitato, compare un selettore “Sync target” (visibile solo ai SuperAdmin). Permette di indicare il workspace di replica automatica: qualsiasi generazione XML o documento nel workspace sorgente viene replicato su quello target.

Si preme sulla scritta «Nessun sync» per aprire l’elenco e si sceglie l’azienda di destinazione; per toglierlo si rimette su Nessun sync.

ⓘ Rimpiazza i precedenti hardcoded “provatest” / “studio”: ora ogni coppia sorgente-target è configurabile da UI. Lasciare vuoto il selettore disabilita la sincronizzazione per quel workspace.

menuConfig per-workspace

I moduli abilitati (menu laterale visibile all'utente) non sono più configurati a livello utente ma a livello workspace. La configurazione viene salvata su Parametri.menuConfig invece che su User.menuConfig.

  • Ogni workspace ha il proprio set di moduli attivi (Scadenzario on/off, Magazzino on/off, ecc.)
  • Tutti gli utenti che accedono a quel workspace vedono lo stesso menu
  • L'impostazione sostituisce quella per-utente precedente (migrazione automatica al primo accesso)

Scudo colorato per riservataSuper

Il bottone di accesso alla sezione riservata SuperAdmin (pulsante con icona scudo) è ora più evidente: colore ambra e bordo gold, per distinguerlo visivamente dai bottoni standard e ridurre errori di accesso.

15Come si legge la riga di un ambiente

In Associazione Aziende (menu utente), sotto «Ambienti accessibili dall’utente», ogni azienda occupa una riga sola. Sopra l’elenco ci sono i titoli delle colonne, così si capisce a colpo d’occhio che cosa fa ciascun comando.

ColonnaA che serve
AssegnaLa spunta: se è accesa, l’utente selezionato vede questa azienda nel cambio ambiente in alto.
AziendaIl nome, e accanto il nome tecnico dell’archivio fra graffe.
SincronizzaIl sync target: l’azienda su cui replicare quello che si genera qui. Si preme sulla scritta per sceglierla.
ProtezioniDue pulsanti, descritti qui sotto. Li vede solo un Super Amministratore.

Le due protezioni

  • Lo scudo — azienda riservata al SuperAdmin: gli Amministratori normali non possono lavorarci. Scudo pieno e arancione quando è attiva.
  • La persona — azienda nascosta al Super Amministratore Limitato: non la vede negli elenchi e non può entrarci. Icona rossa con la persona sbarrata quando è attiva.
💡 Il secondo pulsante lo vede e lo può premere solo un Super Amministratore pieno: se potesse toglierlo anche un Limitato, la protezione non proteggerebbe da niente.
⚠ Le due protezioni sono cose diverse e si possono usare insieme: lo scudo tiene fuori gli Amministratori, la persona tiene fuori il Super Limitato.
?Domande Frequenti (FAQ)
Perché non posso vedere tutti gli utenti nella lista?
Se sei ADMIN, non vedi gli utenti con ruolo SUPERADMIN. Questa separazione protegge gli account privilegiati. Solo un SUPERADMIN può vedere e gestire tutti gli account, inclusi altri SUPERADMIN.
Posso cambiare lo username di un utente?
No. Lo username è bloccato dopo la creazione (evidenziato con bordo rosso e icona lucchetto). Questo perché lo username è l'identificativo univoco usato per il login e referenziato nei log di sistema. Per “rinominare” un utente, creare un nuovo account e disattivare il vecchio.
Un utente può avere ruoli diversi in workspace diversi?
No. Il ruolo è globale per l'utente e vale per tutti i workspace. Ciò che cambia per workspace sono i moduli abilitati: un utente può avere tutti i moduli attivi nel workspace di produzione e solo i moduli base nel workspace di test.
Come creo un ambiente di test senza toccare i dati di produzione?
Creare un nuovo workspace (dalla scheda utente → “+ Crea nuovo ambiente”). Caricare le Tabelle Normativa e i Dati Demo. Eventualmente nascondere il workspace (visibility_off) per non mostrarlo agli utenti non-SUPERADMIN.
Cosa succede ai documenti se elimino un utente?
I documenti, i soggetti e tutti i dati creati dall'utente non vengono eliminati. Solo l'account utente e le sue configurazioni (moduli, workspace) vengono rimossi. I dati restano nel database del workspace.
Come faccio a obbligare un utente a cambiare password?
Al momento il sistema non ha un flag “forza cambio password al login”. L'ADMIN può resettare la password dell'utente e comunicare quella provvisoria, chiedendo all'utente di cambiarla dal proprio Profilo.
Posso disattivare me stesso?
No. Il pulsante “Disattiva Utente” è disabilitato quando si sta modificando il proprio account. Questo previene il blocco accidentale dell'unico amministratore.
Perché non vedo il ruolo SUPERADMIN nel selettore?
L'opzione SUPERADMIN appare nel selettore ruolo solo se l'utente corrente è SUPERADMIN. Un ADMIN non può assegnare né vedere il ruolo SUPERADMIN.
Come funzionano le notifiche GDPR nella gestione utenti?
Il sistema implementa il principio del minimo privilegio (art. 25 GDPR): ogni utente vede solo i moduli e i dati a cui è autorizzato. L'ADMIN deve configurare i moduli abilitati in modo coerente con le mansioni dell'utente. La conformità GDPR richiede anche una revisione annuale dei profili di accesso (D.Lgs. 196/2003 All. B regola 14).
Perché il caricamento Tabelle Normativa è riservato al SUPERADMIN?
Le Tabelle Normativa (codici SDI, regimi fiscali, nature IVA) sono dati critici che alimentano tutta la fatturazione elettronica. Un caricamento errato potrebbe generare fatture con codici non conformi. Per questo è riservato al SUPERADMIN come misura di sicurezza.
Un utente standard può vedere le statistiche del database?
No. Le statistiche e le operazioni avanzate sui database sono riservate agli ADMIN e SUPERADMIN. Un utente USER o OPERATOR vede solo il proprio profilo e i moduli a lui abilitati.
Come configuro i moduli per un utente che lavora su più workspace?
La configurazione moduli è per utente per workspace. Nella sezione Moduli Abilitati, selezionare l'utente e il workspace desiderato. La configurazione viene salvata indipendentemente per ogni combinazione utente/workspace.
17Audit accessi (LOGIN_OK / LOGIN_FAIL)

Ogni tentativo di autenticazione è persistito nella tabella log_accessi_utente con IP, user-agent, workspace, timestamp.

Eventi tracciati

EventoQuandoDati raccolti
LOGIN_OKAutenticazione riuscitauserId, username, IP, user-agent, workspaceId
LOGIN_FAILPassword errata o utente non trovatousername (se presente), IP, user-agent, details
LOGOUTLogout esplicito (futuro)userId, ora
PWD_CHANGECambio password (futuro)userId, operatore
ROLE_CHANGECambio ruolo (futuro)userId, ruolo vecchio/nuovo, operatore
ⓘIP e user-agent sono troncati rispettivamente a 45 e 500 caratteri per evitare record patologici.
18Soft-delete utenti

La cancellazione di un utente non rimuove il record fisicamente: imposta isActive=false + cancellatoIl.

Motivazione

  • Preservare la storia accessi per audit e compliance
  • Mantenere traccia delle modifiche effettuate da quell'utente in passato
  • Evitare broken references su log modifiche di altre tabelle

Ripristino

Solo gli ADMIN possono ripristinare tramite POST /api/utenti/:id/ripristina. Viene riattivato con isActive=true.

⚠Un SUPERADMIN può essere cancellato solo da altri SUPERADMIN. L'utente non può mai cancellare il proprio account.
19Monitoring accessi globale

Endpoint GET /api/utenti/_/accessi-recenti (ADMIN) consente il monitoring degli accessi recenti con filtri.

ParametroValoreEsempio d'uso
eventoLOGIN_OK, LOGIN_FAIL, LOGOUTindividuare tentativi falliti
limitNumero massimo righedefault 200

Integrabile in un cruscotto di sicurezza per rilevare pattern anomali (tentativi falliti consecutivi, IP sospetti, orari inusuali).

⚠Il rate limiting automatico (lock dopo N fail) è pianificato per v 2.3.
20Audit modifiche profilo

Tabella log_modifiche_utente per tracciare cambi di ruolo, email, attivazione, password.

Endpoint: GET /api/utenti/:id/audit-log. Filtra le ultime 100 modifiche per utente specifico.

⚠L'integrazione audit-write su PUT /utenti/:id è attualmente parziale (cattura soft-delete e alcune operazioni esplicite). Completamento programmato sprint di consolidamento.
21RBAC uniformato

Tre ruoli applicati uniformemente su tutti i moduli della piattaforma.

RuoloPrivilegi tipiciMiddleware
SUPERADMINTutto + gestione altri SUPERADMIN + workspacerequireAdmin + ulteriori check
ADMINOperazioni distruttive, bulk, definitivo, stornorequireAdmin
OPERATORELettura + mutazioni standardauthMiddleware

L'uniformità è verificata dalla regressione API: ogni endpoint distruttivo o bulk ritorna 403 se chiamato da utente non-admin.

ⓘRiferimento normativo: GDPR art. 32 (misure di sicurezza), OWASP Top 10 A07.
22Rate limiting login

Protezione contro attacchi brute-force: dopo 5 tentativi di login falliti consecutivi per lo stesso username, l'account è bloccato automaticamente per 15 minuti.

Meccanismo

  • Il controllo viene eseguito prima della validazione password sul tentativo di login
  • Si conteggiano i record LOGIN_FAIL consecutivi a partire dall'ultimo LOGIN_OK (o da qualsiasi evento negli ultimi 15 minuti)
  • Al raggiungimento della soglia, il server risponde HTTP 429 Too Many Requests con campo lockedUntil
  • Il blocco genera un evento LOGIN_BLOCKED nel log accessi (monitoraggio centralizzato)

Costanti configurabili

CostanteValore di defaultSignificato
LOGIN_FAIL_THRESHOLD5Tentativi falliti prima del blocco
LOGIN_LOCK_MINUTES15Durata del blocco (minuti)

Esempio risposta 429

{
  "error": "Account bloccato per 15 minuti dopo 5 tentativi falliti. Riprovare più tardi o contattare l'amministratore.",
  "lockedUntil": "2026-04-19T14:35:00.000Z"
}

Sblocco amministrativo

Un ADMIN può sbloccare manualmente un account inserendo un record LOGIN_OK manuale nel database oppure attendendo lo scadere della finestra temporale.

ⓘRiferimento: GDPR art. 32 (misure di sicurezza), OWASP Top 10 A07 (Identification and Authentication Failures).
⚠Il rate limiting non sostituisce l'autenticazione a due fattori (2FA/MFA), che è disponibile dalla sezione successiva.
232FA / TOTP (RFC 6238)

Autenticazione a due fattori basata su TOTP time-based one-time password (RFC 6238), compatibile con Google Authenticator, Authy, 1Password, Microsoft Authenticator.

Setup

  1. L\'utente chiama POST /api/2fa/setup → il server genera un secret (base32) e restituisce l\'URI otpauth:// per QR code
  2. L\'utente scansiona il QR con l\'app authenticator
  3. L\'utente chiama POST /api/2fa/verify con il codice a 6 cifre visualizzato → attivazione effettiva
  4. Il server restituisce 10 backup codes (formato XXXX-XXXX) da salvare in luogo sicuro

Endpoint disponibili

MetodoPathDescrizione
POST/api/2fa/setupInizia setup (genera secret + QR URI)
POST/api/2fa/verifyVerifica codice TOTP + attiva + restituisce backup codes
POST/api/2fa/disableDisattiva (richiede codice TOTP O password)
GET/api/2fa/statusStato attuale (attivo + count backup codes restanti)
POST/api/2fa/rigenera-backup-codesRigenera i 10 codici di recupero

Parametri TOTP

  • Algoritmo: HMAC-SHA1 (standard RFC 6238)
  • Periodo: 30 secondi
  • Cifre: 6
  • Window: ±1 step (tolleranza ±30 secondi per drift clock)

Backup codes

  • 10 codici monouso formato XXXX-XXXX
  • Salvati in DB solo come SHA-256 (mai in chiaro)
  • Ogni codice è consumabile una sola volta (rimosso dopo l\'uso)
  • Rigenerazione con /api/2fa/rigenera-backup-codes invalida tutti i precedenti
ⓘImplementazione crypto senza dipendenze esterne: Base32 + HMAC-SHA1 + dynamic truncation sono implementati in twofa.routes.js usando solo il modulo crypto di Node.
⚠L\'integrazione con il flusso di login (richiesta codice TOTP dopo password valida) è parziale: il backend espone verificaTotp() come helper ma la richiesta interattiva al login è pianificata v 2.3.
24Refresh token + gestione sessioni

Un utente, un posto — e il telefono è a parte

Con lo stesso utente si lavora da un computer alla volta: chi entra chiude la sessione di chi c'era prima, e a quest'ultimo compare «Sei stato disconnesso: qualcuno è entrato con il tuo stesso utente da un altro computer». Le credenziali sono di una persona: due sessioni insieme vogliono dire che gira una password.

Il telefono ha un posto suo. Entrare dall'app sul telefono (per esempio Schedia per gli appuntamenti) non chiude il computer, e il computer non chiude il telefono: si può lavorare dal computer e segnare un appuntamento dal telefono con lo stesso utente. Fra due telefoni vale ancora «uno alla volta».

Fa eccezione il Super Amministratore: può stare collegato da più computer e più telefoni insieme, e un suo nuovo accesso non chiude gli altri. «Disconnetti tutti» e il cambio password chiudono comunque tutte le sue sessioni.

Fanno eccezione anche gli utenti delle demo pubbliche. Alla demo del gestionale si entra tutti con le stesse credenziali, scritte sul sito: con la regola normale il secondo visitatore avrebbe buttato fuori il primo, che si sarebbe ritrovato alla schermata di ingresso con scritto che qualcuno stava usando il suo utente. La regola serve a difendere una password che è di una persona sola; quella della demo è pubblica, quindi non c'è niente da difendere. Le sessioni demo ferme da più di dodici ore vengono chiuse da sé.

  • Conta come telefono sia un'app installata sul telefono o sul tablet, sia il sito aperto dal browser di un telefono o tablet (iPhone, iPad, Android). Un iPad con Safari impostato su «sito desktop» si presenta come un Mac e conta come computer.
  • In pratica, con lo stesso utente possono essere collegati insieme al massimo un computer e un telefono (o tablet). Dal telefono si può fare tutto quello che si fa dal computer.
  • «Disconnetti da tutti i dispositivi» e il cambio password chiudono sia i computer sia i telefoni.

Vedere chi è collegato, e staccarne uno

C'è una pagina che elenca le sessioni vive: Aziende & Licenze » Chi è collegato (ci si arriva anche cliccando il gruppetto di iniziali in alto a destra). Per ciascuna si vede la persona, l'azienda, il posto da cui lavora, l'indirizzo di rete e da quanto tempo non dà segni di vita.

Di una sessione non basta sapere quando è nata: una aperta la mattina risulterebbe viva anche se la persona se n'è andata alle nove. Per questo ogni sessione lascia un segno di passaggio, al massimo una volta al minuto, e «collegato» vuol dire che si è mossa negli ultimi cinque minuti.

Da lì si può staccare una sessione sola — il computer sì, il telefono della stessa persona no — e lo stacco è immediato, non alla scadenza del gettone. È cosa diversa da «Disconnetti da tutti i dispositivi», che chiude tutto.

Il dettaglio sta nel manuale di quella pagina.

Sistema di refresh token rotation per bilanciare sicurezza (access token brevi) e UX (sessioni lunghe senza richiedere login ripetuto).

Struttura

  • Access token (JWT): TTL 1 ora, contiene id/role/username
  • Refresh token: TTL 30 giorni, stringa random 96 caratteri (48 bytes hex)
  • Persistenza in tabella refresh_tokens: token, userId, issuedAt, expiresAt, revokedAt, replacedBy, IP, userAgent

Endpoint

MetodoPathDescrizione
POST/api/auth/refreshOttiene nuovo access + refresh token (rotation)
POST/api/auth/logoutRevoca il refresh token corrente
POST/api/auth/logout-allRevoca tutti i refresh token dell\'utente
GET/api/auth/sessionsLista sessioni attive dell'utente corrente (IP, user-agent, issuedAt)
GET/api/collegatiLe sessioni vive di tutti quelli su cui si ha titolo, con l'ultimo segno di vita
POST/api/collegati/:id/staccaChiude UNA sessione, subito

Token rotation (sicurezza)

Quando il client chiama /refresh con il refresh token corrente:

  1. Il server verifica che non sia revocato e non sia scaduto
  2. Revoca il vecchio token con revokedReason='rotated' e replacedBy=<nuovo>
  3. Emette un nuovo refresh token + nuovo access token
  4. Logga evento TOKEN_REFRESH in log accessi

Questo schema permette di rilevare token compromessi: se un attaccante rubà un refresh token e lo usa, l\'utente legittimo al prossimo refresh troverà il suo token revocato.

Auto-disconnessione

Un ADMIN può forzare la disconnessione di un utente da tutti i dispositivi con /api/auth/logout-all: utile in caso di smarrimento credenziali o licenziamento.

Lo sgancio agisce su due fronti, perché il gettone con cui si lavora è il JWT e non il refresh token:

  1. tutti i refresh token dell\'utente vengono revocati;
  2. su users.sessioni_valide_da viene scritto l\'istante dello sgancio, e ogni JWT emesso prima di quell\'istante viene rifiutato al primo passaggio.

Senza il secondo punto lo sgancio non avrebbe effetto su chi è già collegato: il suo gettone resterebbe buono fino a scadenza, cioè 8 ore — o 30 giorni se aveva scelto «resta connesso».

Lo stesso interruttore scatta al recupero password: cambiare la password ora scaccia davvero chi era dentro con il gettone vecchio.

ⓘRiferimento: OWASP ASVS v4.0 § 3.7 (session management) + GDPR art. 32 (sicurezza del trattamento).
ⓘ/api/auth/login emette il refresh token a ogni accesso, ed è da quelli che /api/auth/sessions elenca le sessioni. La sonda di salute resta fuori: entra ogni cinque minuti e non è una sessione.
25Licenza e Aziende & Licenze

Cosa vede e cosa può usare un utente lo decidono due cose sole:

LivelloDominioChi configuraCosa decide
1. LicenzaAziendaSUPERADMINQuali pacchetti ha l’azienda (Base c’è sempre)
2. Aziende & LicenzeAzienda e utenteSUPERADMIN (colonna dell’azienda); SUPERADMIN o ADMIN d’azienda (colonne degli utenti)Quali moduli sono accesi, per tutta l’azienda e per ogni utente. Di partenza tutto acceso

La regola

modulo_acceso(utente, azienda, modulo) =
  pacchetto_in_licenza(azienda, pacchetto_di(modulo))
  AND ( indispensabile(modulo)
        OR ( acceso_per_azienda(modulo)
             AND acceso_per_utente(utente, modulo)
             AND modulo_da_cui_dipende_acceso ) )

Il profilo attività non blocca più niente: serve solo a proporre le impostazioni di partenza. Un modulo spento è bloccato: la pagina non si apre e le funzioni rispondono «spenta per te su questa azienda». Tutti i dettagli nel manuale Aziende & Licenze.

ⓘHanno preso il posto di Gestione Pacchetti (Moduli attivi e Licenze vendute) e di Personalizza Menu: gli indirizzi vecchi portano alla griglia.