Enrutamiento Soberano: Configuración de Túneles Reversos con Geocercas para Cumplimiento de Residencia de Datos

Quick answer
Enrutamiento Soberano: Configuración de Túneles Reversos con Geocercas: localhost tunnel answer
A localhost tunnel gives your local app a public HTTPS URL without opening router ports, which is useful for demos, QA, mobile testing, and provider callbacks.
How do I expose localhost without opening ports?
Use a reverse HTTPS tunnel. Your machine connects outbound to the tunnel service, and the public URL forwards requests back to your local app.
When should I use a localhost tunnel?
Use one for webhook testing, OAuth callbacks, client demos, QA previews, mobile device checks, and short-lived development reviews.
En el panorama regulatorio en rápida evolución de 2026, la definición de “residencia de datos” ha experimentado una transformación real. Históricamente, los equipos de cumplimiento se centraban casi exclusivamente en la capa de almacenamiento — asegurando que bases de datos y buckets S3 estuvieran físicamente ubicados dentro de una jurisdicción específica, como una región local de AWS en Frankfurt o París. Cada vez más, ese enfoque resulta incompleto. Reguladores, auditores y una nueva generación de productos de “nube soberana” están impulsando la conversación desde datos en reposo hacia datos en tránsito y en uso.
Si un desarrollador en Berlín establece un túnel reverso para probar un microservicio local contra una base de datos de staging en la nube, y ese túnel pasa por un servidor de retransmisión en Estados Unidos o Reino Unido, eso constituye una transferencia transfronteriza bajo las reglas del Capítulo V del GDPR sobre transferencias internacionales de datos — independientemente de dónde se almacenen los datos en última instancia. Esto no es un caso extremo hipotético inventado por ingenieros de redes; es la misma cuestión legal que GDPR ha planteado desde 2018, ahora en colisión con un ecosistema de túneles y proxies construido casi en su totalidad en torno a la suposición opuesta: enrutar el tráfico donde sea más rápido, y preocuparse por la geografía después.
Para resolver esto, los equipos de ingeniería de plataformas y seguridad de redes están construyendo lo que este artículo llama túneles con geocerca — túneles que combinan superposiciones cifradas con controles explícitos en la capa de enrutamiento (comunidades BGP, filtrado de rutas, interconexiones privadas y cada vez más, validación de origen y de ruta) para que una conexión de red tenga una mayor garantía de permanecer dentro de una jurisdicción definida. Vale la pena ser precisos sobre qué pueden y qué no pueden prometer estos controles — más abajo se explica — pero el patrón arquitectónico es real, cada vez más productizado y vale la pena entenderlo en detalle.
El panorama regulatorio de 2026: Reglas de tránsito GDPR y un calendario reconfigurado de la Ley de IA
Dos cosas son ciertas a mediados de 2026, y confundirlas es un error común.
Primero, la base legal para “que los datos personales de la UE no transiten por infraestructura fuera de la UE” siempre ha sido el GDPR, no la Ley de IA. El Capítulo V (Artículos 44–49) regula las transferencias internacionales, y el panorama post-Schrems II está realmente inestable. La sentencia Schrems II del Tribunal de Justicia de la UE en 2020 invalidó específicamente el Escudo de Privacidad UE-EE.UU. porque las autoridades de vigilancia estadounidenses — Sección 702 de FISA y Orden Ejecutiva 12333 — daban acceso a datos de la UE a agencias de inteligencia en formas que el Tribunal consideró incompatibles con el GDPR. El mecanismo de reemplazo actual, el Marco de Privacidad de Datos UE-EE.UU. (adoptado en julio de 2023), ya sobrevivió a un desafío legal directo en el TJUE, pero la mayoría de los abogados de privacidad en la UE aún esperan un caso “Schrems III”, y Max Schrems ha dicho que el nuevo marco no resuelve el conflicto subyacente en las leyes de vigilancia. Añadido a la incertidumbre, la Sección 702 de FISA expiró en su reautorización de dos años en abril de 2026 y solo se mantuvo viva por una extensión a corto plazo hasta mediados de junio de 2026, mientras que la reautorización a largo plazo aún se negocia en el Congreso. Nada de esto está completamente resuelto — y por eso, las garantías a nivel de infraestructura, no solo la documentación como las Cláusulas Contractuales Estándar, se vuelven más atractivas para organizaciones con aversión al riesgo.
Segundo, las obligaciones del sistema de alto riesgo de la Ley de IA de la UE — la parte más directamente relevante para cargas de trabajo de staging e inferencia en IA/ML — no siguen el calendario que la mayoría asume. La Ley entró en vigor en agosto de 2024 y se ha ido implementando en fases: prácticas prohibidas y obligaciones de alfabetización en IA desde febrero de 2025, y reglas para modelos de IA de propósito general desde agosto de 2025. La fecha original para la gran obligación — las obligaciones del sistema de alto riesgo del Anexo III (evaluaciones de conformidad, supervisión humana, registros, registro) — era el 2 de agosto de 2026. Pero el 7 de mayo de 2026, los negociadores de la UE alcanzaron un acuerdo provisional sobre un paquete “Omnibus Digital” que aplaza la fecha límite del Anexo III de alto riesgo aproximadamente en dieciséis meses, hasta el 2 de diciembre de 2027. Ese acuerdo es provisional y aún está pendiente de adopción formal a mediados de 2026, por lo que considerar diciembre de 2027 como definitivo sería prematuro — pero tratar agosto de 2026 como la fecha límite operativa, como todavía hacen algunas guías de cumplimiento, ya está desactualizado.
La conclusión práctica: la Ley de IA no impone un régimen separado de “los datos deben permanecer en la región mientras están en tránsito”. La exposición legal para el tráfico transfronterizo de túneles es — y ha sido siempre — la ley ordinaria de transferencias internacionales del GDPR. Lo que añade la Ley de IA, una vez que se apliquen las obligaciones del Anexo III (cuando sea), son un conjunto paralelo de obligaciones relacionadas con registros, supervisión humana y Evaluaciones de Impacto en Derechos Fundamentales para sistemas de alto riesgo, lo que aumenta el riesgo de manejar mal los datos, pero no crea nuevas reglas de enrutamiento específicas para tránsito.
La respuesta del mercado ya empezó
Independientemente de los vaivenes regulatorios, la industria de la nube y los túneles ha avanzado. En enero de 2026, AWS lanzó su Nube Soberana Europea — una partición de AWS física y lógicamente separada, operada exclusivamente por residentes de la UE, con una inversión de aproximadamente €7.8 mil millones, y Local Zones soberanas planeadas en Bélgica, Países Bajos y Portugal. El esfuerzo equivalente de Microsoft, que restringe el procesamiento y almacenamiento de datos de clientes a la UE, ha estado en vivo desde mediados de 2025 y se ha extendido para cubrir más servicios de IA. Estas no son campañas de marketing — implican una separación operacional genuina (AWS ha declarado que incluso sus ingenieros en EE.UU. no pueden acceder a entornos de clientes en la Nube Soberana Europea) — pero tampoco resuelven, por sí mismas, el problema del túnel para desarrolladores del que trata este artículo. Una región de nube soberana solo ayuda si el tráfico que llega a ella tomó un camino soberano.
La entrada en escena del Túnel de Red con Geocerca
Un túnel de red con geocerca, en el sentido usado aquí, es una conexión cifrada entre un entorno de desarrollo local y un perímetro en la nube, diseñada para que la ruta de red subyacente esté restringida — mediante políticas de enrutamiento, interconexiones privadas y monitoreo — para permanecer dentro de una jurisdicción definida.
Es importante distinguir dos términos que la industria suele confundir: residencia de datos (dónde se almacenan físicamente los datos — un bucket regional, un centro de datos en Frankfurt) y soberanía de datos (quién puede acceder a esos datos, bajo qué jurisdicción legal, y en qué condiciones, incluyendo mientras están en tránsito). Un túnel con geocerca es fundamentalmente un control de soberanía de datos dirigido al problema del tránsito, no un control de residencia — la residencia es lo que ya proporciona tu región en la nube.
Qué puede — y qué no puede — garantizar BGP
La formulación original de “túneles con geocerca” a menudo promete que la política BGP puede garantizar matemáticamente que un paquete nunca cruce una frontera. Eso es una exageración que vale la pena corregir claramente: BGP es un protocolo de control de plano, basado en confianza. Indica a los routers qué rutas son preferidas y cuáles son anunciadas, pero un peer mal configurado, una fuga de rutas o un secuestro deliberado aún pueden mover el tráfico a donde no deseas — por eso el secuestro de rutas sigue siendo un problema vigente en internet. Lo que los controles basados en BGP realmente ofrecen es una garantía sólida, auditable y detección rápida de fallos, no una prueba criptográfica del camino físico. Combinado con circuitos privados que no dependen del enrutamiento público de internet, la garantía se vuelve mucho más fuerte — pero “matemáticamente sólida” no es la frase correcta para la capa pública de BGP.
Con esa advertencia, esto es lo que actualmente se despliega en redes de producción:
1. Etiquetado de Comunidades BGP y Filtrado de Rutas
Los ingenieros de redes pueden etiquetar prefijos con atributos de comunidad BGP y aplicar mapas de rutas para que ciertos pares solo vean rutas específicas. El más conocido es la comunidad NO_EXPORT (RFC 1997), que indica a un router receptor que no reanuncie una ruta a ningún peer externo (eBGP) — manteniéndola confinada a peers iBGP o de confederación. AWS Direct Connect, por ejemplo, etiqueta automáticamente todas las rutas recibidas por una interfaz virtual pública con NO_EXPORT. Es importante ser preciso: NO_EXPORT por sí solo no significa “solo en la UE” — significa “no propagar más allá de este límite de AS”. La restricción geográfica real proviene de combinar el etiquetado de comunidad con listas de control de acceso AS-path y prefijos en cada punto de peering regional, de modo que solo se acepten como próximos saltos los ASNs registrados dentro de la jurisdicción aprobada.
2. Validación de Origen de Rutas RPKI — y ASPA para Validación de Ruta
La pieza criptográfica realmente desplegada a escala en internet es RPKI (Infraestructura de Clave Pública de Recursos, RFC 7115), no un esquema de “atestación de rutas” a medida. Los titulares de prefijos publican ROAs firmados (Autorizaciones de Origen de Ruta) a través de su Registro de Internet Regional, declarando qué ASN está autorizado a originar un prefijo dado. Los routers que realizan Validación de Origen de Ruta (ROV) pueden rechazar anuncios que no coincidan con un ROA válido, siendo la defensa estándar contra secuestros accidentales o maliciosos.
Los ROAs de RPKI solo validan el origen ASN — no validan toda la ruta que tomó para llegar allí, que es la cuestión más relevante para “¿esto permaneció dentro de la UE?”. Esa es la brecha que cierra un mecanismo más reciente llamado ASPA (Autonomous System Provider Authorization): los operadores publican qué proveedores están autorizados a transportar sus rutas, permitiendo a los routers detectar patrones AS-path que no coinciden con las relaciones declaradas, una defensa real, aunque en etapa inicial, contra fugas de rutas. A principios de 2026, ASPA es soportado en software de confianza principal (Routinator, FORT Validator, rpki-client) y en implementaciones de routers como BIRD y OpenBGPD, con soporte en Cisco IOS-XR en proceso. La adopción todavía es incipiente — menos del 1% del espacio ASN global había publicado registros ASPA en febrero de 2026 — así que considérelo una control emergente, no una solución completa hoy.
Verificación de implementación: si tu estrategia de geocercas depende de que cada AS de tránsito tenga desplegado ROV y ASPA, todavía no tienes geocercas — tienes una hoja de ruta. La mitigación práctica que usan la mayoría de las implementaciones de enrutamiento soberano hoy en día es minimizar el número de saltos relevantes, mediante el siguiente mecanismo.
3. Filtrado RTBH (Black Hole Activado Remotamente)
El concepto original de “descartar por anycast” corresponde a una técnica bien establecida: Filtrado RTBH (Remote-Triggered Black Hole). Los operadores anuncian una ruta etiquetada vía iBGP que hace que los routers de borde reenvíen el tráfico coincidente a una interfaz Null0, descartándolo silenciosamente. RTBH es una herramienta de mitigación de DDoS de larga data, no una función de cumplimiento específica — pero el mismo mecanismo puede ser reutilizado en el borde de un perímetro soberano: si llega tráfico del espacio de direcciones de un túnel con geocerca desde una dirección no aprobada, se descarta en lugar de reenviarlo. Es una capa legítima de defensa en profundidad, pero es una medida de último recurso que actúa después de que ya ocurrió una anomalía en el enrutamiento, no una geocerca preventiva en sí.
4. Interconexiones Privadas y Peering Directo
La garantía práctica más fuerte no proviene del BGP público — sino de evitar el tránsito público por completo. El peering privado directo en un Exchange de Internet (como DE-CIX en Frankfurt) o una interconexión dedicada a la nube — AWS Direct Connect, Azure ExpressRoute — te proporciona una ruta físicamente identificable y contractual que no depende del enrutamiento dañino del internet público. Implementaciones híbridas de soberanía usando ExpressRoute entre un rack en la UE y una región eu-central-1 de AWS han reportado tiempos de ida y vuelta inferiores a 2 ms en producción, lo cual también es una mejora significativa en latencia, no solo en cumplimiento.
Lograr Cumplimiento de Ingreso Local
Para los equipos de plataforma, desplegar túneles con geocerca requiere repensar cómo los entornos de desarrollo local se conectan hacia afuera. El objetivo es cumplimiento de ingreso local: cualquier tráfico que llegue a la máquina del desarrollador a través del túnel ha sido autenticado y la ruta que tomó puede verificarse después.
Un flujo conceptual para desarrolladores
No existe un producto estandarizado llamado “el túnel con geocerca” — esto es un patrón arquitectónico, ensamblado con piezas existentes (WireGuard o similar para la superposición cifrada, FRRouting o BIRD para el plano de control BGP, integración IAM para verificaciones de dispositivo/identidad). Para ilustrar el patrón de forma concreta, imagina un envoltorio CLI — llamémoslo sovereign-tunnel, solo ilustrativo — que un desarrollador podría ejecutar antes de comenzar:
- Verificación geográfica del endpoint. El agente revisa señales de red local (BSSID de Wi-Fi, asignación IP, postura MDM empresarial) antes de permitir que el túnel se inicialice. Si una laptop ha viajado fuera de la región aprobada, el túnel se niega a iniciarse.
- Handshake soberano. Se establece una sesión TLS 1.3 con un punto de ingreso regional, con resolución DNS fijada a resolutores en la región para evitar un camino de resolución que anule el trabajo de enrutamiento.
- Monitoreo continuo de rutas. Durante la sesión, el cliente (o un pipeline de observabilidad de red detrás de él) observa en tiempo real los datos AS-path y traceroute. Si la topología cambia para incluir un AS no aprobado, la sesión se termina.
Este patrón no requiere construir herramientas a medida desde cero. Es importante notar que productos de túneles en producción ya están empezando a incluir los bloques de construcción necesarios: ngrok’s Region nd IP Resolution (“region pinning”) permite bloquear un dominio a puntos de presencia específicos, de modo que todo el tráfico para ese dominio solo resuelva en regiones elegidas — comercializado explícitamente para necesidades de residencia de datos en la UE. Cloudflare’s Custom Regions (parte de su línea de Servicios Regionales) permite a los clientes definir grupos de centros de datos por país y hacer cumplir que la terminación TLS y el procesamiento de solicitudes ocurran solo dentro de ese conjunto. Ninguno de estos es “geocercado BGP” en el sentido profundo descrito arriba, pero resuelven una parte significativa del mismo problema en la capa de aplicación y borde con mucho menos overhead operativo — y para muchos equipos, esa combinación (pinning de región en el proveedor de túneles, más interconexiones privadas para caminos de máxima sensibilidad) es la respuesta real en 2026, en lugar de infraestructura BGP hecha a mano.
Auditoría para reguladores
Producir prueba para un regulador de que los datos de staging no salieron de una jurisdicción durante una ventana de prueba es una solicitud real y razonable, especialmente una vez que las obligaciones del Ley de IA (que requieren mantener registros automáticos por al menos seis meses para sistemas de alto riesgo, cuando esas obligaciones aplican) se añaden. La caja de herramientas realista para esa prueba, dada toda la información anterior, es: registros de validación RPKI/ROA, telemetría de AS-path capturada en el momento de la sesión (no reconstruida retroactivamente), registros de circuitos de interconexión privada y, donde ASPA esté desplegado por tus proveedores de tránsito, resultados de validación de legitimidad del camino. Llamarlo un “registro inmutable, criptográficamente sólido” exagera lo que la mayoría de las organizaciones pueden producir hoy; llamarlo “una pista de auditoría defendible y con marca de tiempo, ensamblada a partir de varios estándares reales y parcialmente desplegados” es más preciso, aunque menos llamativo.
Otra forma de enmarcar la soberanía: acceso, no solo geografía
Vale la pena destacar un debate genuino en la industria en lugar de presentar el geocercado BGP como el único modelo válido. Una línea creciente de argumentación — visible en recientes productos de “Sovereign SASE” y soberanía centrada en identidad — es que el cumplimiento basado en la geografía (infraestructura duplicada en cada jurisdicción, enrutamiento controlado en la capa de red) se está complementando, y en algunos casos reemplazando, por soberanía basada en acceso: los datos permanecen anclados en una jurisdicción, y la gestión estricta de identidad y acceso regula quién — y desde dónde — puede interactuar con ellos, en lugar de tratar de restringir físicamente cada camino de paquete. Esto no reemplaza los controles de enrutamiento descritos arriba tanto como una capa diferente en la misma pila de defensa en profundidad; para una audiencia de seguridad, vale tratar “túneles con geocerca” como una herramienta en esa pila, no como la solución completa.
Diseñando una arquitectura de enrutamiento para la nube soberana: un esquema
Una versión realista y basada en tecnología de las fases de implementación:
Fase 1: Definir el perímetro soberano
Identifica las jurisdicciones que tu datos pueden legalmente tocar, y enumera los ASN aprobados de tus proveedores de nube y ISPs regionales. Decide explícitamente si buscas soberanía en toda la UE/EEE o una soberanía más estricta de un solo país (el modelo de Local Zones soberanas de AWS, por ejemplo, distingue “permanecer en la UE” de “permanecer en Bélgica”).
Fase 2: Desplegar puertas de ingreso regionales
Establece nodos proxy de borde dedicados (clusters de Envoy o NGINX son opciones comunes) dentro de la región aprobada, usando IPs estáticas y asignadas regionalmente en lugar de un endpoint anycast balanceado globalmente que no controles completamente.
Fase 3: Configurar restricciones de enrutamiento
Trabaja con proveedores de tránsito y IXPs para: etiquetar prefijos anunciados con NO_EXPORT cuando corresponda; aplicar ACLs de AS-path y listas de prefijos para aceptar solo ASN regionales aprobados; habilitar RPKI ROV en routers de frontera; y, donde tus upstreams lo soporten, adoptar ASPA a medida que madura en lugar de esperar la implementación completa del ecosistema.
Fase 4: Garantizar cumplimiento en los endpoints
Integra la inicialización del túnel con tu proveedor IAM — MFA y verificaciones de postura del dispositivo antes de permitir que comience una sesión — ya sea que construyas esto internamente o uses funciones de pinning regional ya disponibles en herramientas como ngrok o Cloudflare Tunnel.
Fase 5: Implementar monitoreo continuo
Utiliza visibilidad de colectores de rutas (RIPE RIS, RouteViews, o un servicio comercial de monitoreo BGP) para alertar si tus prefijos se anuncian o transitan fuera del conjunto de AS esperado — la señal estándar de una fuga o secuestro de rutas, reconfigurada aquí como un disparador de cumplimiento.
La conclusión
La fricción entre una arquitectura de internet sin fronteras y una regulación cada vez más localizada es real, y existe mucho antes — y en gran medida de forma independiente — del calendario de la Ley de IA, que también se ha retrasado más de un año en sus obligaciones principales. El verdadero motor legal para “mantener mi tráfico de staging dentro de la UE” sigue siendo las reglas de transferencia del GDPR, en un panorama Schrems-era que aún no está completamente resuelto.
Desde el punto de vista de ingeniería, la historia real es menos “perímetro matemáticamente sólido e irrompible” y más “defensa en profundidad, ensamblada a partir de varios estándares reales pero en diferentes etapas de madurez”: NO_EXPORT y filtrado de rutas, RPKI ROV (maduro), ASPA (incipiente), RTBH como respaldo de último recurso, interconexiones privadas donde más importa, y — cada vez más — pinning de región en la capa de aplicación por parte de los proveedores de túneles, combinado con controles de acceso centrados en identidad en lugar de solo en enrutamiento. Nada de eso es menos interesante que la versión basada únicamente en BGP; simplemente es más preciso sobre de dónde provienen las garantías reales y en qué aspectos aún dependes de disciplina operacional y monitoreo en lugar de criptografía.
Registro de cambios
Este artículo fue revisado y ampliado sustancialmente desde un borrador anterior. Resumen de cambios:
Corregido / eliminado:
- La afirmación de que la Ley de IA de la UE se volvió “totalmente aplicable para sistemas de alto riesgo en agosto de 2026”. A partir del acuerdo provisional del 7 de mayo de 2026, la fecha límite del Anexo III de alto riesgo se ha aplazado a diciembre 2, 2027 (pendiente de adopción formal — aún no final). Fuente: cronograma del servicio de la Ley de IA de la UE (ai-act-service-desk.ec.europa.eu); cobertura del Digital Omnibus (Global Policy Watch, Inside Global Tech, mayo-junio 2026).
- La invención del término “gobernanza en el nivel de contexto de la Ley de IA de la UE”. No existe tal doctrina; la base legal real para restricciones de tránsito transfronterizo es el Capítulo V del GDPR (Artículos 44–49). La relevancia de la Ley de IA en este tema se limita a obligaciones de registro/FRIA/supervisión para sistemas de alto riesgo, una vez que esas obligaciones apliquen.
- La afirmación de que la política BGP proporciona una “garantía matemática” contra paquetes que cruzan fronteras. BGP es un protocolo de control de plano de confianza; se añadieron advertencias explícitas sobre fugas y secuestros de rutas y se reformuló la afirmación en torno a la garantía y la auditabilidad, no a la prueba.
- Se reemplazó el concepto vago de “Atestación criptográfica de rutas” por los estándares reales existentes: autorizaciones de origen de ruta RPKI (RFC 7115) para validación de origen, y ASPA para validación de caminos y fugas — incluyendo datos actuales de adopción (ASPA en menos del 1% de los ASN en febrero de 2026).
- Se aclaró que “Descarga por anycast” corresponde a la técnica establecida de filtrado RTBH (RFC), y que es una medida reactiva, no preventiva.
- Se aclaró que NO_EXPORT por sí solo no equivale a geocercas regionales — solo restringe la reanunciación más allá de un límite de AS, no a una geografía específica. La restricción geográfica real requiere ACLs de AS-path y listas de prefijos.
- Se enmarcó el ejemplo CLI sovereign-tunnel up --env staging como ilustrativo y conceptual, no como un producto comercial existente.
Agregado (verificado, a junio de 2026):
- AWS Nube Soberana Europea: lanzamiento general en 15 de enero de 2026, inversión de ~€7.8 mil millones, independencia operacional del AWS global, Local Zones soberanas planeadas en Bélgica, Países Bajos y Portugal. Fuentes: AWS Security Blog, DataCenterDynamics, Towards The Cloud, CSA.
- Esfuerzo de Microsoft de la frontera de datos en la UE, en vivo desde mediados de 2025, con cobertura extendida a más servicios de IA.
- Estado legal actual de transferencia de datos UE-EE.UU.: Marco de Privacidad de Datos UE-EE.UU. (2023), su supervivencia a un desafío inicial en CJEU, expectativas de “Schrems III” en curso, y la expiración/reanudación parcial de la Sección 702 de FISA en abril–junio 2026. Fuentes: Recording Law, Freshfields, Infosecurity Europe.
- ngrok Region nd IP Resolution (pinning de región) y Cloudflare Custom Regions como alternativas reales, en producción, en capa de aplicación, complementarias a geocercas BGP. Fuentes: docs de ngrok, InfoQ (marzo 2026).
- Mecánicas y estado de adopción de RPKI/ROV y ASPA. Fuentes: NIST RPKI Monitor, Noction, FastNetMon, OneUptime.
- La distinción entre residencia de datos y soberanía de datos, y el marco de “túnel de soberanía” centrado en acceso como tendencia complementaria.
- Latencia de interconexión privada (menos de 2 ms entre rack en la UE y eu-central-1 en ExpressRoute en despliegue híbrido de soberanía).
Eliminado: línea de introducción en cursiva (metadatos), no parte del cuerpo del artículo.
Related InstaTunnel pages
Continue from this article into the most relevant product guides and workflows.
Related Topics
Keep building with InstaTunnel
Read the docs for implementation details or compare plans before you ship.