Ruoli e permessi: regole chiare con esempi aziendali
Ruoli e permessi spiegati con esempi chiari, per decidere cosa possono vedere proprietari, responsabili, personale e clienti e prevenire fughe di dati.

Il vero problema: persone che vedono dati che non dovrebbero
Una “fuga di dati” sul lavoro spesso sembra noiosa. Un operatore dell'assistenza apre il profilo di un cliente e vede l'intera cronologia dei pagamenti. Un cliente accede e nota note interne come “Offri il 20% se si lamenta” o il costo reale e il margine su una fattura. Nessuno ha rubato una password. L'app ha semplicemente mostrato la cosa sbagliata.
La maggior parte delle fughe avviene per errore. I permessi vengono aggiunti in ritardo, una nuova schermata viene pubblicata in fretta o qualcuno copia un ruolo vecchio che era “abbastanza buono” per i test. Poi una piccola modifica, come aggiungere un nuovo campo a una tabella, diventa silenziosamente visibile a tutti.
Per questo motivo ruoli e permessi dovrebbero essere una parte di primo piano dell'app, non una casella da spuntare all'ultimo minuto. La maggior parte delle piccole imprese finisce per usare gli stessi quattro tipi di ruolo: Proprietario, Responsabile, Personale e Cliente.
L'obiettivo è semplice: ogni persona dovrebbe vedere solo ciò che le serve per fare il proprio lavoro, e nient'altro. Questo include i dati dietro le quinte, non solo le schermate che ti aspetti.
Se stai costruendo velocemente su una piattaforma no-code come AppMaster, questo conta ancora di più. La velocità è ottima, ma rende anche più facile esporre involontariamente note private, regole di prezzo o record di altri clienti se l'accesso non è progettato fin dall'inizio.
Ruoli, permessi e ambito: definizioni semplici
Ruoli e permessi sono le regole che decidono chi può fare cosa all'interno di un'app.
- Un ruolo è un'etichetta di lavoro come Proprietario, Responsabile, Personale o Cliente.
- I permessi sono le azioni specifiche che quel ruolo è autorizzato a compiere.
Un livello di accesso è il risultato pratico di quelle regole. Due persone possono entrambe essere “Personale”, ma una avrà un livello di accesso più alto perché può approvare rimborsi mentre l'altra no.
Un modo affidabile per prevenire errori è partire dall'accesso minimo, poi aggiungere solo ciò che la persona necessita per il lavoro quotidiano. Se qualcuno non modifica mai le fatture, non dargli il diritto di modifica “per sicurezza”. È più facile aggiungere accesso dopo che annullare una fuga di dati.
La maggior parte dei permessi si riduce a poche azioni: visualizzare, creare, modificare, eliminare, e alcune azioni ad alto rischio come esportare o approvare.
L'ambito risponde a una domanda diversa: “Su quali record possono farlo?” Qualcuno potrebbe essere autorizzato a vedere le fatture, ma solo le proprie, non quelle di tutti.
Gli schemi di ambito tipici sono:
- Record propri (solo elementi che hanno creato o a cui sono assegnati)
- Team o sede (la loro filiale, dipartimento o progetto)
- Intera azienda (tutti i record dell'azienda)
Un commerciale può creare e visualizzare le proprie offerte, ma non esportare l'intero elenco clienti. Un responsabile commerciale può vedere le offerte di tutto il team e approvare sconti. Il proprietario può vedere tutto ed esportare report per la contabilità.
Cosa servono solitamente Proprietario, Responsabile, Personale e Cliente
La maggior parte delle app finisce con gli stessi quattro gruppi di persone. I dettagli cambiano, ma lo schema no. Se parti con ruoli e permessi chiari eviti molti imbarazzanti “perché possono vedere quello?” in seguito.
Proprietari tipicamente necessitano di visibilità totale sull'azienda. Questo spesso include fatturazione, impostazioni di sicurezza (come regole password e MFA) e cronologia di audit per rivedere chi ha cambiato cosa e quando.
Responsabili devono gestire un team senza essere amministratori completi. Di solito hanno bisogno di supervisione (vedere tutto nel loro reparto), approvare azioni (sconti, rimborsi, congedi, modifiche ai contenuti) e leggere report. Possono avere azioni amministrative limitate, come invitare personale o resettare una password, ma non accesso alla fatturazione o ai controlli di sicurezza globali.
Personale dovrebbe poter svolgere il lavoro quotidiano velocemente, con rischio minimo. Un default sicuro è “solo ciò che mi è assegnato”. Un agente di supporto vede solo i propri ticket, un dispatch vede solo i percorsi di oggi, e un venditore vede solo i propri lead. Esportazioni e download in massa dovrebbero essere disattivati di default e abilitati solo quando c'è un reale bisogno.
Clienti dovrebbero vedere solo i propri dati, anche se più persone condividono un account. Consentigli azioni limitate (creare richieste, pagare fatture, aggiornare il profilo), ma tieni nascoste note interne, commenti del personale e stati riservati allo staff.
Un set di default che funziona in molte aziende:
- Proprietario: tutto, inclusi fatturazione, sicurezza e log di audit
- Responsabile: dati del team, approvazioni, reporting, gestione utenti limitata
- Personale: solo record assegnati, niente esportazioni in massa, niente impostazioni admin
- Cliente: solo i propri record, no note interne, azioni limitate
Suddividere l'accesso per tipo di dato, non solo per schermata
Molti team impostano ruoli e permessi per schermata: “Il Personale può aprire la pagina Ordini, i clienti no.” Questo aiuta, ma perde il rischio reale. Gli stessi dati compaiono in ricerca, commenti, notifiche, esportazioni e allegati.
Inizia elencando le aree di dati, non i menu. Le aree ad alto impatto includono contatti clienti, ordini e stato consegna, fatture e stato pagamenti, salari e note HR, e note interne o analytics.
Poi decidi cosa può fare ogni ruolo con ciascun tipo di dato: visualizzare, creare, modificare, eliminare, approvare e condividere. Qui contano le regole a livello di campo. Lo stesso oggetto spesso ha bisogno di una vista pubblica e di una interna.
Esempio: un Ordine può includere nome cliente, indirizzo di consegna, prezzo, margine interno e una nota interna come “Il cliente si lamenta spesso, offrire sconto”. Un cliente dovrebbe vedere l'indirizzo e lo stato, ma mai il margine o la nota interna. Un responsabile potrebbe vedere tutti i campi più la possibilità di approvare sconti. Il personale vede i campi necessari per consegnare, ma non i dettagli finanziari.
I file e gli allegati meritano attenzione extra. Contratti, documenti d'identità, ricevute e screenshot spesso contengono informazioni più sensibili dei campi del form. Trattali come un permesso separato: chi può caricare, chi può scaricare e chi può vedere l'anteprima. Decidi anche se gli allegati ereditano l'accesso dal record padre (per esempio una fattura) o hanno regole proprie.
Infine, non trattare esportazioni e azioni di massa come “incluse” solo perché qualcuno può vedere una lista. Rendile esplicite: esportare in CSV/PDF, download massivo degli allegati, cambiamenti di stato in blocco (approva, annulla, rimborsa), messaggistica in massa (email/SMS/Telegram) e azioni admin come riassegnare record.
Esempio aziendale 1: app per vendite e fatturazione
Immagina una piccola attività di servizi: il proprietario vende progetti, i responsabili sovrintendono i lavori, il personale esegue e i clienti approvano preventivi e pagano fatture. Il modo più veloce per evitare errori imbarazzanti è concordare ruoli e permessi prima che qualcuno acceda.
Inizia dai dettagli monetari. I prezzi possono essere visibili a più persone rispetto al profitto. Una regola comune è: il personale può vedere cosa addebitare, ma non perché è stato scelto quel prezzo. Un tecnico potrebbe aver bisogno delle voci per spiegare una fattura, ma non di margine interno, costo fornitore o lo sconto speciale concesso per chiudere l'accordo.
I dati cliente sono un altro punto critico. Molti team vogliono che più persone possano vedere i contatti (così possono chiamare la persona giusta), ma solo pochi poterli modificare. Altrimenti si ottengono sovrascritture accidentali come la mail di fatturazione sostituita con una email personale e le fatture non arrivano più alla contabilità.
Una configurazione semplice che funziona bene:
- Proprietario: vede tutto, inclusi margini e cronologia sconti, e può cambiare lo stato pagamento
- Responsabile: può creare preventivi e fatture, approvare sconti e modificare i contatti cliente
- Personale: può visualizzare i dettagli cliente assegnati e le voci di fattura, ma non può modificare le regole di prezzo o vedere i margini
- Cliente: può vedere solo i propri preventivi e fatture, e può pagare o chiedere modifiche
Blocca le azioni ad alto rischio. Segnare una fattura come pagata, emettere un rimborso o cambiare un metodo di pagamento dovrebbe essere limitato al proprietario (o a un ruolo finanziario fidato).
Esempio aziendale 2: help desk con note interne
Un help desk sembra semplice: i clienti inviano messaggi, il team risponde e i ticket si chiudono. I problemi iniziano quando la stessa vista del ticket è riutilizzata per tutti. Una impostazione sbagliata e i clienti possono vedere note interne, tag o perfino statistiche sulle prestazioni dello staff.
Immagina una piccola e‑commerce con una casella di supporto condivisa. Un ticket include il messaggio del cliente, i dettagli dell'ordine, lo stato di spedizione e note interne come “possibile frode, verificare ID” o “VIP, priorità”. Quel contesto interno aiuta il team, ma non deve mai essere visibile al cliente.
Una divisione pulita che mantiene i dati sensibili al sicuro:
- Cliente: vede i propri messaggi, aggiornamenti di stato pubblici e la risoluzione finale. Niente tag interni, niente note riservate allo staff.
- Agente: vede i messaggi del cliente e solo i dati necessari per risolvere il problema, come la cronologia ordini. Può aggiungere note interne e tag.
- Responsabile: vede tutto ciò che vede l'agente, più i controlli per riassegnare e le eccezioni SLA.
- Proprietario/admin: vede tutti i ticket dell'azienda e report ad alto livello.
La PII dei clienti è la prossima trappola. Il supporto spesso ha bisogno di un numero di telefono o di un indirizzo, ma non su ogni ticket. Una buona regola è: mostrare i campi sensibili solo quando il workflow lo richiede. Per esempio, mostra l'indirizzo solo dopo che l'agente seleziona “problema di spedizione”, e nascondilo quando il ticket si chiude.
Tieni le metriche interne separate dall'esperienza cliente. Dati come “tempo alla prima risposta”, “punteggio agente” o “inoltrato all'ufficio legale” appartengono solo a viste staff e responsabili.
Esempio aziendale 3: operazioni e tracciamento consegne
Immagina un magazzino e un team sul campo che eseguono consegne tutto il giorno. Una persona pianifica i percorsi, un'altra preleva gli articoli e gli autisti completano le fermate. Se la tua app mostra i dettagli sbagliati alle persone sbagliate, non è solo imbarazzante — può esporre indirizzi clienti, prezzi o note interne.
Inizia separando ciò che ogni gruppo necessita ogni giorno.
Personale (magazzinieri e autisti) di solito ha bisogno di una vista compatta e focalizzata sui compiti. Un autista dovrebbe aprire l'app e vedere solo i lavori assegnati per oggi, con l'ordine delle fermate, i dettagli di contatto per quella fermata e le istruzioni di consegna. Non dovrebbero poter navigare l'intero elenco clienti o vedere i lavori assegnati ad altri autisti. Se coprono un turno, un responsabile può riassegnare un lavoro invece di dare un accesso ampio.
Responsabili necessitano di una visione operativa più ampia. Dovrebbero vedere i programmi di tutte le squadre, i conteggi inventario e cosa sta andando storto ora (consegne in ritardo, drop falliti, articoli danneggiati, firme mancanti). Hanno anche bisogno di strumenti per risolvere eccezioni: riassegnare una fermata, dividere un percorso o approvare una rettifica di inventario.
Clienti necessitano della vista più ridotta: solo lo stato della propria consegna. Possono tracciare ETA, vedere prove di consegna e ricevere aggiornamenti come “in consegna” o “in ritardo”. Non devono mai vedere altri clienti, mappe di percorso dell'intera giornata o note di eccezione interne.
Un modo semplice per applicare ruoli e permessi qui è scoprire i dati per assegnazione e per account cliente. Per esempio, un record Job di Consegna può essere leggibile solo da (1) il personale assegnato, (2) i responsabili e (3) il cliente legato a quell'ordine.
Passo dopo passo: come progettare ruoli e permessi
Inizia nominando i tuoi gruppi di utenti in linguaggio semplice. “Proprietario”, “Responsabile”, “Personale” e “Cliente” sono un buon avvio, ma solo se rispecchiano come funziona la tua azienda. Per ogni gruppo, scrivi in una frase cosa significa il successo, per esempio “I responsabili possono assegnare lavoro e vedere le performance del team senza vedere le buste paga.”
Poi, mappa azioni alle aree di dati. Non pensare prima alle schermate. Pensa ai dati che esistono e a cosa le persone possono farci. Una semplice griglia su carta è sufficiente:
- Elenca ruoli e aree di dati (clienti, ordini, fatture, ticket, report).
- Per ogni ruolo, scrivi le azioni necessarie (visualizzare, creare, modificare, approvare, esportare).
- Decidi l'ambito per ogni azione (proprio, team o tutto).
- Definisci “team” chiaramente (filiale, regione, progetto o report diretti).
- Segna gli elementi “mai” (per esempio, i clienti non vedono mai note interne).
Poi testa la bozza usando compiti reali, non ipotesi. Segui flussi comuni come “creare un ordine”, “risolvere un ticket” e “scaricare un report”. Se un'attività ti costringe a dare accesso ampio, probabilmente ti manca un permesso (per es. “visualizzare totali” senza “esportare”).
Aggiungi approvazioni dove soldi o cambi sensibili avvengono. Il personale può preparare una fattura, ma solo un responsabile può approvarla o inviarla. Il personale può modificare indirizzi di consegna, ma cambiare dettagli bancari richiede approvazione del proprietario.
Errori comuni che causano perdite accidentali di dati
La maggior parte delle fughe di dati nelle piccole squadre non sono attacchi. Succedono quando l'app dà silenziosamente a qualcuno più accesso del necessario. Ruoli e permessi falliscono quando vengono impostati una volta e mai rivisti.
Un pattern comune è dare a qualcuno accesso amministrativo completo “solo per la configurazione”. La corsa passa, ma l'accesso resta. Settimane dopo quella persona esporta l'intero elenco clienti per “aiutare con un report” e i dati privati restano in un foglio di calcolo.
Errori che ricorrono spesso:
- Fare del ruolo “Admin” il default perché evita domande di supporto
- Permettere esportazioni ampie (clienti, contatti, pagamenti, fatture) senza limiti o audit
- Condividere un login tra una squadra di turno, così non puoi sapere chi ha visto o modificato cosa
- Proteggere le schermate principali ma dimenticare porte laterali come viste mobile, PDF, notifiche email, allegati e form precompilati
- Non revocare accessi: ex‑dipendenti mantengono accesso all'app, alle caselle email o sessioni salvate sul telefono
Le porte laterali sono le più insidiose. Potresti bloccare lo staff dall'accedere a una schermata contratti, ma poi inviargli via email il PDF come allegato. Oppure il layout mobile potrebbe mostrare campi aggiuntivi che erano nascosti su desktop.
Una soluzione pratica è trattare esportazioni e download come permessi separati, non come un diritto normale di “visualizzazione”. Se un ruolo ha bisogno di una lista, dargli una vista filtrata invece di un'esportazione completa.
Controlli rapidi prima di invitare utenti reali
Prima di invitare utenti reali, dai per scontato che qualcuno cliccherà la cosa sbagliata, condividerà uno schermo o scaricherà un file che non dovrebbe avere. Alcuni controlli ora possono prevenire una pulizia dolorosa dopo.
Inizia con i default. Quando un nuovo utente viene creato, dovrebbe partire dal ruolo più basso automaticamente, senza accesso a soldi, esportazioni o impostazioni admin. Se qualcuno ha bisogno di più, rendi la modifica deliberata.
Poi testa l'esperienza cliente come farebbe uno sconosciuto. I clienti dovrebbero vedere solo i propri record, anche se cambiano URL, cercano o filtrano. Un test veloce: accedi come Cliente A e prova a cercare Cliente B per nome, numero fattura o ID ticket.
Cinque controlli rapidi che catturano la maggior parte delle fughe:
- Nascondi campi sensibili di default (stipendi, costo/margine, ID personali, note interne)
- Blocca esportazioni e azioni di massa
- Aggiungi approvazioni dove gli errori sono costosi (rimborsi, pagamenti, cambi ruolo)
- Conferma che l'ambito è applicato ovunque (schermate, risultati di ricerca, risposte API)
- Assicurati di poter revisionare le modifiche: chi ha cambiato cosa e quando, incluse modifiche ruolo e azioni di pagamento
Esegui un “test d'errore”. Chiedi a un collega di completare un compito reale usando un account Personale, poi prova lo stesso compito con l'account Cliente. Se il cliente può vedere prezzi interni, scaricare liste complete di clienti o avviare un rimborso, i permessi sono troppo ampi.
Un scenario realistico: un'unica app usata da staff e clienti
Una richiesta comune inizia così: un cliente vuole un portale per “controllare lo stato”, ma il tuo staff usa già lo stesso sistema per gestire il lavoro. Senza ruoli e permessi chiari, il portale può esporre note interne, ordini di altri clienti o prezzi riservati allo staff.
Immagina una tipografia su misura. Un ordine passa da preventivo a produzione, consegna e fattura, tutto dentro un'unica app.
Ecco cosa dovrebbe vedere ciascun ruolo in quel flusso:
- Proprietario: tutto, incluso profitto, performance dello staff e tutti gli account cliente
- Responsabile: tutti gli ordini del proprio team, note interne e la possibilità di approvare sconti e rimborsi
- Personale: solo gli ordini assegnati, il prossimo passo da completare e i dettagli di contatto necessari per svolgere il compito
- Cliente: solo i propri ordini, stato ad alto livello (Approvato, In produzione, Spedito), prova di consegna e le fatture da saldare
Due casi limite spesso rompono il modello.
Primo, un responsabile copre temporaneamente un altro team. Non trasformarlo in Proprietario. Invece aggiungi un ambito temporizzato, per esempio accesso agli ordini del Team B per 7 giorni. Quando la copertura finisce, l'accesso scade.
Secondo, un cliente VIP chiede “più visibilità”. Dai più contesto senza più dati grezzi. Mostra una timeline estesa o un thread di messaggi dedicato, ma conserva le note interne (per esempio “cliente è in ritardo con i pagamenti” o “ri-stampa per nostro errore”) solo per lo staff.
Le responsabilità cambiano, quindi considera l'accesso come qualcosa da rivedere, non da impostare una volta per tutte. Quando qualcuno cambia ruolo, evita di accumulare permessi. Rimuovi ciò che non serve più, poi aggiungi il minimo necessario per il nuovo lavoro.
Passi successivi: definisci una policy chiara e applicala
Inizia in piccolo. Scegli un workflow che conta di più, come “creare fattura e incassare” o “registrare un ticket di supporto e rispondere”. Definisci ruoli e permessi per quel singolo flusso prima, poi amplia.
Metti le regole in una tabella semplice e trattala come un documento vivo: ruolo, cosa può fare, cosa non può fare e eventuali limiti (per esempio “solo i propri record” o “solo la propria sede”). Quando qualcuno chiede, “Il personale può vedere i numeri di telefono dei clienti?”, la tabella dovrebbe rispondere in pochi secondi.
Un rollout pratico:
- Redigi la tabella per il tuo primo workflow (Proprietario, Responsabile, Personale, Cliente)
- Mappa ogni regola a dati specifici (inclusi i campi) e azioni (visualizzare, modificare, esportare, eliminare)
- Crea account demo per ogni ruolo e testa compiti reali end-to-end
- Lancia a un gruppo ristretto, poi amplia una volta che non ci sono sorprese
- Revisiona gli accessi trimestralmente e immediatamente dopo cambi organizzativi (nuovo responsabile, nuovo team, nuovo fornitore)
Se stai costruendo su AppMaster (appmaster.io), aiuta pianificare i ruoli insieme al modello dati e alla business logic in modo che le stesse regole si applichino coerentemente su web app, app mobile e endpoint API.
Se vuoi, scrivi oggi la tua prima tabella di accesso e provala su un workflow. Quel singolo passo previene la maggior parte delle fughe di dati accidentali.
FAQ
Inizia elencando i dati che conservi (clienti, ordini, fatture, note interne, file), poi decidi chi può visualizzare, creare, modificare, eliminare, approvare ed esportare ciascuno di essi. Parti dal minimo accesso e aggiungi solo ciò che serve per il lavoro quotidiano.
I permessi decidono quali azioni qualcuno può compiere, mentre l'ambito (scope) decide su quali record si applicano quelle azioni. Per esempio, un operatore potrebbe poter vedere fatture ma solo quelle a lui assegnate o legate alla sua sede.
"Proprietario, Responsabile, Personale, Cliente" copre la maggior parte delle piccole imprese perché rispecchia come si distribuiscono lavoro e rischi. Se il tuo team è più complesso, mantieni questa struttura e aggiungi pochi ruoli speciali (es. Finanza o Consulente) invece di rendere tutti admin.
Un buon default: i clienti vedono e agiscono solo sui loro record, ma non vedono note interne, stati interni, margini o tag riservati allo staff. Se un cliente chiede più visibilità, fornisci più contesto (per es. una timeline) invece di esporre campi interni grezzi.
Separa il "cosa addebitare" dal "perché quel prezzo". Il personale spesso ha bisogno di voci di fattura e stato, ma non dovrebbe vedere margine, costi fornitore, cronologia sconti o controlli di pagamento come la marcatura di una fattura come pagata.
Considera le esportazioni come un permesso ad alto rischio, non come qualcosa che viene automaticamente con la visualizzazione di una lista. Molte perdite accidentali avvengono quando qualcuno scarica l'intero elenco clienti o lo storico fatture in un foglio di calcolo senza rendersi conto di quanto contenga.
Le schermate sono solo un posto dove i dati appaiono; possono comparire anche in ricerche, notifiche, PDF, layout mobile, allegati e risposte API. Una buona pratica è proteggere prima il livello dati e la visibilità dei campi, poi costruire le schermate sopra quello.
Tieni gli allegati con regole proprie perché spesso contengono informazioni più sensibili dei campi del modulo. Decidi chi può caricare, vedere l'anteprima e scaricare i file, e se l'accesso ai file segue automaticamente il record padre (es. una fattura) o richiede un permesso extra.
Crea due viste dello stesso ticket: una sicura per il cliente senza note interne, tag o metriche dello staff, e una interna con il contesto completo. Mostra campi sensibili del cliente solo quando il workflow lo richiede, così gli agenti non vedono indirizzi o ID su ogni ticket di default.
Crea account demo per ogni ruolo ed esegui attività reali end-to-end, comprese ricerche, filtri, apertura di allegati e generazione di documenti. Testa anche "Cliente A cerca Cliente B" usando nomi, ID e URL per confermare che l'ambito sia applicato ovunque.


