Caso · Viajes y turismo
Globalia.
Globalia, el grupo turístico español, quería reunir a su gente y su web pública en una sola plataforma. Polargate la construyó sobre un único repositorio: el directorio de empleados sincronizado desde Microsoft 365, una tarjeta de visita digital con pases de Apple Wallet y Google Wallet, y la web pública del grupo, hecha legible para los rastreadores de IA sin rehacerla.

De un vistazo
- Cliente
- Globalia
- Sector
- Viajes y turismo
- Año
- 2026
- Web publicada
- globalia.com
- Stack
- ViteReactTypeScriptTailwind CSSshadcn/uiSupabasePostgreSQLDenoMicrosoft 365Microsoft Entra IDVercel
01 · Globalia
El reto.
Globalia tiene varias marcas de consumo y quería que su plataforma interna y su web pública dieran juntas un paso más. El grupo quería un directorio de empleados que siguiera el ritmo de Microsoft 365 a la escala de un gran grupo, una tarjeta y una identidad por marca, y una web pública cuyo histórico de noticias pudieran leer y citar los asistentes a los que hoy se pregunta en lugar de a un buscador.
Por ejemplo: 99 tests automáticos escritos para el módulo, partiendo de cero. NationwideLegal
02 · Globalia
Lo que construimos.
Polargate lo construyó todo como una sola plataforma web sobre un único repositorio, así que la parte interna y la web pública comparten código, compilación y despliegue. La sincronización del directorio funciona con consultas delta de Microsoft Graph y es reanudable, con el enlace de continuación guardado y presupuesto de tiempo por ejecución, y los empleados entran con su propia cuenta de Microsoft 365, así que las cuentas siguen bajo el control del grupo. El directorio aplica privacidad en tres capas y sirve los avatares firmados y con caducidad. Encima va la tarjeta de visita digital: se auto-provisiona desde el directorio, la reclama el empleado al entrar por SSO sin que cambie su enlace público, con los pases de Wallet firmados en servidor y los datos de contacto servidos solo contra un token de acceso firmado. Cada marca del grupo se asigna por dominio de correo. En la web pública, un middleware de borde inyecta contenido real solo para los rastreadores, sin migrar a generación estática y sin tocar la aplicación.

Por ejemplo: 2 idiomas publicados en la web, español e inglés. Global Dynamic Security Group
03 · Globalia
El resultado.
El directorio está al día con Microsoft 365 ejecución tras ejecución. En la web pública, una noticia entrega hoy 11.421 caracteres de contenido legible a los rastreadores, y 707 artículos del histórico son legibles. En el diagnóstico de agosto de 2026 la base de datos mostraba 39 tablas con RLS activa y cero errores, con las políticas RLS consolidadas en una por rol y acción. Antes del despliegue: typecheck, 18 tests, la compilación web y la de la app en verde, y 20 rutas revisadas en escritorio y móvil.
- repositorio para la plataforma interna, el directorio y la web pública
- 1
- caracteres de contenido real que un rastreador de IA recibe de una noticia
- 11.421
- artículos del histórico de noticias ya legibles por los rastreadores de IA
- 707
- tablas con RLS activa y cero errores en el diagnóstico de agosto de 2026
- 39
Por ejemplo: 6 cabeceras de seguridad habituales que faltaban antes del trabajo. Empresa de servicios B2B, Europa
04 · Globalia
Cómo lo hicimos.
Por ejemplo: 11 módulos entregados en la Fase 1. Elite Smart Build
El contexto
Globalia es un grupo turístico español con varias marcas de consumo. Polargate construyó la plataforma web corporativa del grupo: una plataforma web interna con el directorio de empleados sincronizado desde Microsoft 365, una tarjeta de visita digital con pases de Apple Wallet y Google Wallet, y la web pública del grupo, todo sobre un mismo repositorio.
Un solo repositorio no es un detalle. La parte interna y la web pública comparten el mismo código, la misma compilación y el mismo despliegue, así que un cambio de marca se hace una vez y no una por sitio. El stack es React, Vite, TypeScript, Tailwind y shadcn/ui en el frontend, Supabase en el backend (Postgres con RLS, Edge Functions en Deno, Storage y Auth), Microsoft Graph para el directorio y el inicio de sesión, Apple PassKit y la API de Google Wallet para los pases, y Vercel como hosting. El backend vive en un único proyecto de Supabase propio.
El directorio: consultas delta y una sincronización reanudable
Los empleados entran con su propia cuenta de Microsoft 365, y el directorio lee de ese mismo Microsoft 365, así que las cuentas siguen bajo el control del grupo y ningún dato de una persona se vuelve a teclear en un segundo sistema.
La sincronización usa consultas delta de Microsoft Graph, así que cada ejecución trae solo lo que ha cambiado en lugar de arrastrar el directorio entero otra vez.
La sincronización es reanudable por diseño: el enlace de continuación se guarda, cada ejecución tiene su presupuesto de tiempo y la siguiente sigue donde lo dejó la anterior en lugar de empezar de cero. Eso es lo que permite que termine una sincronización a la escala de un gran grupo.
Los duplicados se resuelven con una regla de fusión por identidad, reversible, que une los alias de una misma persona y nunca fusiona a dos personas distintas que coincidan de nombre.
Tres capas de privacidad
Un directorio de empleados es dato personal, así que no es un solo conjunto de datos. Son tres. La capa pública lleva la información profesional. La segunda, el contacto corporativo. La tercera, los datos personales, está detrás de un permiso explícito. Los avatares se sirven firmados y con caducidad, para que la URL de una foto no sea una puerta permanente.
La tarjeta de visita digital
Cada empleado tiene su página pública de tarjeta, con ruta espejo en inglés, descarga de vCard, botones de Apple Wallet y Google Wallet y un código QR de marca. Las tarjetas se auto-provisionan desde el directorio y se reclaman solas cuando el empleado entra por SSO, sin que cambie su enlace público, así que lo que ya esté impreso sigue valiendo.
Los pases se firman en el servidor, nunca en el navegador
Los de Apple, con manifiesto con hash por fichero y firma PKCS#7. Los de Google, con un JWT firmado con RS256. Los pases usan QR, no NFC.
Los datos de contacto solo se sirven con un token de acceso firmado, estable por tarjeta para que los QR impresos no caduquen. El contrato de campos funciona por lista blanca, con campos prohibidos explícitos, el móvil desactivado por defecto y una función de saneado como defensa en profundidad. Las tarjetas no se indexan.
La vCard se genera conforme a RFC 2426, con la foto incrustada en base64 porque iOS no importa fotos por URL, y con una ayuda visual que enseña al usuario qué botón guarda el contacto.
Multiempresa por dominio de correo
Globalia es un grupo de varias empresas, así que la plataforma es multiempresa. Cada marca se asigna por dominio de correo y lleva su propio nombre e identidad en la tarjeta. El control de acceso es por roles y está verificado.
La web pública, legible para los asistentes de IA
Una aplicación web moderna se pinta en el navegador, y casi ningún rastreador de IA ejecuta JavaScript. El lector y el rastreador no reciben la misma página, y cerrar esa distancia era el trabajo en la web pública.
Lo hicimos sin migrar la web a generación estática. El middleware de borde inyecta, solo para los rastreadores, título, descripción, canonical, hreflang, Open Graph, JSON-LD y un cuerpo real con encabezado y párrafos. Los humanos siguen recibiendo la aplicación intacta, y ni el build ni la app cambian.
Lo que importa son las cifras. Una noticia entrega hoy a un rastreador 11.421 caracteres de contenido legible. En seis rutas y sus espejos de idioma, los rastreadores reciben ahora 756 caracteres en portada y de 200 a 260 en interiores. 707 artículos del histórico son legibles.
Qué más lleva dentro
Las notificaciones no hacen fan-out: una notificación es una única fila con audiencia, y el feed de cada usuario se calcula al vuelo respetando sus preferencias y los tipos obligatorios. Hay un tablón visual de beneficios y ofertas, publicado por el equipo de personas y visible para toda la plantilla. La plataforma es además una PWA instalable que avisa al usuario cuando hay actualización, y usa Supabase Realtime en lugar de sondeo periódico.
Dónde está hoy
Medido, no proyectado. En el diagnóstico de agosto de 2026: 39 tablas con RLS activa y cero errores, y las políticas RLS consolidadas en una por rol y acción, que se lee mejor y cuesta menos de ejecutar.
De peso: recodificar los 153 fotogramas del hero de portada a WebP lo bajó un 38% sin cambio visual, un componente pasó de 739 KB a 3,6 KB al cargar solo los iconos que usa, y una librería de gráficos de 423 KB se movió a carga diferida.
Antes del despliegue: typecheck, 18 tests, la compilación web y la de la app en verde, y 20 rutas revisadas en escritorio y móvil.
FAQ
Preguntas sobre este proyecto.
¿Podemos sincronizar el directorio de empleados desde Microsoft 365 sin copiarlo a mano?
¿Es seguro dar a cada empleado una tarjeta de visita en Apple Wallet y Google Wallet?
¿Hay que rehacer la web en HTML estático para que los asistentes de IA la lean?
Por ejemplo: 100 / 100 / 100 Lighthouse móvil: accesibilidad, buenas prácticas, SEO. KD.tech
Mismo sector
Más proyectos del sector.
Otros proyectos para empresas que se encuentran con los mismos problemas.

NationwideLegal
Servicios de apoyo jurídicoEl CRM de NationwideLegal, sobre Odoo 18
313 ms en leer los campos nuevos sobre 400 registros reales de producción
BuildCare

Global Dynamic Security Group
Seguridad privada, República DominicanaMarca y web bilingüe para Global Dynamic Security Group
15 páginas del manual de identidad
Build
Por ejemplo: 536/536 claves de traducción presentes en cada uno de los tres idiomas. Estepona Golf
Siguiente proyecto
Empresa de servicios B2B, Europa.
Servicios B2B
Endurecer una web corporativa que un filtro DNS bloqueaba
Por ejemplo: 4 días del diagnóstico al backend nuevo funcionando. Concert Music Festival
Empezar
Cuéntanos qué quieres construir.
Webs, apps, sistemas a medida e IA para empresas que los necesitan en producción en semanas. Rellena el formulario o reserva una llamada de 30 minutos: un ingeniero senior responde en 48 horas laborables con una primera lectura de alcance, plazo y precio.
Primer paso
Dos semanas para cerrar alcance, arquitectura y precio antes de construir nada.
Sin lista de precios. Recibes un presupuesto privado, por escrito, tras una llamada corta.
Después, para construir, siempre a precio cerrado
¿Aún no es el momento?
- Auditoría de visibilidad en IAPago único, precio cerrado.
