--login / --logout / --whoami sigue aceptándose como alias por compatibilidad retroactiva.
La autenticación es opcional. Las políticas, el panel de control, la página /audit y todas las demás funciones locales funcionan exactamente igual independientemente de si has iniciado sesión o no. La funcionalidad de inicio de sesión existe para que las características que necesitan una identidad estable (recordatorios de re-auditoría hoy, más en el futuro) tengan un punto de anclaje.
Flujo de inicio de sesión
~/.failproofai/auth.json (modo 0600). La misma sesión queda visible en el panel de control de la aplicación — al hacer clic en [ set a reminder ] en /audit, el sistema te reconocerá como autenticado.
El panel de control expone el mismo flujo como un diálogo modal en /audit para los usuarios que nunca usan la CLI.
Cerrar sesión
~/.failproofai/auth.json. Si el servidor de API no está disponible, el archivo local se elimina de todos modos — la intención local de cerrar sesión siempre prevalece.
Verificación de identidad
<email> (<uuid del usuario>) y termina con código 0 cuando existe una sesión válida, o not signed in y termina con código 1 en caso contrario. Renueva silenciosamente el token de acceso en segundo plano si está a menos de un minuto de expirar.
Recordatorio de re-auditoría persistente
Cuando haces clic en[ set a reminder ] en la página /audit (o inicias sesión a través del modal que activa ese botón), el panel de control escribe un pequeño archivo complementario en ~/.failproofai/next-audit.json:
0600, igual que auth.json.
El endpoint /api/auth/reminder del panel de control expone los métodos GET (leer), POST (establecer / reprogramar) y DELETE (eliminar), y requiere una sesión activa.
Contenido de ~/.failproofai/auth.json
0600 (solo lectura/escritura del propietario). El token de acceso es un JWT HS256 con validez de 1 hora; el token de actualización es una cadena aleatoria opaca de 256 bits que el servidor almacena como SHA-256(token). La reutilización del token de actualización se detecta en el servidor y revoca todas las sesiones del usuario.
Variables de entorno
| Variable | Valor predeterminado | Propósito |
|---|---|---|
FAILPROOF_API_URL | https://api.befailproof.ai | Reemplaza la URL base del servidor de API. Útil para el desarrollo local contra un servidor de API autohospedado. |
FAILPROOFAI_AUTH_DIR | ~/.failproofai | Reemplaza la ubicación donde se almacena auth.json. Principalmente para pruebas. |
Solución de problemas
“Could not reach the api-server” — la CLI no puede abrir una conexión TCP aFAILPROOF_API_URL. Verifica tu red, o configura FAILPROOF_API_URL si estás ejecutando un servidor de API autohospedado.
“Rate limited” — demasiados intentos de inicio de sesión en una ventana de 15 minutos para ese email (5/email) o IP (20/IP), o un período de espera de 30 segundos para reenviar tras la solicitud anterior del mismo email. El mensaje de error incluye el tiempo de espera antes de reintentar, expresado en segundos.
Código rechazado — el OTP era incorrecto, había expirado o la entrada alcanzó su bloqueo por 5 intentos fallidos. Ejecuta failproofai auth login de nuevo para solicitar un código nuevo.
