Login, database e permessi nelle app create con AI
Nascondere un bottone non protegge i dati: identità e autorizzazioni devono essere verificate nel punto in cui letture e scritture avvengono davvero.
Come progettare autenticazione, database e regole di accesso per un’app creata con strumenti AI, evitando dati esposti e controlli affidati al solo frontend.
Procedura passo passo
Per capire questa guida separa tre domande: chi è la persona, quali dati può vedere e quali azioni può eseguire. Il login risponde soltanto alla prima. Le altre due devono essere decise e controllate dal backend.
- 01
Elenca ruoli e azioni
Scrivi una matrice semplice: cliente, collaboratore e amministratore sulle righe; leggere, creare, modificare ed eliminare sulle colonne. Evita ruoli impliciti.
- 02
Assegna la proprietà dei dati
Per ogni raccolta stabilisci proprietario, eventuale organizzazione e soggetti autorizzati. Un record senza confine esplicito è difficile da proteggere.
- 03
Applica i controlli sul backend
Verifica token, stato dell’account e permesso per ogni operazione sensibile. Il browser può migliorare l’esperienza, ma non deve concedere accesso.
- 04
Testa permessi e ciclo di vita
Prova sia le operazioni consentite sia quelle negate. Includi verifica email, recupero password, revoca sessioni, esportazione e cancellazione account.
Non inviare password, token, file .env o chiavi API private tramite form pubblici, chat o screenshot.
Autenticazione non significa autorizzazione
Il login identifica una persona; i permessi stabiliscono cosa può leggere o modificare. Ogni operazione sensibile deve controllare entrambe le cose sul backend.
Cosa controllare
- Verifica token e stato dell’account.
- Non fidarti di email o UID inviati dal browser.
- Distingui proprietario, collaboratore e amministratore.
Disegna i dati intorno alla proprietà
Ogni record dovrebbe avere un proprietario o un perimetro di accesso chiaro. Le query e le regole devono impedire che un utente indovini l’identificativo di dati altrui.
Cosa controllare
- Nega per impostazione predefinita.
- Valida campi e dimensioni lato server.
- Testa esplicitamente gli accessi negati.
Gestisci il ciclo di vita dell’account
Recupero password, verifica email, logout, cancellazione dei dati e revoca delle sessioni non sono dettagli successivi: fanno parte del prodotto operativo.
Cosa controllare
- Prevedi errori leggibili.
- Registra eventi di sicurezza senza contenuti sensibili.
- Documenta esportazione e cancellazione.
Come decidere il prossimo passo
Il modello è corretto quando un utente normale può accedere soltanto al proprio perimetro, un amministratore ha privilegi espliciti e ogni tentativo fuori perimetro viene negato anche chiamando direttamente il backend.
Hai un’app che non riesce a superare la fase di demo?
Descrivi cosa funziona, cosa manca e il risultato che vuoi ottenere. La richiesta viene valutata personalmente da Giambattista.