El cumplimiento del RGPD afecta a más partes de la arquitectura técnica de un producto de lo que la mayoría de los equipos espera al principio, y uno de los requisitos más concretos con los que se encontró una empresa SaaS fue la necesidad de saber, de forma fiable y al inicio de cada sesión, si un visitante se conectaba desde dentro de la Unión Europea, ya que esa respuesta decidía a qué región de almacenamiento debían dirigirse los datos de una cuenta nueva y qué flujo de consentimiento había que mostrar antes de empezar cualquier recogida de datos no esenciales.
La ubicación declarada por el propio usuario no era lo bastante fiable para esto. Pedir a un visitante que indique su país durante el registro produce respuestas que la gente a veces se salta, escribe mal o simplemente contesta mal cuando se registra deprisa, y la empresa necesitaba una señal que no dependiera de que un campo de formulario se rellenara correctamente para tomar una decisión relevante para el cumplimiento.
/v1/ip le dio a la empresa una señal independiente y del lado del servidor para esto. Convertir la dirección IP de un visitante en un campo country, comprobado automáticamente al inicio de cada nueva sesión, le indicaba al servidor de aplicaciones de la empresa si debía aplicar las reglas de consentimiento y tratamiento de datos específicas de la UE antes de que el visitante hubiera interactuado con nada de la página, y no a posteriori, cuando ya se hubiera producido alguna recogida de datos.
La empresa trató el país detectado como una señal operativa sólida para este fin concreto porque, por lo general, se entiende que las protecciones del propio RGPD se aplican en función de dónde se encuentra una persona cuando se tratan sus datos, no de su nacionalidad ni de dónde tiene su sede una empresa, lo que hacía que una comprobación de ubicación basada en IP fuera una señal realmente relevante para esta cuestión de cumplimiento concreta, algo que no sería necesariamente cierto para, por ejemplo, determinar qué legislación fiscal nacional se aplicaba a una transacción. Los asesores jurídicos de la empresa revisaron específicamente este enfoque y lo trataron como un elemento razonable de un programa de cumplimiento más amplio, no como una solución completa por sí sola.
Los casos límite se trataron con prudencia y no con optimismo. Un visitante cuya IP se resolvía de forma ambigua, o en cuya conexión se detectaba una VPN o un proxy mediante el campo extras disponible con mg_extras=1 o con el encabezado X-MG-Extras, recibía por defecto el tratamiento más estricto, acorde con la UE, en lugar del tratamiento predeterminado más ligero, con el razonamiento de que aplicar protecciones de privacidad más fuertes a un visitante que no las necesitaba era un problema mucho menor que aplicar protecciones más débiles a uno que sí las necesitaba. Este valor predeterminado prudente fue una decisión de política deliberada tomada con asesoramiento jurídico, no algo que determinara la propia consulta de ubicación.
La empresa registraba qué señal de país había determinado la decisión de tratamiento de datos de cada sesión, junto con una marca de tiempo, como parte de su propia documentación de cumplimiento, lo que le daba un registro concreto y auditable de cómo se tomaban estas decisiones por si alguna vez lo pedía un regulador o un auditor, en lugar de una afirmación imposible de verificar sobre cómo se comportaba el sistema en general.
Nada de esto sustituye al trabajo más amplio de cumplimiento del RGPD en torno a los textos de consentimiento, los derechos de los interesados o los acuerdos de tratamiento de datos de la empresa, y la empresa dejó claro internamente que la detección del país por IP resolvía una pieza concreta y limitada de un panorama de cumplimiento mucho más amplio: la de dirigir una sesión a las reglas de tratamiento correctas en el momento en que comenzaba.
El volumen de consultas coincidía con el de sesiones, holgadamente dentro de la cuota diaria gratuita con un tráfico moderado y pasando al crédito prepago de forma previsible a medida que crecía el producto. La documentación del endpoint está en /docs/ipv4-lookup/ y /docs/ipv6-lookup/.
Un código postal y una ciudad que no coinciden en un formulario de pedido parecen una pequeña errata hasta que se convierten en un envío mandado a una parte del país completamente distinta.
Una empresa de logística quería una alerta simple en el momento en que un camión de reparto entraba o salía de las instalaciones de un cliente concreto, sin construir ni licenciar una plataforma completa de seguimiento de flotas.
Una herramienta de colaboración quería que los compañeros de equipo vieran de un vistazo dónde estaba un colega y, aproximadamente, qué hora era para él, sin que nadie tuviera que escribirlo en su perfil.