Skip to main content
La forma legacy con flag --login / --logout / --whoami è ancora accettata come alias per compatibilità retroattiva. L’autenticazione è facoltativa. Le politiche, la dashboard, la pagina /audit e tutte le altre funzioni locali funzionano esattamente allo stesso modo, che tu sia connesso o meno. La pagina di accesso esiste affinché le funzioni che richiedono un’identità stabile (promemoria per la re-audizione oggi, altre in futuro) abbiano un punto di ancoraggio.

Flusso di accesso

Richiede la tua email, invia un codice monouso di 6 cifre a quell’indirizzo, richiede il codice e, in caso di successo, scrive ~/.failproofai/auth.json (modalità 0600). La stessa sessione è quindi visibile nella dashboard dell’app — facendo clic su [ set a reminder ] su /audit ti vedrà come connesso. La dashboard espone lo stesso flusso come finestra di dialogo modale su /audit per gli utenti che non toccano mai la CLI.

Disconnessione

Revoca la sessione corrente sul server ed elimina ~/.failproofai/auth.json. Se il server API non è raggiungibile, il file locale viene comunque rimosso — l’intenzione locale di disconnessione ha sempre priorità.

Verifica identità

Stampa <email> (<user uuid>) ed esce con codice 0 quando esiste una sessione valida, oppure stampa not signed in ed esce con codice 1 in caso contrario. Aggiorna silenziosamente il token di accesso in background se è a meno di un minuto dalla scadenza.

Promemoria persistente per re-audizione

Quando fai clic su [ set a reminder ] sulla pagina /audit (o accedi tramite la finestra modale che il pulsante attiva), la dashboard scrive un piccolo file companion in ~/.failproofai/next-audit.json:
Questo file è limitato all’email per cui è stato impostato — cambiando la sessione CLI su un account diverso nascondi qualsiasi promemoria appartenente all’utente precedente. L’offset predefinito è 7 giorni, configurabile in seguito quando lo scheduler sarà disponibile. Creato con permessi 0600 come auth.json. L’endpoint /api/auth/reminder della dashboard espone GET (lettura), POST (imposta / riprogramma) e DELETE (cancella) e richiede una sessione attiva.

Cosa contiene ~/.failproofai/auth.json

Creato con permessi 0600 (lettura/scrittura solo proprietario). Il token di accesso è un JWT HS256 di 1 ora; il token di refresh è una stringa casuale opaca di 256 bit che il server memorizza come SHA-256(token). La riproduzione del token di refresh viene rilevata lato server e revoca tutte le sessioni per l’utente.

Variabili di ambiente

Consulta Variabili di ambiente per l’elenco completo.

Risoluzione dei problemi

“Could not reach the api-server” — la CLI non può aprire una connessione TCP a FAILPROOF_API_URL. Controlla la tua rete o imposta FAILPROOF_API_URL se stai utilizzando un server API self-hosted. “Rate limited” — troppi tentativi di accesso in una finestra di 15 minuti per quell’email (5/email) o IP (20/IP), oppure un cooldown di ripetizione di 30 secondi dopo la richiesta precedente per la stessa email. Il messaggio di errore include la finestra retry-after in secondi. Code rejected — l’OTP era errato, scaduto, oppure la riga ha raggiunto il blocco di 5 tentativi sbagliati. Esegui nuovamente failproofai auth login per richiedere un codice nuovo.