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

Flusso di accesso

Richiede la tua email, invia un codice monouso a 6 cifre a quell’indirizzo, richiede il codice e al termine scrive ~/.failproofai/auth.json (permessi 0600). La stessa sessione sarà quindi visibile nella dashboard in-app — cliccando su [ imposta un promemoria ] in /audit ti vedrà come connesso. La dashboard espone lo stesso flusso come finestra di dialogo modale su /audit per gli utenti che non usano mai la CLI.

Disconnessione

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

Controllo identità

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

Promemoria persistente di re-audit

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

Cosa contiene ~/.failproofai/auth.json

Creato con permessi 0600 (lettura/scrittura solo del 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 archivia come SHA-256(token). La riproduzione del token di refresh viene rilevata lato server e revoca ogni sessione dell’utente.

Variabili di ambiente

Vedi Variabili di ambiente per l’elenco completo.

Risoluzione dei problemi

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