Volver al Blog
Plataforma

Integridad de las API del navegador entre realms

Comprende qué realm posee una API del navegador y por qué la reflexión es una observación limitada de compatibilidad, no una señal de identidad.

BotBrowser Team

Documentación

Quieres la documentación estructurada de Plataforma?

Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.

BotBrowser puede repetir un flujo autorizado de API de Window, Worker e iframe en un contexto controlado declarado y comparar resultados visibles. No puede hacer idénticas las API de los realms, conceder acceso entre orígenes ni certificar la privacidad en producción; la aplicación sigue siendo responsable de la propiedad, la política de origen, la accesibilidad y la minimización de datos.

La propiedad de la API pertenece al realm

WHATWG describe un realm como un entorno de ejecución con su propio objeto global e intrínsecos. Por eso la Window principal, un Worker dedicado y el documento de un iframe poseen objetos de API separados. Un valor como Array o fetch debe interpretarse en el realm que lo expone, no como un objeto universal del navegador.

El modelo de ejecución de JavaScript de MDN también separa contextos de ejecución, trabajos y agentes. Un Worker no tiene DOM de documento, mientras que un iframe tiene su propio documento y contexto de políticas. Una operación disponible en un realm puede no estar disponible o estar restringida en otro. El contrato útil nombra al propietario, la capacidad requerida y la alternativa.

Los mensajes conservan límites explícitos

Window e iframe pueden usar postMessage, y un Worker puede intercambiar mensajes con su propietario. El structured clone crea valores propiedad del receptor; no conserva la identidad del objeto emisor. Los transferibles como ArrayBuffer mueven la propiedad y dejan al emisor sin poder usar el recurso original.

Define para cada mensaje una versión, operación, carga limitada y respuesta esperada. Valida event.origin y el esquema antes de usar los datos. Una comprobación de origen identifica un origen web, no una autorización empresarial. Tras una navegación del iframe, vuelve a comprobar origen y protocolo antes de aceptar una respuesta.

La reflexión tiene un significado limitado

La reflexión puede responder si una propiedad de API está expuesta o si un valor tiene forma invocable en este realm. No demuestra que la implementación esté completa, que otro realm se comporte igual ni que un navegador, dispositivo o persona tenga una identidad concreta. Constructores, nombres de propiedades y textos de excepción pueden variar por versión y política.

Usa reflexión solo para la operación necesaria y ejercita después la ruta compatible con datos sintéticos. La presencia de una propiedad no prueba que permisos, activación del usuario, red, renderizado o accesibilidad funcionen. Registra el contexto declarado y el resultado visible, no un inventario innecesario del objeto global.

Alternativa accesible y respetuosa con la privacidad

Cuando una capacidad de Worker o iframe no está disponible, muestra un estado legible, conserva el foco del teclado y ofrece una alternativa local o renderizada por el servidor. Un tiempo de espera o mensaje rechazado debe tener una recuperación visible y reintentos limitados. La accesibilidad pertenece al contrato de la aplicación, no a una clasificación del navegador.

Envía entre realms solo el registro mínimo necesario. Evita copiar estado de página, cuentas, tokens o inventarios de diagnóstico. Elimina los diagnósticos sintéticos tras la revisión y documenta la retención. Una etiqueta de realm o resultado de reflexión no debe convertirse en una dimensión analítica oculta ni en un identificador persistente.

Lista de comprobación de integridad de API

  • Nombra el realm propietario: Window, Worker o documento iframe.
  • Indica la operación de API necesaria y su alternativa compatible.
  • Define esquema versionado, comprobación de origen, tiempo de espera y responsable de limpieza.
  • Trata los valores clonados como propiedad del receptor y los recursos transferidos como propiedad movida.
  • Prueba con datos sintéticos, recuperación visible, teclado y retención mínima.
  • Registra contexto y resultado sin inferir identidad ni paridad universal.

Capacidad y limitación de BotBrowser

Los contextos controlados de BotBrowser pueden repetir este flujo autorizado con un perfil declarado y comparar resultados visibles entre contextos aislados. No pueden hacer idénticas las API de Window, Worker e iframe, conceder acceso entre orígenes, autenticar mensajes ni convertir la reflexión en prueba de privacidad, anonimato, identidad del dispositivo o seguridad de producción.

Fuentes

Lecturas relacionadas: consistencia del navegador entre realms y privacidad del navegador entre superficies.

Propiedad de API de Window, Worker e iframe con límites explícitos de mensajes.

#API Del Navegador#Window#Worker#Iframe#Privacidad

Lleva BotBrowser de la investigación a producción

Usa estas guías para entender el modelo y después avanzar hacia validación multiplataforma, contextos aislados y despliegue de navegador preparado para escalar.