admin/auth.py — dependencia X-Admin-Token con secrets.compare_digest 4 templates HTML — funcionales, sin framework frontend main.py — arranca admin en thread daemon; si ADMIN_TOKEN está vacío, no inicia el panel Puerto 9090 (separado de health en 8080) Cédula nunca expuesta — aparece como ***