Preparar para os requisitos de divulgação de dados da App Store da Apple

A Apple exige que os desenvolvedores que publicam aplicativos na App Store divulguem algumas informações relacionadas ao uso dos dados nos apps. Em 8 de dezembro de 2020, a Apple anunciou que essas divulgações são necessárias para novos apps e atualizações de apps.

Este documento contém os comportamentos da biblioteca da plataforma Apple no Firebase que podem exigir divulgação de acordo com as diretrizes da Apple. Ao instalar o Firebase, confira os destinos de build instalados no seu app pelo gerenciador de dependências de sua preferência. Para cada destino listado pelo gerenciador de dependências, consulte a seção correspondente deste documento para determinar qual coleta de dados você precisa divulgar. O número de destinos de build do Firebase que você instalou pode ser maior do que o esperado, já que alguns destinos de build do Firebase têm dependências transitórias em outros destinos.

Se você usa algum recurso de produto opcional com dados adicionais ou testa novos recursos que envolvem dados extras, verifique se esses recursos ou testes exigem alguma divulgação.

Para garantir que as divulgações do seu app sejam precisas, recomendamos que você sempre use a versão mais recente de cada SDK do Firebase.

User agent do Firebase

O user agent do Firebase é um pacote de informações coletadas da maioria dos SDKs do Firebase. Ele inclui o dispositivo, o SO, o ID do pacote do app e a plataforma do desenvolvedor. O user agent nunca é vinculado a um identificador de dispositivo ou usuário. Ele é usado pela equipe do Firebase para determinar a adoção da plataforma e da versão, a fim de embasar melhor as decisões dos recursos do Firebase.

Core

FirebaseCore

  • Não coleta dados.

GoogleUtilities

  • Não coleta dados, mas inclui utilitários de rede que podem ser usados por outros SDKs para coletar dados.

GoogleDataTransport

Inclui utilitários de rede que podem ser usados por outros SDKs para coletar dados.

Sempre coletado

  • Coleta metadados sobre o desempenho do SDK, como o tamanho do cache de eventos dos registros do cliente e o número de eventos descartados por vários motivos. Essas informações são coletadas para monitorar e manter a qualidade do produto.

Teste A/B

FirebaseABTesting

O Teste A/B não coleta dados.

O SDK do Teste A/B do Firebase define e usa propriedades de usuário do Google Analytics para especificar a participação em grupos experimentais da Configuração remota e do recurso Mensagens no app do Firebase.

Google Analytics

As informações de coleta de dados do Google Analytics estão disponíveis neste artigo de suporte.

App Check

FirebaseAppCheck

Dependente do uso

  • Se o provedor do DeviceCheck estiver instalado, coletará o token DCDevice do DeviceCheck.
  • Se o provedor do App Attest estiver instalado, coletará o objeto de atestado e o objeto de declaração do App Attest.
  • Se a coleta de dados estiver ativada, ela vai coletar o user agent do Firebase.

App Distribution

O SDK do App Distribution é destinado somente a testes Beta. Não inclua o SDK do App Distribution no seu aplicativo quando enviar para a App Store.

Authentication

FirebaseAuthentication

Sempre coletado

  • Gera e armazena identificadores para fins de autenticação de usuários.

Dependente do uso

  • Coleta um nome de exibição, se o desenvolvedor fornecer um para o usuário.
  • Coleta os endereços de e-mail dos usuários fornecidos pelo desenvolvedor, usando a autenticação de e-mail e senha ou link por e-mail, ou como consta na resposta de um provedor federado, caso o desenvolvedor utilize uma identidade federada.
  • Coleta os números de telefone dos usuários fornecidos pelo desenvolvedor usando a autenticação por telefone ou se o número de telefone do usuário for adicionado como um método de autenticação. Eles também são coletados durante os fluxos de SMS como segundo fator de autenticação.
  • Coleta dados de contato relacionados a provedores de autenticação de terceiros se o desenvolvedor usar esses provedores com o Firebase Authentication. Por exemplo, o identificador de um usuário poderá ser vinculado ao perfil do Facebook se o desenvolvedor usar a autenticação da rede social, dependendo dos escopos concedidos. Consulte a documentação do provedor de autenticação para mais informações.
  • Armazena o ID do Game Center do usuário se o app for vinculado à plataforma.
  • Coleta esse token se o app usa o reCAPTCHA Enterprise \ para proteger os fluxos de autenticação. Confira mais detalhes de privacidade da Apple para o reCAPTCHA Enterprise.
  • Se a coleta de dados estiver ativada, ela vai coletar o user agent do Firebase.

Crashlytics

FirebaseCrashlytics

Sempre coletado

  • Coleta stack traces e o estado relevante do aplicativo quando ele falha.
  • Coleta informações de dispositivos e do SO para ajudar a depurar falhas.

Dependente do uso

  • Coleta chaves personalizadas, registros e IDs de usuário de texto livre que os desenvolvedores anexam aos relatórios de erros. Também coleta eventos não fatais definidos pelo desenvolvedor com stack traces personalizados.
  • Coleta registros de navegação estrutural se o Crashlytics for usado junto ao Google Analytics. Esses registros identificam as ações do usuário imediatamente antes de ocorrer uma falha, assim como o número de erros encontrado.

Realtime Database

FirebaseDatabase

Sempre coletado

Sempre coletado

  • Coleta temporariamente os dados do dispositivo, incluindo as dimensões da tela, o idioma, a versão do SO, o ID do pacote, o endereço IP e a versão do SDK do Firebase para links diretos adiados (que aparecem depois da instalação do app).

Coletado por padrão

  • Registra automaticamente eventos de interação com o Google Analytics se o framework FirebaseAnalytics estiver presente. Para desativar a geração automática de registros de eventos, remova FirebaseAnalytics do app.
  • Coleta temporariamente o URL do link dinâmico na área de transferência do dispositivo, se disponível, na primeira inicialização do app. Os desenvolvedores podem desativar o uso da área de transferência, definindo a propriedade FirebaseDeepLinkPasteboardRetrievalEnabled como NO no arquivo Info.plist do app.

Cloud Firestore

FirebaseFirestore

Sempre coletado

Cloud Functions

FirebaseFunctions

Sempre coletado

  • Coleta metadados de invocação de funções, incluindo o nome da função e o endereço IP do autor da chamada.

Mensagens no app

FirebaseInAppMessaging

Sempre coletado

  • Registra interações com mensagens no app. Essas interações (impressões, cliques, dispensas) são registradas pelo Google Analytics. As interações também são registradas pelo Firebase para ajudar os desenvolvedores a avaliar a eficácia das campanhas de mensagens.

Instalações do Firebase

FirebaseInstallations

Sempre coletado

FirebaseInstanceID (descontinuado)

O uso de FirebaseInstanceID está suspenso.

Sempre coletado

  • Gera identificadores por instalação que não identificam exclusivamente um usuário ou dispositivo físico.
  • Gera e coleta o token de registro do FCM, um ID de instância de app usado pelo FirebaseMessaging para notificações push.
  • Registra o token de APNs e o associa a um ID de instância do Firebase (token de registro do FCM).
  • Coleta o modelo do dispositivo, o idioma, o fuso horário, a versão do SO e o identificador e a versão do aplicativo para gerar o token de registro do FCM.

Cloud Messaging

FirebaseMessaging

Sempre coletado

  • Coleta o identificador e a versão do aplicativo para assinatura de tópicos e cancelamento da assinatura.

Coletado por padrão

  • Registra automaticamente interações de notificação com o Google Analytics se o framework FirebaseAnalytics estiver presente. Para desativar esse comportamento, remova FirebaseAnalytics do seu app.

Dependente do uso

Firebase ML

FirebaseMLCommon

  • Não coleta dados.

FirebaseMLModelDownloader

Sempre coletado

  • Coleta metadados de download de modelos de ML, como eventos de download, eventos de exclusão e erros.

FirebaseMLModelInterpreter

Coletado por padrão

  • Coleta metadados de inferência de ML, como duração e taxa de erros de inferência. Para desativar, defina a propriedade ModelInterpreter.isStatsCollectionEnabled como false.

FirebaseMLVision

Coletado por padrão

  • Coleta metadados de modelos de ML do Vision, como eventos de criação e detecção. Para desativar, defina a propriedade Vision.isStatsCollectionEnabled como false.

Monitoramento de desempenho

FirebasePerformance

Sempre coletado

  • Coleta endereços IP para fornecer segmentação de dados de desempenho com base na geografia.
  • Coleta métricas de desempenho do app, como o tempo de inicialização dele e a latência de solicitações de rede, além de traces personalizados especificados pelo desenvolvedor para medir o desempenho do app.
  • Coleta o uso de CPU/memória do aplicativo para fornecer uma linha do tempo do desempenho do app.
  • Coleta informações do dispositivo, do SO e do aplicativo para filtrar os dados de desempenho em diferentes segmentos de dispositivos.

Configuração remota

FirebaseRemoteConfig

Sempre coletado

  • Coleta o user agent do Firebase.
  • Coleta o código do país do dispositivo, o código do idioma, o fuso horário, a versão do SO, o ID do app da Apple do Firebase e o ID do pacote para segmentar parâmetros com base nesses dados. As versões do SO e do SDK também são coletadas e agregadas para entender as tendências de uso e informar a direção do produto.

Dependente do uso

Se a Configuração remota for usada com o Google Analytics:

  • As propriedades do usuário vão ser coletadas pelo SDK do Firebase para o Google Analytics de modo a visar parâmetros baseados em condições de propriedades do usuário.
  • O carimbo de data/hora do evento first_open vai ser coletado pelo SDK do Firebase para o Google Analytics de modo a visar parâmetros baseados no horário do primeiro acesso.

Se a personalização da Configuração remota for usada:

  • Os dados coletados pelo SDK do Firebase Configuração remota e os eventos recebidos pelo SDK do Firebase para o Google Analytics podem ser usados para criar modelos preditivos e avaliar o desempenho deles.

Sessões do Firebase

Sessões do Firebase

Sempre coletado

  • Para monitorar a qualidade do app, são coletados metadados sobre o desempenho do aplicativo, como o ID do pacote, as informações do SO, a versão do SDK e o tipo de conexão de rede.
  • Coleta dados de uso, como o tempo em que um app estava em segundo plano, para agrupar métricas de desempenho em sessões do usuário para filtrar o uso por sessão.

Cloud Storage

FirebaseStorage

Sempre coletado