Saltar al contenido
AppFoyer
Empezar

Guías Formularios de las tiendas y SDK

Cómo rellenar el formulario Data safety de Google Play y los detalles de App Privacy de Apple

Qué pregunta cada cuestionario, cómo tus SDK cambian las respuestas, las tres preguntas que se responden mal y dónde publica cada proveedor sus respuestas.

Enumera cada SDK de tu build, abre la página de divulgación o el manifiesto de privacidad de cada proveedor y añade tu propia recopilación, como las cuentas. Después responde ambos cuestionarios a partir de esa única lista. Play pregunta qué se recopila, qué se comparte y por qué. Apple pregunta lo mismo y, además, si cada tipo está vinculado al usuario y si se usa para rastreo.

Hazlo en unos minutos

AppFoyer aloja las páginas de las que trata esta guía —política de privacidad, términos, soporte, eliminación de cuenta y app-ads.txt— en su propio subdominio, sin que necesites dominio ni servidor propios. Una app es gratis, y nada de lo que exige una tienda está nunca detrás de un muro de pago.

Comprobado el 25 de septiembre de 2026. Las políticas de las tiendas cambian, a veces sin aviso. Todo lo que sigue enlaza la documentación oficial, y esa página —no esta— es la que manda. Si no coinciden, la tienda tiene razón. Esta guía está traducida del inglés; las citas de la documentación de las tiendas se mantienen en el inglés original.

Haz una sola lista de lo que tu app envía fuera del dispositivo, SDK incluidos, y responde ambos cuestionarios a partir de ella. El formulario Data safety de Google Play y los detalles de App Privacy de Apple preguntan por los mismos hechos con palabras distintas. Cuando tus respuestas salen de dos memorias separadas, acaban divergiendo.

Todas las apps de Google Play deben completar el formulario Data safety, incluida una app que no recopila nada. Solo están exentas las apps que solo están publicadas en pistas de pruebas internas (ayuda de Google Play sobre Data safety). Apple pide los detalles de App Privacy para todas las apps del App Store (App Privacy details de Apple).

Dónde están los formularios

  • Google Play: Play Console → tu app → App content → Data safety.
  • App Store: App Store Connect → tu app → App Privacy.

Paso 1: crea la lista

  1. Cada SDK de terceros. Lee tus archivos de dependencias: build.gradle / libs.versions.toml, Podfile / Package.swift, pubspec.yaml, package.json. Ambas tiendas cuentan lo que recopila un SDK como si lo recopilaras tú. Apple te hace responsable de todo el código de tu app, incluido el que no escribiste.
  2. Qué envía cada uno. Usa la página del propio proveedor. Algunos proveedores publican sus respuestas con el vocabulario de Play, entre ellos RevenueCat, Unity Ads y OneSignal. Google publica tablas para AdMob y para cada producto de Firebase. En iOS, la mayoría de los SDK actuales incluyen un manifiesto de privacidad (PrivacyInfo.xcprivacy). En Xcode, abre Organizer, haz clic derecho en un archivo y elige Generate Privacy Report para ver todos los manifiestos de tu build en una sola página (documentación de Apple sobre manifiestos de privacidad).
  3. Tu propia recopilación. Cuentas (email, id de usuario), todo lo que guarda tu backend, la ubicación que lee tu propio código, los registros de compras que guarda tu servidor.

Algunos proveedores no publican nada. AppLovin no tiene lista de tipos de datos para ninguna de las dos tiendas, y varios SDK de analítica no tienen correspondencia con Play. Para esos, lee la documentación del propio SDK sobre lo que transmite y anota el hueco. No adivines.

Paso 2: las preguntas de Google Play

Para cada tipo de datos, Play pregunta:

  • ¿Collected, shared o ambos? “Collected” (recopilado) significa enviado fuera del dispositivo. “Shared” (compartido) significa enviado a un tercero. Un proveedor de servicios que trata datos en tu nombre no cuenta como compartir, y tampoco los datos totalmente anonimizados. Por eso Firebase Analytics suele ser “collected, not shared” y un SDK de anuncios suele ser “collected and shared”.
  • ¿Se trata de forma efímera? Solo si los datos se mantienen en memoria el tiempo justo para atender esa única solicitud, como una ubicación enviada para obtener el tiempo y que no se guarda.
  • ¿Obligatorio u opcional? Opcional significa que el usuario puede elegir si se recopila.
  • ¿Para qué? Los propósitos de Play son: App functionality, Analytics, Developer communications, Advertising or marketing, Fraud prevention, security, and compliance, Personalization, Account management. La recopilación y el uso compartido tienen cada uno sus propios propósitos.

Luego vienen dos preguntas de seguridad. ¿Todos los datos del usuario se cifran en tránsito? Solo tú puedes comprobarlo. Un solo endpoint http:// sin cifrar hace que la respuesta sea No. ¿Pueden los usuarios solicitar la eliminación? Puedes responder Sí si ofreces una forma de solicitarla, o si eliminas los datos automáticamente en un plazo de 90 días.

Si tu app permite a los usuarios crear cuentas, las preguntas de Data deletion del mismo formulario también piden un enlace web donde los usuarios puedan solicitar la eliminación de la cuenta (requisitos de eliminación de cuentas de Google Play). Consulta la guía sobre la URL de eliminación de cuenta.

Los datos de pago introducidos en la hoja de facturación de Google Play no hace falta declararlos siempre que tu app nunca acceda a ellos. Los registros de compras que reciben tu app o un SDK sí tienes que declararlos.

Paso 3: las preguntas de Apple

Para cada tipo de datos, Apple pregunta el propósito y dos preguntas de sí o no:

  • ¿Vinculado al usuario? Los datos cuentan como vinculados salvo que se desidentifiquen antes de recopilarse. Una cuenta, un id de usuario o un id de dispositivo bastan para vincularlos.
  • ¿Se usa para rastreo? El rastreo consiste en combinar los datos de tu app sobre un usuario o dispositivo con datos de otras empresas para anuncios dirigidos o medición publicitaria, o compartirlos con un intermediario de datos. Un SDK puede hacerlo aunque tú nunca uses esa función. Si algo se usa para rastreo, la app debe pedir permiso antes mediante App Tracking Transparency (user privacy and data use de Apple).

Los propósitos de Apple son: Third-Party Advertising, Developer’s Advertising or Marketing, Analytics, Product Personalization, App Functionality, Other Purposes.

Apple te permite omitir un tipo de datos solo cuando se cumplen las cuatro condiciones. No debe usarse para rastreo ni publicidad. Debe recopilarse solo de forma ocasional, fuera de la función principal de la app y a elección del usuario. Y el usuario debe proporcionarlo de forma consciente cada vez. La mayoría de los datos de SDK no cumplen la primera condición.

Las tres respuestas que la gente pone mal

  1. «No recopilamos nada». Los reportadores de fallos y la analítica envían identificadores del dispositivo y diagnósticos, aunque tu propio código no envíe nada.
  2. «No compartido» para un SDK de anuncios. Las redes publicitarias reciben identificadores e interacciones para sus propios fines publicitarios. Eso es compartir.
  3. Un formulario que no coincide con la política de privacidad. Las tiendas leen ambos juntos, así que el desacuerdo basta por sí solo. Escribe los dos a partir de la misma lista. Consulta cuando los dos no coinciden.

Mantenerlo al día

Las respuestas solo están tan actualizadas como tu lista de SDK. Cuando añadas un SDK, actualiza ambos formularios y tu política de privacidad en el mismo cambio. Los proveedores también revisan sus divulgaciones con las nuevas versiones de sus SDK.

Deja que un asistente de IA encuentre los SDK

La parte lenta es el paso 1, y un agente de programación abierto en el repositorio de tu app puede hacerla por ti: Claude Code, Cursor, Codex y similares. El prompt de abajo le pide leer solo tus archivos de build y nombrar cada SDK y cada dato con el archivo de donde salió. No le pregunta qué recopila cada SDK. Lo que un modelo recuerda de la divulgación de un proveedor es una suposición, y esa parte debe venir del proveedor.

Responde en un pequeño formato JSON que lee el panel de AppFoyer. Sin AppFoyer, la lista que te muestra en el paso 2 sigue siendo la que debes usar para rellenar ambos formularios.

You are helping me fill in Google Play's Data safety form and Apple's App Privacy details for my mobile app. AppFoyer turns your answer into draft answers for both forms, using each SDK vendor's own published disclosure. Your job is only to find what is in the build — not to say what any SDK collects.

## About the app

- App name: [app name]
- Platforms: [Android, iOS or both]

## Step 1 — read the build files

Read only the app's build, manifest and store-metadata files — for example `build.gradle(.kts)`, `gradle/libs.versions.toml`, `AndroidManifest.xml`, `Podfile.lock`, `Package.swift`, `Package.resolved`, `Info.plist`, `*.entitlements`, `PrivacyInfo.xcprivacy`, `pubspec.yaml`, `package.json`, `app.json`. Do not open `.env` files, keystores, credentials or any other secrets, and do not change any file. If you cannot read the code, ask me which SDKs the app uses instead.

Find:

1. Every third-party SDK in the build. Match it to one of these ids where it fits:

- `admob` — Google Mobile Ads (AdMob)
- `applovin-max` — AppLovin MAX
- `unity-ads` — Unity Ads
- `firebase-analytics` — Google Analytics for Firebase
- `mixpanel` — Mixpanel
- `amplitude` — Amplitude
- `meta-app-events` — Meta SDK — App Events
- `firebase-crashlytics` — Firebase Crashlytics
- `sentry` — Sentry
- `firebase-auth` — Firebase Authentication
- `google-sign-in` — Google Sign-In
- `meta-login` — Meta SDK — Facebook Login
- `revenuecat` — RevenueCat
- `firebase-messaging` — Firebase Cloud Messaging
- `onesignal` — OneSignal

   An SDK that fits none of them goes under `otherSdks` with its package name. Never force a match.

2. Which of these facts are true, from the dependencies, permissions and usage-description keys:

- `account` — users sign in or create accounts
- `analytics` — usage analytics
- `ads` — advertising
- `crash` — crash reporting or diagnostics
- `location` — the app reads the device location
- `purchases` — in-app purchases or subscriptions

   If none is true, the facts are `["none"]`.

Keep the file, and the line where you can, for every SDK and every fact. A README sentence is not evidence.

## Step 2 — confirm with me

Show me the list, grouped as SDKs, other SDKs and facts, each with its file. Ask me to confirm or correct it, and to add anything the build files cannot show — for example an SDK loaded at runtime. Wait for my answer.

## Step 3 — reply in AppFoyer's format

Reply with one ```json code block and nothing after it, exactly in this shape:

```json
{
  "format": "appfoyer-store-forms/1",
  "platform": "android | ios | both",
  "sdks": [{ "id": "admob", "file": "app/build.gradle.kts", "line": 42 }],
  "otherSdks": [{ "name": "com.example:tracker", "file": "app/build.gradle.kts", "line": 57 }],
  "facts": [{ "fact": "ads", "file": "app/src/main/AndroidManifest.xml", "line": 12 }]
}
```

- `id` is one of the ids above, spelled exactly. `fact` is one of the facts above, or `none`.
- `line` is a number, or leave it out when you do not know it.
- Empty lists are `[]`. No comments inside the JSON.
- Do not describe what an SDK collects, and do not add fields.

Con AppFoyer

Cada app del panel tiene una pestaña Store forms. Marca los SDK que incluye tu build y la pestaña redacta las respuestas de Data safety y App Privacy a partir de ellos y de los ajustes de tu app. Cada respuesta indica su fuente: las respuestas del propio proveedor, su manifiesto de privacidad o nuestra lectura de su lista de datos. La pestaña señala cualquier SDK que tu política de privacidad no mencione y te da el enlace de eliminación de cuenta para pegar. El plugin de Claude Code rellena la lista de SDK a partir de tus archivos de build. Con otro asistente, copia el prompt desde la pestaña, ejecútalo y pega la respuesta: la pestaña muestra las respuestas que implica antes de guardar nada. Tú sigues introduciendo las respuestas en cada consola y revisándolas allí. Son borradores, no asesoramiento legal. La pestaña es gratis en todos los planes.