Se provocaron 4 eventos: 1 login fallido de prueba.observador (sin bloqueo), 1 login correcto de la misma cuenta (reinicia el contador), 1 respuesta 401 sin cookie y 1 respuesta 403 del observador.
Se leyeron los logs de Render con render-nara.js logs.
Resultado:
El código ya registra en la colección access_log el login correcto, el fallido y el bloqueado, y los 401/403 de requireRoles. Hay una alerta dentro de la app ante 20 fallos en 10 minutos.
Los eventos no aparecen en Render ([]). Que hayan quedado en access_log no se verificó, porque habría que leer la base.
Brechas:
no se guarda la IP ni la ruta;
el correo queda en claro;
no se registran los 403/404 por alcance de objeto ni el 401 de /auth/me;
la alerta no sale por correo ni por webhook;
no hay retención definida;
cualquier petición anónima escribe un registro en la base.