V09 — Configuración TOTP

Wireframe baja fidelidad · flujo completo: escanear QR / manual / preview / confirmación

Mobile — Modal con estados secuenciales

Se abre desde "Añadir código TOTP" en V07. Requiere permiso de cámara en iOS/Android.
Estado 1: Selección de método
Advertencia de seguridad destacada desde el inicio — decisión informada.
Estado 2a: Escaneando QR (cámara activa)
Detección automática — al reconocer QR válido, pasa directamente al estado 3 (preview).
"←" vuelve al estado 1 (selección de método).
Estado 2b: Entrada manual
Validación: mínimo 16 caracteres, solo A-Z y 2-7. "Continuar" deshabilitado hasta validación correcta.
Estado 3: Preview del código generado
Countdown visual actualizado en tiempo real — se regenera automáticamente cada 30s.
"Guardar" confirma y vuelve a V07 con TOTP configurado.
Estado 2a-alt: Permiso de cámara denegado
Si el usuario deniega el permiso de cámara, se ofrece acceso directo a configuración del sistema o fallback a entrada manual.

Desktop — Popover secuencial desde V07

Mismo flujo que mobile pero en popover. Si no hay cámara disponible, solo ofrece entrada manual.
Desktop: Selección de método (sin cámara)
Configurar TOTP
⚠️

Consideración de seguridad

Guardar códigos 2FA en el vault reduce la separación de factores. Úsalo solo cuando la conveniencia sea prioritaria.

Añadir autenticación 2FA
Introduce la clave secreta del servicio
Clave secreta TOTP
Formato: Base32, 16+ caracteres (A-Z, 2-7)
Desktop sin cámara = solo entrada manual. Si hay webcam disponible, se puede añadir opción de escaneo.
Desktop: Preview del código generado
Verificar código TOTP
Código configurado
Verifica que coincida con el servicio
482 913
18s
Etiqueta (opcional)
El código se almacenará cifrado en la entrada
Countdown se actualiza cada segundo — generación local vía RFC 6238 (TOTP estándar).

Estados de error y edge cases

Validaciones y feedback ante inputs inválidos.
Error: Clave inválida (entrada manual)
Validación en tiempo real — mensaje de error inline con borde rojo.
Error: QR no reconocido
Error temporal (desaparece tras 3s) — permite reintentar sin cerrar la cámara.