Salta ai contenuti

Audit di Sicurezza

Chiedi all’AI di analizzare la postura di sicurezza della tua app, segui le best practice riportate di seguito e conserva i segreti nella pagina Settings.

La sicurezza in Proyecta è gestita da una combinazione di impostazioni predefinite della piattaforma, revisioni guidate dall’AI e alcune abitudini che dovresti adottare. Ecco come affrontare l’argomento.

Apri la Command Palette (Cmd+K / Ctrl+K) e seleziona Run Security Audit. Questo invia all’AI un prompt di sicurezza completo: l’AI legge l’intero codebase e individua le vulnerabilità con risultati prioritizzati e correzioni specifiche.

L’audit verifica:

  • Chiavi API, token o password hardcoded nei file sorgente
  • Variabili d’ambiente con prefisso VITE_ che espongono segreti al client
  • Mancanza di validazione degli input lato server sugli endpoint API
  • Pagine o endpoint API privi di autenticazione
  • Contenuto utente non sanitizzato (rischi XSS)
  • Vulnerabilità nelle dipendenze
  • Contenuto misto o URL http:// hardcoded
  • Mancanza di validazione per i file caricati

Puoi anche eseguire un audit di sicurezza manualmente dalla chat, oppure limitarlo a un’area specifica:

  • "Review my checkout flow for security issues"
  • "Check the admin pages — who can access what?"
  • "Look at every endpoint that writes to the database and tell me if any of them are missing authorization"

Mantieni i segreti al sicuro

  • Salva ogni chiave API, credenziale di database e token di terze parti nella sezione Variabili d’Ambiente della pagina Settings
  • Non incollare mai segreti nei messaggi della chat né includerli nel codice tramite commit
  • Se un segreto viene esposto, revocalo immediatamente presso il provider di terze parti e creane uno nuovo

Limita gli accessi

  • Implementa permessi basati sui ruoli nella tua app ("Add admin and member roles. Only admins can access /admin pages.")
  • Limita le pagine e gli endpoint sensibili agli utenti autenticati
  • Valida sempre l’input degli utenti lato server, mai solo lato client

Usa HTTPS ovunque

  • Tutte le app Proyecta pubblicate vengono servite automaticamente tramite HTTPS
  • I certificati SSL vengono generati e rinnovati per te
  • Per i domini personalizzati, lo stesso vale non appena il DNS è configurato correttamente

Mantieni le dipendenze aggiornate

  • Chiedi periodicamente all’AI: "Check my dependencies for known security vulnerabilities and upgrade the vulnerable ones."
  • Controlla le modifiche apportate dall’AI — gli aggiornamenti delle dipendenze possono talvolta introdurre breaking change

Esegui un audit dopo modifiche significative

  • Ripeti l’audit dopo aver aggiunto autenticazione, pagamenti, upload di file o qualsiasi funzionalità che gestisce dati degli utenti
  • Prima di pubblicare in produzione per la prima volta, effettua una revisione completa
  • HTTPS e certificati per il tuo sottodominio *.proyecta.live
  • Variabili d’ambiente — i segreti sono conservati in un archivio dedicato e sincronizzati con il backend della tua app (Convex), senza mai essere inclusi nel codebase tramite commit. Nota: i segreti sono visibili ai membri del workspace che hanno accesso al progetto.
  • Runtime isolati — ogni progetto gira nel proprio container, quindi i problemi nell’ambiente di sviluppo non influenzano gli altri utenti
  • Esegui un audit prima della prima pubblicazione — una revisione completa individua i problemi prima che vadano live.
  • Ripetilo dopo modifiche significative — aggiungere autenticazione, pagamenti o upload di file introduce nuove superfici d’attacco.
  • Restringi il campo d’analisi — gli audit su aree specifiche sono più rapidi e approfonditi rispetto a quelli sull’intera app.