Blog

Requisitos del SDK de Apple: qué hace cada uno de los 86 SDK que exigen el manifiesto de privacidad

Por John Koetsier 11 de diciembre de 2023

Apple acaba de presentar una lista de 86 SDK que requerirán manifiestos de privacidad a partir de la primavera de 2024. Estos SDK abarcan una amplia gama de funciones, como redes, autenticación, gestión de bases de datos, desarrollo de interfaz de usuario y más. Aquí se incluyen numerosos SDK de Facebook y Google , incluyendo al menos 12 solo para Firebase y muchos para Flutter, el paquete de desarrollo multiplataforma de código abierto de Google. La lista también incluye un número significativo de SDK de Meta, incluyendo uno para AEM, la Gestión de Eventos Agregados de Meta, que limita la transmisión de datos confidenciales a la vez que permite la medición de conversiones e interacciones.

Organizaciones o mantenedores con la mayor cantidad de SDK en la lista :

  • Google: 24
  • Comunidad Flutter: 19
  • Meta: 7
  • Una señal: 4

Algunas de las capacidades comunes de los SDK en la lista de manifiesto de privacidad:

  • Tareas de vídeo e imagen: 10
  • Gestión, almacenamiento y análisis de datos: 9
  • Tareas de redes y networking: 5
  • Notificaciones: 5
  • Inicio de sesión/autenticación de usuario: 4
  • Vistas web en aplicaciones: 3
  • Biblioteca compartida: 3
  • Cifrado: 2

Aquí tienes una lista con los 86 SDK y bibliotecas de desarrollo de apps iOS, junto con breves descripciones generales de su función y las empresas, organizaciones o mantenedores que están detrás de cada uno. Más información sobre lo que NO está en la lista a continuación ...

Los 86 manifiestos de privacidad que requieren SDK

SDK/BibliotecaDescripción generalEmpresa/Organización/Mantenedor
Hacer rappelBibliotecas de C++ para tipos de datos y algoritmosGoogle
Redes AFBiblioteca de redes para solicitudes HTTPSoftware de Alamofire
AlamofireBiblioteca de redes basada en SwiftSoftware de Alamofire
Autorización de aplicacionesBiblioteca OAuth 2.0 y OpenID ConnectFundación OpenID y colaboradores
BoringSSL / openssl_grpcBibliotecas criptográficasGoogle (BoringSSL), Proyecto gRPC (openssl_grpc)
CondensadorMarco de desarrollo de aplicaciones multiplataformaMarco iónico
GráficosBiblioteca Swift para gráficos interactivosManzana
conectividad_plusComplemento de Flutter para conectividad de redComunidad de Flutter
CórdobaMarco de desarrollo de aplicaciones multiplataformaFundación de software Apache
información_del_dispositivo_másComplemento de Flutter para obtener información del dispositivoComunidad de Flutter
Controlador DKImagePickerBiblioteca de selectores de imágenesDang-Khoa Nguyen
Galería de fotos DKBiblioteca de galerías de fotosDang-Khoa Nguyen
Kit FBAEMKit de gestión de eventos de Facebook AnalyticsFacebook
Promesas de FBLBiblioteca de promesas para Objective-C/SwiftFacebook
Kit básico de FBSDKFuncionalidad principal del SDK de FacebookFacebook
Conceptos básicos de FBSDKCoreKitFuncionalidad principal del SDK de FacebookFacebook
Kit de inicio de sesión de FBSDKSDK de Facebook para la autenticación de usuariosFacebook
Kit de intercambio de archivos FBSDKSDK de Facebook para compartir contenidoFacebook
selector de archivosComplemento de Flutter para seleccionar archivosComunidad de Flutter
Pruebas ABT de FirebaseServicio Firebase para pruebas A/BGoogle
FirebaseAuthServicio Firebase para la autenticación de usuariosGoogle
FirebaseCoreServicio Firebase para la configuración de aplicacionesGoogle
Diagnóstico básico de FirebaseServicio Firebase para diagnóstico de aplicacionesGoogle
Extensión de FirebaseCoreExtensión de FirebaseCoreGoogle
FirebaseCoreInternalConfiguraciones internas de FirebaseCoreGoogle
FirebaseCrashlyticsServicio Firebase para informar fallosGoogle
Enlaces dinámicos de FirebaseServicio Firebase para enlaces profundosGoogle
FirebaseFirestoreBase de datos NoSQL de FirebaseGoogle
Instalaciones de FirebaseServicio Firebase para el seguimiento de instalacionesGoogle
Mensajería de FirebaseServicio Firebase para notificaciones pushGoogle
Configuración remota de FirebaseServicio Firebase para configuración remotaGoogle
AleteoKit de herramientas de interfaz de usuario de Google para multiplataformaGoogle
flutter_inappwebviewComplemento de Flutter para vistas web dentro de la aplicaciónComunidad de Flutter
notificaciones locales de flutterComplemento de Flutter para notificaciones localesComunidad de Flutter
tostada de aleteoComplemento de Flutter para notificaciones de notificacionesComunidad de Flutter
Base de Datos FMDBGestión de bases de datos SQLite en aplicaciones iOSCarne voladora inc.
geolocalizador_applePlugin de Flutter para geolocalización en iOSFlujo base
Transporte de datos de GoogleMarco para el transporte de datosGoogle
Iniciar sesión en GoogleBiblioteca para el inicio de sesión de GoogleGoogle
Caja de herramientas de Google para MacUtilidades para los servicios de Google en macOS/iOSGoogle
Utilidades de GoogleUtilidades y funciones auxiliares para GoogleGoogle
grpcppImplementación de gRPC en C++Proyecto gRPC
Autenticación de aplicaciones GTMBiblioteca para integrar AppAuth con GoogleGoogle
GTMSessionFetcherBiblioteca de Google para la gestión de solicitudes de redGoogle
HermesMotor de JavaScript para aplicaciones React NativeFacebook
selector de imágenes iosComplemento de Flutter para seleccionar imágenes (iOS)Comunidad de Flutter
Administrador de teclado IQBiblioteca para gestionar el teclado iOSMichael Tyson
Administrador de teclado IQ SwiftVersión rápida de IQKeyboardManagerMichael Tyson
Martín pescadorBiblioteca Swift para descarga y almacenamiento en caché de imágeneswei wang
niveldbBiblioteca de bases de datos LevelDB de GoogleGoogle
LottieBiblioteca para agregar animaciones a aplicaciones iOSAirbnb
HUD de progreso de MBBiblioteca para mostrar indicadores de cargaMatej Bukovinski
nanopbImplementación de Buffers de Protocolo en CDave Garton y colaboradores
Una señalServicio de notificaciones pushOneSignal Inc.
OneSignalCoreFuncionalidad principal de OneSignalOneSignal Inc.
Extensión OneSignalExtensión para notificaciones de OneSignalOneSignal Inc.
Resultados de OneSignalAnálisis y seguimiento de resultados de OneSignalOneSignal Inc.
OpenSSLBiblioteca criptográfica para comunicaciones seguras.Comunidad OpenSSL
Conjunto ordenadoEstructura de datos para colecciones ordenadasManzana
información del paqueteComplemento de Flutter para recuperar información del paqueteComunidad de Flutter
información_del_paquete_másAmpliación de package_info con información adicionalComunidad de Flutter
proveedor_de_rutaComplemento de Flutter para rutas de directorioComunidad de Flutter
proveedor_de_rutas_iosComplemento de ruta de directorio específico de iOS (Flutter)Comunidad de Flutter
PromesasBiblioteca Swift para gestionar tareas asincrónicasGoogle
ProtobufFormato de serialización de Protocol BuffersGoogle
AccesibilidadBiblioteca para monitorizar la accesibilidad de la redTony Million
RealmSwiftBase de datos móvil para almacenamiento y recuperación de datosMongoDB
Cacao recetadoExtensiones de RxSwift para Cocoa/UIKitReactiveX y colaboradores
Relé RxExtensión de RxSwift para proporcionar comportamiento de retransmisiónReactiveX y colaboradores
RxSwiftBiblioteca de programación reactiva para SwiftReactiveX y colaboradores
Imagen web SDBiblioteca para carga y almacenamiento en caché de imágenes asincrónicasOlivier Poitrey y colaboradores
compartir_másPlugin de Flutter para compartir contenidoComunidad de Flutter
preferencias_compartidas_iosComplemento SharedPreferences específico para iOS (Flutter)Comunidad de Flutter
SnapKitBiblioteca Swift para restricciones de diseño automáticoComunidad SnapKit
sqfliteComplemento de base de datos SQLite para FlutterComunidad de Flutter
StarscreamBiblioteca WebSocket para SwiftDalton Cherry y colaboradores
HUD de progreso de SVBiblioteca para visualizar HUD (Head-Up Displays)Sam Vermette
SwiftyGifBiblioteca Swift para mostrar GIFDaniel Martín
SwiftyJSONBiblioteca Swift para analizar datos JSONRuo Yu Fu
TostadaComplemento de Flutter para mostrar mensajes de notificaciónHajime Nakamura
UnityFrameworkMarco para crear aplicaciones basadas en UnityTecnologías de Unity
lanzador de URLComplemento de Flutter para lanzar URLComunidad de Flutter
lanzador de URL iOSComplemento de iniciador de URL específico para iOS (Flutter)Comunidad de Flutter
reproductor de vídeo avfoundationComplemento de reproductor de vídeo Flutter para AVFoundationComunidad de Flutter
wakelockComplemento de Flutter para evitar que el dispositivo entre en suspensiónComunidad de Flutter
vista web_flutter_wkwebviewComplemento de Flutter para WebView con soporte para WKWebViewComunidad de Flutter

(Nota: ChatGPT creó parcialmente esta información. La revisé y actualicé algunos datos donde había cambios recientes o había alguna confusión, pero no puedo garantizar que sea 100 % precisa en todos los casos.)

Nota importante sobre el manifiesto de privacidad de Apple que requiere SDK

Apple afirma que los desarrolladores de aplicaciones deberán empezar a incluir manifiestos de privacidad para cualquier SDK incluido. Sin embargo, este requisito está sujeto a ciertas condiciones :

  1. Cuando envías una nueva aplicación
  2. Cuando envía una actualización de la aplicación que " agrega uno de los SDK enumerados como parte de la actualización"

He hecho hincapié en los "añadidos" porque, según el lenguaje sencillo de la notificación de Apple, no será necesario declarar manifiestos de privacidad para estos SDK si se actualiza una aplicación antigua que ya incluye uno de ellos. En otras palabras, se está aplicando una cláusula de derechos adquiridos.

Por supuesto, no soy abogado: consulte con el suyo para estar seguro de sus obligaciones.

¿Por qué estos SDK y no otros?

Por supuesto, no sabemos la motivación de Apple aquí, pero podemos especular por qué Apple eligió estos SDK y no otros.

Una razón podría ser simplemente la escala . Cualquier SDK con cientos de miles o millones de instalaciones o inclusiones en aplicaciones representa un riesgo considerable si se usa incorrectamente, por lo que la simple escala podría ser un factor.

Otra es el enfoque en su función . Cualquier SDK que ofrezca configuración remota podría modificar el comportamiento de la aplicación tras su envío a la App Store y la revisión de Apple, lo que obviamente aumenta el riesgo. Cualquier SDK utilizado para redes o para la identificación/autenticación de usuarios también tiene potencial de uso indebido, al igual que cualquier SDK que obtenga y proporcione datos sobre hardware, software o identificadores a nivel de dispositivo. Acabamos de descubrir cómo los gobiernos han estado utilizando las notificaciones push para vigilar a los usuarios finales , por lo que presumiblemente las empresas u organizaciones podrían hacer lo mismo, y probablemente por eso vemos algunos SDK de notificaciones push en la lista.

No vemos SDKs de MMP aquí , lo que sugiere que Apple considera su propia SKAdNetwork como una forma segura de medición de marketing, y que las empresas de medición de marketing que la utilizan son aliadas en materia de privacidad. Dado que todos los actores importantes en el ámbito de la medición móvil tienen obligaciones detalladas con las grandes redes de autoatribución, esta parece una decisión acertada. Además, dependiendo de los datos a los que acceda el SDK de cada MMP, si un MMP desea datos de otras API , esto obligará a que el motivo del MMP se declare en los manifiestos de privacidad.

En resumen: es difícil encontrar todos los SDK potencialmente infractores , ya que prácticamente cualquier SDK que pueda ejecutar redes y recopilar datos supone un riesgo potencial. En última instancia, podríamos ver a Apple adoptar algo similar al SDK Sandbox de Google en Privacy Sandbox para Android, que colocará los SDK en un entorno específico que limita su acceso a datos extracurriculares.

¿Habrá más?

Por supuesto, existe la posibilidad de que se creen más SDK. Nada es estático en tecnología, especialmente en dispositivos móviles, y a medida que se creen más SDK, Apple querrá supervisarlos. Cabe destacar que Apple se protege contra quienes simplemente renombran o reempaquetan los SDK para eludir los requisitos:

“Cualquier versión de un SDK listado, así como cualquier SDK que reempaquete los que figuran en la lista, están incluidos en el requisito”, afirma Apple.

En otras palabras, no se puede evadir el requisito.

Manténgase al día de los últimos acontecimientos en marketing digital

Simplemente envíanos su correo electrónico y ya está dentro! Prometemos no enviarle spam.