Token con caducidad
La sesión caduca a las 24 horas. No es una cookie eterna que sigue siendo válida seis meses después de que alguien te robara el portátil.
Quien tenga tu certificado de firma puede emitir comprobantes como si fueras tú. Todo lo que hicimos aquí sale de tomarnos esa frase en serio: tu certificado se guarda cifrado y no vuelve a salir en claro.
Certificado cifrado · verificación en dos pasos · sesiones que puedes cerrar a distancia
Un certificado de firma electrónica no es un archivo más: es la capacidad de emitir comprobantes fiscales en tu nombre. Si alguien se lleva el tuyo, no te roba datos: te suplanta ante el SRI.
Por eso el certificado se cifra antes de guardarse y la clave de cifrado vive fuera de la base. Tener una copia de la base de datos no basta para usarlo.
Acceso
Cada una cubre un fallo distinto de la anterior. Una contraseña filtrada no basta para entrar; un dispositivo robado no sigue dentro para siempre.
La sesión caduca a las 24 horas. No es una cookie eterna que sigue siendo válida seis meses después de que alguien te robara el portátil.
Cada dispositivo con el que entras queda registrado. Si pierdes uno, lo echas desde tu cuenta y deja de tener acceso en ese momento.
TOTP con la app que ya usas, y códigos de respaldo para el día que cambies de teléfono.
Quince intentos fallidos en una hora y la cuenta se bloquea media hora. Suficiente para frenar un ataque por fuerza bruta sin castigar a quien se equivocó de contraseña.
Los datos
La seguridad que se añade al final es una capa de pintura. Estas son de arquitectura: cambiarlas ahora significaría reescribir cosas.
Tu .p12 se valida al subirlo y se guarda cifrado con AES-256-GCM dentro de la base. No queda un archivo suelto en una carpeta del servidor esperando a que alguien lo copie.
PostgreSQL sólo acepta conexiones desde la propia máquina, en un puerto que no está publicado. El único que le habla es la API, con un rol de privilegios mínimos.
Contraseñas, tokens, claves de cifrado, el contenido del certificado y su clave: hay una lista explícita de campos que se tachan antes de escribir cualquier línea de log.
Ninguna ruta de la API es pública salvo que se marque como tal, una a una. El error habitual es al revés —abrir todo y proteger lo importante—, y basta olvidarse de una.
El certificado y los logotipos viajan dentro de datos validados, no como envío de fichero. Se elimina de raíz toda una familia de ataques que empieza por subir algo que no era una imagen.
Los comprobantes contienen nombres, cédulas y direcciones de tus clientes. Están sujetos a la ley ecuatoriana de protección de datos y se guardan en consecuencia.
Los comprobantes que emites llevan dentro nombres, cédulas y direcciones de tus clientes. No son tus datos: son datos de terceros que te confiaron a ti, y el sistema los trata como tales.
Conversemos por WhatsApp y te configuramos la cuenta en menos de un día. Sin contratos largos y sin cargos por documento.