Saltar al contenido

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.

En una oficina sobre la ciudad al anochecer, un editor web actualiza la página de una de varias marcas, con la vista previa del móvil al lado

De un vistazo

Cliente
Globalia
Sector
Viajes y turismo
Año
2026
Servicios
BuildGrow
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.

Un portátil en un puesto de una oficina diáfana una mañana de lluvia, con una intranet de empleados: la portada, las noticias y los accesos rápidos, mientras pasan compañeros al fondo.
Escena recreada

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?
Sí, con consultas delta de Microsoft Graph: cada ejecución trae solo lo que ha cambiado, no el directorio entero. Donde casi todo el mundo se equivoca es en el tamaño. Una sincronización que se reinicia en cada ejecución nunca termina a escala de un grupo grande, así que esta se hizo reanudable: el enlace de continuación se guarda, cada ejecución tiene su presupuesto de tiempo y la siguiente sigue donde lo dejó la anterior. Hoy mantiene sincronizado el directorio entero de un gran grupo. Los empleados entran con su propia cuenta de Microsoft 365, y el directorio sirve los datos en tres capas de privacidad, así que la información profesional, el contacto corporativo y los datos personales no son el mismo conjunto de datos.
¿Es seguro dar a cada empleado una tarjeta de visita en Apple Wallet y Google Wallet?
Lo es, si la firma se queda en el servidor y la tarjeta se trata como lo que es, una página pública. Los pases de Apple se firman con manifiesto y PKCS#7, los de Google con un JWT firmado con RS256, y ninguna clave de firma llega nunca al navegador. Los datos de contacto solo se sirven con un token de acceso firmado, estable por tarjeta para que los QR impresos sigan funcionando. Los campos que pueden aparecer van por lista blanca con campos prohibidos explícitos, el móvil está desactivado por defecto y las tarjetas no se indexan.
¿Hay que rehacer la web en HTML estático para que los asistentes de IA la lean?
No. La generación estática es la mejor respuesta a largo plazo, pero no es la única, y sobre una web corporativa viva pocas veces es la más rápida. Aquí, el middleware de borde inyecta título, descripción, canonical, hreflang, Open Graph, JSON-LD y un cuerpo real con encabezado y párrafos, solo para los rastreadores. Los humanos siguen recibiendo la aplicación intacta, y ni el build ni la aplicación cambian. Resultado medido: una noticia entrega hoy 11.421 caracteres de contenido legible a los rastreadores, y 707 artículos del histórico son legibles. Conviene mirar antes si tus reglas de robots excluyen a los rastreadores de IA, porque muchas todavía lo hacen.

Por ejemplo: 100 / 100 / 100 Lighthouse móvil: accesibilidad, buenas prácticas, SEO. KD.tech

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.

¿Qué necesitas?
Presupuesto
Plazo

Al menos diez caracteres.

Respuesta por escrito en 48 horas laborables. Sin boletines ni correos automáticos.

¿Prefieres el encargo completo?

Primer paso

Discovery Sprint

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?

Estudio digital nativo en IA para empresas medianas

POLARGATE, S.L. · CIF B24895005
Calle Electrónica 6, 28027 Madrid, España