Salta ai contenuti

FAQ Sicurezza e privacy

Risposte alle domande su sicurezza, privacy e protezione dei dati in XIQUIL.

I tuoi dati sono esclusivamente sul tuo dispositivo (computer, NAS o server). XIQUIL e un’applicazione self-hosted: non esiste un server centrale, nessun servizio cloud, nessun dato inviato a terzi.

I dati risiedono in tre posizioni:

  • Database PostgreSQL: tutti i dati strutturati (uscite, entrate, fondi, ecc.)
  • Volume data: allegati caricati (PDF, immagini), certificati TLS, configurazione
  • Volume backup: backup del database (se configurati)

L’applicazione XIQUIL non comunica con nessun server esterno durante il funzionamento normale. Le uniche eccezioni:

  • Verifica licenza (opzionale): se hai una licenza Starter/Pro/Business, l’app verifica il token JWT con l’Hub una volta al giorno per aggiornare i valori della licenza. Se il check fallisce, la licenza continua a funzionare con gli ultimi valori ricevuti
  • Notifiche push (opzionale): se usi l’app mobile, le notifiche push passano per i server Expo (Apple/Google)

XIQUIL usa JWT (JSON Web Token) in cookie HTTP-only:

  • Access token: durata configurabile dall’admin (default 60 minuti), rinnovato automaticamente all’80% della scadenza
  • Refresh token: valido 30 giorni con “Ricordami”, 24 ore senza. Legato al dispositivo
  • Cookie Secure + SameSite: i token non sono accessibili da JavaScript e non vengono inviati a siti terzi
  • CSRF protection: token anti-cross-site-request-forgery su tutte le operazioni mutanti
  • Multi-tab: le sessioni si coordinano tra tab aperti per evitare conflitti durante il rinnovo

Le password sono criptate con bcrypt (hashing a senso unico — nemmeno l’admin puo leggerle).

La checkbox “Ricordami per 30 giorni” nella schermata di login controlla la durata della sessione:

  • Selezionata: la sessione sopravvive alla chiusura del browser e dura 30 giorni (rinnovati ad ogni utilizzo)
  • Non selezionata: la sessione viene cancellata alla chiusura del browser, con un limite massimo di 24 ore

La preferenza viene ricordata automaticamente per il prossimo login.

Se la sessione scade (per scadenza naturale, chiusura browser senza “Ricordami”, o pulizia notturna), vieni reindirizzato automaticamente alla pagina di login con il messaggio “Sessione scaduta”. Se hai piu tab aperte, tutte vengono reindirizzate contemporaneamente.

MFA (Multi-Factor Authentication) aggiunge un secondo livello di sicurezza al login. Oltre alla password, devi inserire un codice generato dall’app authenticator sul tuo telefono.

Come attivarla:

  1. Vai in Impostazioni > Sicurezza
  2. Clicca “Abilita MFA”
  3. Scansiona il QR code con un’app authenticator (Google Authenticator, Authy, 1Password, ecc.)
  4. Inserisci il codice di verifica
  5. Salva i codici di recupero in un posto sicuro

Dispositivi fidati: dopo il primo MFA su un dispositivo, puoi marcarlo come “fidato” per un certo numero di giorni (configurabile dall’admin, default 30). I dispositivi fidati saltano la verifica MFA.

XIQUIL traccia ogni dispositivo da cui accedi (browser, app mobile, API). Puoi:

  • Vedere tutti i tuoi dispositivi in Impostazioni > Dispositivi
  • Revocare l’accesso a un dispositivo sospetto
  • Ricevere una notifica quando qualcuno accede da un nuovo dispositivo

Se un admin revoca un dispositivo, la sessione su quel dispositivo viene terminata immediatamente.

I backup possono essere crittografati con AES-256-GCM:

  • Crittografia opzionale, configurabile dall’admin
  • Password necessaria per il ripristino
  • Derivazione della chiave con PBKDF2-SHA256 (100.000 iterazioni)
  • Senza la password, il backup e irrecuperabile

Cosa succede se qualcuno prova ad accedere con la mia email?

Sezione intitolata “Cosa succede se qualcuno prova ad accedere con la mia email?”

XIQUIL protegge dagli attacchi brute force:

  • Dopo 10 tentativi falliti in 15 minuti, l’account viene bloccato temporaneamente per 15 minuti
  • Gli admin ricevono una notifica di sicurezza con l’IP dell’attaccante
  • Il sistema e protetto contro l’enumerazione degli utenti (risposte identiche per email valide e non)

Le API key (prefisso cs_) sono:

  • Criptate nel database (SHA-256)
  • Legate a un singolo utente
  • Monitorabili (IP, user-agent, conteggio richieste)
  • Revocabili in qualsiasi momento
  • Non richiedono MFA (sono gia un fattore separato)

XIQUIL mantiene un registro operazioni (audit trail) immutabile:

  • Ogni creazione, modifica e cancellazione viene registrata
  • Include chi ha fatto l’operazione, quando e da quale dispositivo/IP
  • I dati prima e dopo la modifica vengono salvati (per confronto)
  • Il registro e protetto da un trigger PostgreSQL che impedisce modifiche

L’accesso al registro operazioni e riservato agli utenti con permessi sulla funzionalita “Log”.