Los pasos exactos para dejar esto funcionando, con los valores listos para copiar. Esta página es
privada (solo la ve un administrador logueado) y su hosting es gratis (Vercel + el login de Supabase).
Verificando permisos…
Sin acceso. Esta guía es solo para administradores de la plataforma.
1 Login con Google gratis
Para que entren otros usuarios sin depender del correo (que hoy solo te llega a ti). Es el desbloqueo real.
⚠️ MODELA es compartido con PIA RAG en producción. Activar Google es aditivo (no toca el magic link),
pero no toques el «Site URL» — es global del proyecto.
M Login con Microsoft para modela.cl
El dominio modela.cl usa Microsoft 365 (verificado por sus registros MX) → tu equipo entra con su cuenta Microsoft, no con Google.
¿Necesitas a IT de modela? Casi seguro que no: los permisos son mínimos (email/perfil), que cada usuario aprueba solo al entrar; y el registro de apps suele estar habilitado por defecto. Pruébalo con tu cuenta modela.cl — si te deja crear la app, listo. Solo necesitarías a IT si el tenant tiene bloqueado el «registro de aplicaciones» (raro).
Nombre «RADAR». En Supported account types: «Accounts in any organizational directory and personal Microsoft accounts» (o solo modela.cl si quieres restringir).
Certificates & secrets → New client secret → copia el Value (no el Secret ID).
Abre Supabase → Providers, entra a Azure, actívalo y pega Client ID + Secret. Guarda.
Si elegiste «solo modela.cl» (single-tenant), en Supabase → Azure llena también Azure Tenant URL con https://login.microsoftonline.com/<tu-tenant-id>. Para multi-tenant, déjalo vacío. (Y como siempre: no toques el «Site URL».)
2 Confirmar que sigues siendo admin
Tu rol admin está atado a tu user_id. Si Google te crea uno nuevo, no serías admin de entrada.
Entra una vez con Google. Si en el hub aparece 🛡️ Admin, listo, ya eres admin.
insert into centinela.roles (user_id, rol)
values ('PEGA_AQUI_TU_UID', 'admin')
on conflict (user_id) do update set rol = 'admin';
copiar el SQL de arriba
3 Hosting: gratis y privado vs. pagado
Qué necesitas pagar (spoiler: casi nada) para dejarlo funcionando.
Ya tienes gratis y privado. El front vive en Vercel (plan free) y el acceso lo cierra el login de Supabase: solo entra quien tiene cuenta. Esta misma página es la prueba. US$0
GitHub Pages NO sirve aquí: es público (no privado) en el plan free y no puede correr el motor (Python). Sería un front redundante del que ya tienes.
El único pago recomendado es Render Starter: el motor deja de dormirse (hoy tarda ~50 s en despertar) y los radares de monitoreo persisten. US$7/mes — opcional, no urgente. Render dashboard.
Vercel Pro (US$20/mes) solo es obligatorio el día que le cobres a alguien (el plan free prohíbe uso comercial). Hoy no.
En resumen: para probar y usarlo entre ustedes, US$0. Para una demo fluida a un cliente, los US$7 de Render. Recién al cobrar, +US$20 de Vercel.
4 Limpieza: borrar los backups expuestos
Las tablas de respaldo del AFP tienen RLS apagado (legibles con la anon key). Ya no se necesitan.
drop table if exists centinela._backup_afpdemo_20260721;
drop table if exists centinela._backup_afp_premedios_20260721;
drop table if exists centinela._backup_congreso_20260721;
drop table if exists centinela._backup_afp_premx_20260721;