Optimización de su SDK de iOS para ITP y Prevención de Rastreo de Safari (ES)
La Prevención de Rastreo Inteligente (ITP) de Safari y otras funciones de privacidad evolucionan constantemente, planteando desafíos para los SDK de iOS que dependen de métodos de rastreo tradicionales.
Adopte el Contexto de Primera ParteEl ITP de Safari restringe fuertemente las cookies de terceros. Diseñe su SDK de iOS para operar dentro de un contexto de primera parte siempre que sea posible, aprovechando soluciones del lado del servidor o integración directa.
Priorice los Identificadores que Preservan la PrivacidadAléjese de los identificadores persistentes y entre sitios. Concéntrese en identificadores efímeros o consentidos por el usuario, respetando la configuración de privacidad del usuario y el framework de Transparencia de Rastreo de Aplicaciones de Apple.
Implemente Alternativas RobustasAnticipe que algunos puntos de datos o mecanismos de rastreo podrían ser bloqueados. Construya su SDK con degradación elegante y estrategias de respaldo para mantener la funcionalidad central incluso cuando el ITP esté activo.
Manténgase Actualizado con las Políticas de AppleEl ITP y las políticas de privacidad son dinámicos. Revise regularmente la documentación para desarrolladores de Apple y las actualizaciones de privacidad para asegurar que su SDK permanezca compatible y efectivo.
La Prevención de Rastreo Inteligente (ITP) de Safari ha remodelado fundamentalmente el panorama del rastreo web, particularmente para los desarrolladores que dependen de cookies de terceros e identificadores persistentes. Para los SDK de iOS, esto presenta un conjunto único de desafíos, especialmente al integrarse con vistas web o manejar la comunicación entre dominios. El compromiso continuo de Apple con la privacidad del usuario, reforzado por características como la Transparencia de Rastreo de Aplicaciones (ATT) y políticas más estrictas sobre la recopilación de datos, significa que los desarrolladores de SDK deben adaptar proactivamente sus estrategias para garantizar la funcionalidad, mantener la integridad de los datos y respetar el consentimiento del usuario.
Esta entrada de blog profundiza en las complejidades del ITP y mecanismos de privacidad similares dentro de Safari en iOS, ofreciendo información procesable y ejemplos prácticos para optimizar su SDK. Nuestro objetivo es ayudarle a construir SDK resilientes y que preserven la privacidad, que no solo funcionen de manera confiable, sino que también fomenten la confianza del usuario en un mundo digital cada vez más consciente de la privacidad.
Comprendiendo el ITP de Safari y su Impacto en los SDK de iOS
La Prevención de Rastreo Inteligente (ITP) es un conjunto de tecnologías que mejoran la privacidad integradas en Safari (y WebKit). Su función principal es limitar el rastreo entre sitios restringiendo el uso de cookies y otras formas de datos de sitios web por parte de terceros. A lo largo de los años, el ITP ha evolucionado a través de varias iteraciones, cada una introduciendo controles más estrictos:
- Bloqueo de Cookies de Terceros: El aspecto más significativo. El ITP divide o bloquea agresivamente las cookies de terceros, lo que dificulta que los anunciantes y proveedores de análisis rastreen a los usuarios en diferentes sitios web.
- API de Acceso a Almacenamiento: Introducida como una forma que preserva la privacidad para que el contenido incrustado solicite acceso a su almacenamiento de primera parte cuando un usuario interactúa con él.
- Protecciones de Decoración de Enlaces: El ITP también puede eliminar parámetros de rastreo de las URL para evitar el rastreo a través de la decoración de enlaces.
- Política de Referencia: Safari a menudo envía una política de referencia más restrictiva (por ejemplo,
strict-origin-when-cross-origin), limitando la cantidad de información que se pasa a sitios de terceros. - Prevención de Rastreo de Rebote Efímero: Identifica y mitiga técnicas en las que los rastreadores redirigen a los usuarios a través de su sitio para establecer cookies de primera parte.
Para los SDK de iOS, especialmente aquellos que interactúan con contenido web (por ejemplo, navegadores en la aplicación, flujos de autenticación, pasarelas de pago o análisis incrustados), el impacto del ITP puede ser profundo. Si su SDK se basa en establecer o leer cookies de un dominio de terceros dentro de un WKWebView, o si espera que se pase cierta información de referencia, el ITP puede romper estos mecanismos, lo que lleva a:
- Procesos de autenticación o pago fallidos.
- Datos de atribución o análisis inexactos.
- Experiencias de usuario rotas debido a la falta de estado o información de sesión.
Estrategias para el Desarrollo de SDK de iOS a Prueba de ITP
Adaptarse al ITP requiere un cambio de mentalidad del rastreo tradicional al manejo de datos centrado en la privacidad. Aquí hay estrategias clave:
1. Priorice el Contexto de Primera Parte y las Soluciones del Lado del Servidor
La forma más efectiva de eludir las restricciones del ITP sobre las cookies de terceros es operar dentro de un contexto de primera parte. Esto significa que el dominio que establece la cookie o accede al almacenamiento es el mismo que el dominio que el usuario está visitando actualmente.
Ejemplo Práctico: Rastreo del Lado del Servidor para Análisis
En lugar de depender de un script de análisis de terceros incrustado en su WKWebView que intenta establecer sus propias cookies, considere un enfoque del lado del servidor:
- El SDK Recopila Datos: Su aplicación iOS (o el contenido web dentro de su
WKWebView) recopila datos de interacción del usuario relevantes (por ejemplo, producto visto, botón clicado). - Envía Datos a su Backend: Estos datos se envían directamente a su propio servidor backend.
- El Backend Reenvía al Proveedor de Análisis: Su backend luego reenvía estos datos a la API de su proveedor de análisis. Dado que esta comunicación ocurre de servidor a servidor, evita las restricciones del ITP sobre las cookies del lado del cliente.
Este enfoque le da control total sobre los datos, asegura que se envíen de manera confiable y no está sujeto a la prevención de rastreo del lado del navegador.
2. Aproveche la API de Acceso a Almacenamiento para Necesidades entre Sitios
Cuando necesite absolutamente acceso a cookies entre sitios dentro de un WKWebView incrustado (por ejemplo, para inicio de sesión único con un proveedor de identidad), la API de Acceso a Almacenamiento es el método aprobado y que preserva la privacidad. Esta API permite que el contenido de terceros solicite permiso explícito al usuario para acceder a su almacenamiento de primera parte.
Ejemplo Práctico: SSO Sin Problemas en WKWebView
Imagine que su SDK incrusta un WKWebView para un flujo de autenticación que necesita acceder a las cookies de su proveedor de identidad (IDP) para lograr SSO. Sin la API de Acceso a Almacenamiento, Safari bloquearía estas cookies.
Lado del cliente (dentro de su contenido web incrustado):
document.requestStorageAccess().then(function() {
// Acceso al almacenamiento concedido, ahora puede hacer solicitudes que usen cookies
// por ejemplo, cargar el iframe de SSO o hacer una solicitud XHR al IDP
}).catch(function() {
// Acceso al almacenamiento denegado o se requiere interacción del usuario
// Manejar con gracia, tal vez recurrir a un inicio de sesión de redirección completo
});
SDK de iOS (WKUIDelegate y WKNavigationDelegate):
Deberá manejar la solicitud del usuario que presenta Safari. El método WKUIDelegate webView:requestMediaCapturePermissionFor:initiatedBy:decisionHandler: (o solicitudes de permiso similares) podría invocarse, pero para el acceso al almacenamiento, la solicitud suele ser manejada por el propio Safari. Asegúrese de que su WKWebViewConfiguration esté configurado correctamente, particularmente websiteDataStore.
3. Adopte Identificadores que Preservan la Privacidad y el Consentimiento del Usuario
Con la Transparencia de Rastreo de Aplicaciones (ATT), Apple requiere el consentimiento explícito del usuario para el rastreo entre aplicaciones y sitios web propiedad de otras empresas. Su SDK debe respetar esto. Aléjese de depender de identificadores de dispositivo persistentes para fines de rastreo sin consentimiento.
Ejemplo Práctico: Manejo de ATT e IDFA
Si su SDK se basaba anteriormente en el Identificador para Anunciantes (IDFA) para la atribución o la segmentación:
- Solicite Autorización ATT: Use
AppTrackingTransparency.frameworkpara solicitar la autorización del usuario antes de acceder al IDFA. - Uso Condicional de IDFA: Solo recupere y use el IDFA si el usuario otorga permiso.
- Identificadores Alternativos: Si se deniega, confíe en identificadores efímeros y específicos del contexto (por ejemplo, un ID de sesión) o ID no persistentes generados por el servidor que no se utilizan para el rastreo entre sitios.
Ejemplo en Swift:
import AppTrackingTransparency
import AdSupport
func requestTrackingAuthorization() {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString
print("IDFA: \(idfa)")
// Usar IDFA para rastreo consentido
case .denied, .notDetermined, .restricted:
print("Autorización ATT denegada o no determinada.")
// Confiar en otros métodos que preservan la privacidad
@unknown default:
break
}
}
} else {
// Fallback para versiones de iOS anteriores a la 14
// Verificar si el rastreo está habilitado a través de ASIdentifierManager.shared().isAdvertisingTrackingEnabled
}
}
Cómo Ayuda Didit
Didit, como plataforma de identidad todo en uno, se alinea inherentemente con un enfoque de privacidad primero, lo que la hace robusta contra el ITP y mecanismos similares de prevención de rastreo. Nuestro enfoque principal es verificar humanos reales de forma segura, no el rastreo entre sitios. La arquitectura de Didit está diseñada para manejar la verificación de identidad, la biometría, la detección de fraude y la autenticación dentro de un único sistema controlado, minimizando la dependencia de las cookies de rastreo de terceros. Logramos esto mediante:
- Integración de Primera Parte: Los SDK y las API de Didit están diseñados para una integración directa y de primera parte en su aplicación, asegurando que los procesos de verificación de identidad ocurran dentro del contexto de su aplicación, eludiendo en gran medida las preocupaciones del ITP relacionadas con el rastreo entre sitios.
- Procesamiento del Lado del Servidor: Muchas de las capacidades robustas de Didit, como el cribado AML y el análisis de señales de fraude, operan de servidor a servidor. Esto significa que el procesamiento de datos sensibles y las verificaciones de identidad ocurren de forma segura en nuestro backend, eliminando las vulnerabilidades de rastreo del lado del cliente.
- Biometría Efímera: Didit procesa los datos biométricos en la memoria y los elimina, devolviendo solo resultados booleanos a su aplicación. Este enfoque de "privacidad por diseño" significa que no almacenamos identificadores biométricos persistentes para el rastreo, lo que se alinea perfectamente con los objetivos del ITP.
- Flujos de Autenticación Seguros: Nuestros métodos de autenticación, incluida la reautenticación biométrica, están diseñados para ser seguros y privados, utilizando mecanismos de desafío-respuesta que no dependen de cookies entre sitios para la gestión del estado.
- Cumplimiento y Confianza: Al cumplir con SOC 2 Tipo II, ISO 27001 y GDPR, Didit se basa en una base de privacidad y seguridad de datos, lo que naturalmente hace que nuestra plataforma sea resistente a los cambios en las tecnologías de prevención de rastreo.
¿Listo para Empezar?
Adaptar su SDK de iOS para el ITP de Safari y el panorama de privacidad más amplio no se trata solo de cumplimiento; se trata de generar confianza con sus usuarios y garantizar la longevidad de su producto. Al adoptar contextos de primera parte, aprovechar las API adecuadas como Acceso a Almacenamiento, priorizar el consentimiento del usuario y mantenerse informado sobre las políticas cambiantes de Apple, puede crear un SDK robusto y que respete la privacidad.
Explore cómo la plataforma de identidad "privacidad primero" de Didit puede simplificar su cumplimiento y mejorar la experiencia del usuario. Visite nuestro sitio web, consulte nuestra documentación técnica, o solicite una demostración para ver Didit en acción.