Blog

Requisitos do SDK da Apple: O que cada um dos 86 SDKs que exigem manifesto de privacidade faz

Por John Koetsier 11 de dezembro de 2023

Apple acabou de lançar uma lista de 86 SDKs que exigirão manifestos de privacidade a partir da primavera de 2024. Os SDKs cobrem diversas funcionalidades, incluindo rede, autenticação, gerenciamento de banco de dados, desenvolvimento de UI e mais. Há muitos SDKs do Facebook e Google aqui, incluindo pelo menos 12 apenas para Firebase e vários para Flutter, o pacote de desenvolvimento multiplataforma de código aberto do Google. A lista também traz um número significativo de SDKs da Meta, incluindo um para AEM, o Gerenciamento Agregado de Eventos da Meta, que limita a transmissão de dados sensíveis e permite medir conversões e engajamento.

Organizações ou responsáveis ​​pela manutenção com o maior número de SDKs na lista:

  • Google: 24
  • Comunidade Flutter: 19
  • Meta: 7
  • OneSignal: 4

Algumas das funcionalidades comuns dos SDKs listadas no manifesto de privacidade:

  • Tarefas de vídeo e imagem: 10
  • Gerenciamento, armazenamento e análise de dados: 9
  • Tarefas de rede e de rede: 5
  • Notificações: 5
  • Login/autenticação do usuário: 4
  • Visualizações da Web em aplicativos: 3
  • Biblioteca compartilhada: 3
  • Criptografia: 2

Aqui está uma lista com todos os 86 SDKs e bibliotecas de desenvolvimento iOS, com breves descrições do que fazem e das empresas, organizações ou mantenedores por trás de cada um. Mais sobre o que NÃO está na lista abaixo

Todos os 86 manifestos de privacidade que exigem SDKs

SDK/BibliotecaVisão geralEmpresa/Organização/Responsável pela Manutenção
RapelBibliotecas C++ para tipos de dados e algoritmosGoogle
Rede AFBiblioteca de rede para requisições HTTPSoftware Alamofire
AlamofireBiblioteca de rede baseada em SwiftSoftware Alamofire
AppAuthBiblioteca OAuth 2.0 e OpenID ConnectFundação OpenID e colaboradores
BoringSSL / openssl_grpcBibliotecas criptográficasGoogle (BoringSSL), Projeto gRPC (openssl_grpc)
CapacitorFramework de desenvolvimento de aplicativos multiplataformaEstrutura iônica
GráficosBiblioteca Swift para gráficos interativosApple
conectividade_plusPlugin Flutter para conectividade de redeComunidade Flutter
CórdobaFramework de desenvolvimento de aplicativos multiplataformaFundação de Software Apache
informações_do_dispositivo_maisPlugin Flutter para informações do dispositivoComunidade Flutter
Controlador DKImagePickerBiblioteca de seleção de imagensDang-Khoa Nguyen
Galeria de Fotos DKBiblioteca de galeria de fotosDang-Khoa Nguyen
Kit FBAEMKit de gerenciamento de eventos do Facebook AnalyticsFacebook
Promessas FBLPBiblioteca de promessas para Objective-C/SwiftFacebook
FBSDKCoreKitFuncionalidades principais do SDK do FacebookFacebook
FBSDKCoreKit_BásicoFuncionalidades principais do SDK do FacebookFacebook
Kit de login FBSDKSDK do Facebook para autenticação de usuáriosFacebook
FBSDKShareKitSDK do Facebook para compartilhamento de conteúdoFacebook
seletor de arquivosPlugin Flutter para seleção de arquivosComunidade Flutter
Testes FirebaseABServiço Firebase para testes A/BGoogle
FirebaseAuthServiço Firebase para autenticação de usuáriosGoogle
FirebaseCoreServiço Firebase para configuração de aplicativosGoogle
Diagnóstico do núcleo do FirebaseServiço Firebase para diagnóstico de aplicativosGoogle
Extensão FirebaseCoreExtensão FirebaseCoreGoogle
FirebaseCoreInternalConfigurações internas do FirebaseCoreGoogle
FirebaseCrashlyticsServiço Firebase para relatórios de falhasGoogle
FirebaseDynamicLinksServiço Firebase para links diretosGoogle
FirebaseFirestoreBanco de dados NoSQL do FirebaseGoogle
Instalações do FirebaseServiço Firebase para rastreamento de instalaçõesGoogle
FirebaseMessagingServiço Firebase para notificações pushGoogle
FirebaseRemoteConfigServiço Firebase para configuração remotaGoogle
FlutterKit de ferramentas de interface do usuário do Google para multiplataformaGoogle
flutter_inappwebviewPlugin Flutter para webviews em aplicativosComunidade Flutter
flutter_notificações_locaisPlugin Flutter para notificações locaisComunidade Flutter
fluttertoastPlugin Flutter para notificações toastComunidade Flutter
FMDBGerenciamento de banco de dados SQLite em aplicativos iOSFlying Meat Inc.
geolocalizador_maçãPlugin Flutter para geolocalização no iOSFluxo base
GoogleDataTransportEstrutura para transporte de dadosGoogle
Login do GoogleBiblioteca para login do GoogleGoogle
GoogleToolboxParaMacUtilitários para serviços do Google no macOS/iOSGoogle
Utilitários do GoogleUtilitários e funções auxiliares para o GoogleGoogle
grpcppImplementação em C++ do gRPCProjeto gRPC
GTMAppAuthBiblioteca para integrar o AppAuth com o GoogleGoogle
GTMSessionFetcherBiblioteca do Google para gerenciamento de solicitações de redeGoogle
HermesMecanismo JavaScript para aplicativos React NativeFacebook
image_picker_iosPlugin Flutter para seleção de imagens (iOS)Comunidade Flutter
Gerenciador de teclado IQBiblioteca para gerenciar o teclado do iOSMichael Tyson
IQKeyboardManagerSwiftVersão Swift do IQKeyboardManagerMichael Tyson
Martim-pescadorBiblioteca Swift para download/cache de imagensWei Wang
leveldbBiblioteca de banco de dados LevelDB do GoogleGoogle
LottieBiblioteca para adicionar animações a aplicativos iOSAirbnb
HUD de progresso MBBiblioteca para exibir indicadores de carregamentoMatej Bukovinski
nanopbImplementação de Protocol Buffers em CDave Garton e colaboradores
OneSignalServiço de notificações pushOneSignal Inc.
OneSignalCoreFuncionalidades principais do OneSignalOneSignal Inc.
Extensão OneSignalExtensão para notificações do OneSignalOneSignal Inc.
Resultados do OneSignalAnálises e rastreamento de resultados do OneSignalOneSignal Inc.
OpenSSLBiblioteca criptográfica para comunicação segura.Comunidade OpenSSL
Conjunto ordenadoEstrutura de dados para coleções ordenadasApple
informações_do_pacotePlugin Flutter para recuperar informações de pacotesComunidade Flutter
informações_do_pacote_maisExtensão do pacote_info com informações adicionaisComunidade Flutter
provedor_de_caminhoPlugin Flutter para caminhos de diretórioComunidade Flutter
provedor_de_caminho_iosPlugin de caminho de diretório específico para iOS (Flutter)Comunidade Flutter
PromessasBiblioteca Swift para lidar com tarefas assíncronasGoogle
ProtobufFormato de serialização do Protocol BuffersGoogle
AcessibilidadeBiblioteca para monitoramento da acessibilidade da redeTony Million
RealmSwiftBanco de dados Mobile para armazenamento/recuperação de dadosMongoDB
RxCacauExtensões RxSwift para Cocoa/UIKitReactiveX e colaboradores
Relé RxExtensão RxSwift para fornecer comportamento de retransmissãoReactiveX e colaboradores
RxSwiftBiblioteca de programação reativa para SwiftReactiveX e colaboradores
SDWebImageBiblioteca para carregamento/cache assíncrono de imagensOlivier Poitrey e colaboradores
compartilhar_maisPlugin Flutter para compartilhamento de conteúdoComunidade Flutter
preferências_compartilhadas_iosPlugin SharedPreferences específico para iOS (Flutter)Comunidade Flutter
SnapKitBiblioteca Swift para restrições de Auto LayoutComunidade SnapKit
sqflitePlugin de banco de dados SQLite para FlutterComunidade Flutter
StarscreamBiblioteca WebSocket para SwiftDalton Cherry e colaboradores
SVProgressHUDBiblioteca para exibição de HUDs (Head-Up Displays)Sam Vermette
SwiftyGifBiblioteca Swift para exibir GIFsDaniel Martín
SwiftyJSONBiblioteca Swift para analisar dados JSONRuoyu Fu
BrindePlugin Flutter para exibir mensagens toastHajime Nakamura
UnityFrameworkFramework para criação de aplicativos baseados em UnityTecnologias Unity
url_launcherPlugin Flutter para abrir URLsComunidade Flutter
url_launcher_iosPlugin de inicialização de URL específico para iOS (Flutter)Comunidade Flutter
video_player_avfoundationPlugin de reprodutor de vídeo Flutter para AVFoundationComunidade Flutter
bloqueio de despertarPlugin do Flutter para impedir que o dispositivo entre em modo de suspensãoComunidade Flutter
webview_flutter_wkwebviewPlugin Flutter para WebView com suporte a WKWebViewComunidade Flutter

(Nota: este conteúdo foi parcialmente criado pelo ChatGPT. Verifiquei e atualizei alguns dados onde houve alterações recentes ou onde havia alguma confusão, mas não posso garantir que esteja 100% correto em todos os casos.)

Nota importante sobre o manifesto de privacidade da Apple que exige SDKs

A Apple afirma que os desenvolvedores de aplicativos precisarão começar a incluir manifestos de privacidade para qualquer SDK listado. Mas existem algumas condições para esse requisito:

  1. Ao enviar um novo aplicativo
  2. Quando você envia uma atualização de app que “adiciona um dos SDKs listados como parte da atualização”

Adicionei ênfase ao termo "adiciona" acima porque, com base na linguagem clara da notificação da Apple, você não precisará declarar manifestos de privacidade para esses SDKs se estiver atualizando um aplicativo antigo que já inclua um desses SDKs. Em outras palavras, há uma espécie de direito adquirido em vigor.

É claro que não sou advogado: consulte o seu para ter certeza de suas obrigações.

Por que esses SDKs e não outros?

É claro que não sabemos a motivação da Apple aqui, mas podemos especular sobre o porquê de a Apple ter escolhido esses SDKs e não outros.

Umadas razões pode ser simplesmente a escala. Qualquer SDK com centenas de milhares ou milhões de instalações ou inclusões em aplicativos representa um risco amplo se usado indevidamente, então a escala em si pode ser um fator importante aqui. 

Outra é um foco no que eles fazem. Qualquer SDK que ofereça configuração remota pode mudar o comportamento do app após sua submissão à App Store e a revisão da Apple’s, o que obviamente aumenta o risco. Qualquer SDK usado para rede ou autenticação de ID de usuário tem potencial de uso indevido, assim como qualquer SDK que coleta e fornece dados de hardware, software ou informações de identificador ao nível do dispositivo. Acabamos de aprendido como os governos têm usando notificações push para vigiar usuários finais, então presumivelmente empresas ou organizações poderiam fazer o mesmo, e isso provavelmente explica por que vemos alguns SDKs de notificação push na lista.

Nós não vemos MMP SDKs aqui, sugerindo que a Apple vê sua própria SKAdNetwork como uma forma de medição de marketing com privacidade e empresas de medição que a utilizam como aliadas na privacidade. Dado que todos os principais players no mobile espaço de medição têm obrigações detalhadas com as grandes redes auto‑atribuídas, isso parece uma escolha segura. Além disso, dependendo dos dados que cada SDK de MMP’s acessa, se um MMP quiser qualquer dado da outra lista de privacidade da Apple APIs de motivo obrigatório, isso forçará que o motivo do MMP’s seja declarado nos manifestos de privacidade de qualquer forma.

Visão geral: é difícil achar todos os SDKs potencialmente infratores, pois quase todo SDK que faz rede e coleta dados é risco potencial. No fim, a Apple pode adotar um Sandbox de SDKs como o do Google no Privacy Sandbox Android, limitando o acesso a dados extras.

Tem mais por vir?

É claro que existe a possibilidade de surgirem mais SDKs. Nada é estático na tecnologia, especialmente em mobile , e à medida que novos SDKs forem criados, a Apple desejará monitorá-los. Vale ressaltar que a Apple está se protegendo contra pessoas que simplesmente renomeiam ou reempacotam SDKs para contornar os requisitos

“Qualquer versão de um SDK listado, bem como quaisquer SDKs que reempacotem aqueles na lista, estão incluídos no requisito”, afirma a Apple.

Em outras palavras, não dá para contornar essa exigência.

Mantenha-se atualizado sobre os últimos acontecimentos em marketing digital

Basta nos enviar seu e-mail e você está dentro! Prometemos não enviar spam.