Przejdź do treści
AppFoyer
Zacznij

Poradniki Formularze sklepów i SDK

Jak wypełnić formularz Data safety w Google Play i szczegóły App Privacy w Apple

O co pyta każdy kwestionariusz, jak Twoje SDK zmieniają odpowiedzi, trzy pytania, na które ludzie odpowiadają źle, i gdzie każdy dostawca publikuje potrzebne Ci odpowiedzi.

Wypisz każdy SDK w swoim buildzie, otwórz stronę z ujawnieniami każdego dostawcy albo jego manifest prywatności i dodaj dane, które zbierasz sam, na przykład konta. Potem odpowiedz na oba kwestionariusze na podstawie tej jednej listy. Play pyta, co jest zbierane, udostępniane i w jakim celu. Apple pyta o to samo, a dodatkowo o to, czy każdy typ danych jest powiązany z użytkownikiem i używany do śledzenia.

Zrób to zamiast tego w kilka minut

AppFoyer hostuje strony, o których jest ten poradnik — politykę prywatności, regulamin, wsparcie, usuwanie konta i app-ads.txt — na ich własnej subdomenie, bez Twojej własnej domeny i serwera. Jedna aplikacja jest za darmo, a nic, czego wymaga sklep, nigdy nie jest płatne.

Sprawdzono 25 września 2026. Zasady sklepów się zmieniają, czasem bez zapowiedzi. Wszystko poniżej linkuje do oficjalnej dokumentacji i to ona — nie ta strona — jest rozstrzygająca. Jeśli się różnią, rację ma sklep. Ten poradnik jest przetłumaczony z angielskiego; cytaty z dokumentacji sklepów pozostawiono w oryginalnym brzmieniu angielskim.

Zrób jedną listę tego, co Twoja aplikacja wysyła poza urządzenie, łącznie z SDK, i odpowiedz na oba kwestionariusze na jej podstawie. Formularz Data safety w Google Play i szczegóły App Privacy w Apple pytają o te same fakty innymi słowami. Gdy Twoje odpowiedzi pochodzą z dwóch osobnych wspomnień, rozjeżdżają się.

Każda aplikacja w Google Play musi wypełnić formularz Data safety, także aplikacja, która nic nie zbiera. Zwolnione są tylko aplikacje dostępne wyłącznie na ścieżkach testów wewnętrznych (pomoc Google Play o Data safety). Apple wymaga szczegółów App Privacy dla każdej aplikacji w App Store (App Privacy details w Apple).

Gdzie są formularze

  • Google Play: Play Console → Twoja aplikacja → App content → Data safety.
  • App Store: App Store Connect → Twoja aplikacja → App Privacy.

Krok 1: zbuduj listę

  1. Każdy SDK firm trzecich. Przeczytaj pliki zależności: build.gradle / libs.versions.toml, Podfile / Package.swift, pubspec.yaml, package.json. Oba sklepy traktują to, co zbiera SDK, jako zbierane przez Ciebie. Apple obarcza Cię odpowiedzialnością za cały kod w Twojej aplikacji, także ten, którego nie napisałeś.
  2. Co każdy z nich wysyła. Korzystaj ze strony samego dostawcy. Niektórzy dostawcy publikują swoje odpowiedzi w słownictwie samego Play, w tym RevenueCat, Unity Ads i OneSignal. Google publikuje tabele dla AdMob i dla każdego produktu Firebase. Na iOS większość aktualnych SDK zawiera manifest prywatności (PrivacyInfo.xcprivacy). W Xcode otwórz Organizer, kliknij archiwum prawym przyciskiem i wybierz Generate Privacy Report, aby zobaczyć wszystkie manifesty z Twojego builda na jednej stronie (dokumentacja Apple o manifestach prywatności).
  3. Dane, które zbierasz sam. Konta (e-mail, identyfikator użytkownika), wszystko, co przechowuje Twój backend, lokalizacja odczytywana przez Twój własny kod, zapisy zakupów przechowywane na Twoim serwerze.

Niektórzy dostawcy nie publikują niczego. AppLovin nie ma listy typów danych dla żadnego ze sklepów, a kilka SDK analitycznych nie ma odwzorowania na kategorie Play. W takich przypadkach przeczytaj dokumentację SDK o tym, co przesyła, i zapisz lukę. Nie zgaduj.

Krok 2: pytania Google Play

Dla każdego typu danych Play pyta:

  • Zbierane, udostępniane czy oba? „Zbierane” (collected) oznacza wysyłane poza urządzenie. „Udostępniane” (shared) oznacza wysyłane firmie trzeciej. Dostawca usług, który przetwarza dane w Twoim imieniu, nie liczy się jako udostępnianie, podobnie jak w pełni zanonimizowane dane. Dlatego Firebase Analytics to zwykle „zbierane, nieudostępniane”, a SDK reklamowy zwykle „zbierane i udostępniane”.
  • Przetwarzane efemerycznie? Tylko jeśli dane są trzymane w pamięci jedynie tak długo, jak to potrzebne do obsługi tego jednego żądania, na przykład lokalizacja wysłana po prognozę pogody i nigdzie niezapisywana.
  • Wymagane czy opcjonalne? Opcjonalne oznacza, że użytkownik może wybrać, czy dane są zbierane.
  • W jakim celu? Cele w Play to: App functionality, Analytics, Developer communications, Advertising or marketing, Fraud prevention, security, and compliance, Personalization, Account management. Zbieranie i udostępnianie mają osobne cele.

Potem dwa pytania o bezpieczeństwo. Czy wszystkie dane użytkownika są szyfrowane podczas przesyłania? Tylko Ty możesz to sprawdzić. Jeden zwykły endpoint http:// sprawia, że odpowiedź brzmi „nie”. Czy użytkownicy mogą poprosić o usunięcie danych? Możesz odpowiedzieć „tak”, jeśli oferujesz sposób złożenia takiej prośby albo jeśli automatycznie usuwasz dane w ciągu 90 dni.

Jeśli Twoja aplikacja pozwala użytkownikom zakładać konta, pytania Data deletion w tym samym formularzu proszą też o link do strony internetowej, na której użytkownicy mogą poprosić o usunięcie konta (wymagania Google Play dotyczące usuwania konta). Zobacz poradnik o adresie URL usuwania konta.

Danych płatniczych wprowadzanych w arkuszu rozliczeniowym samego Google Play nie trzeba deklarować, o ile Twoja aplikacja nigdy nie ma do nich dostępu. Zapisy zakupów, które otrzymuje Twoja aplikacja lub SDK, nadal musisz zadeklarować.

Krok 3: pytania Apple

Dla każdego typu danych Apple pyta o cel i zadaje dwa pytania typu tak/nie:

  • Powiązane z użytkownikiem? Dane liczą się jako powiązane, chyba że zostały pozbawione cech identyfikujących, zanim zostały zebrane. Konto, identyfikator użytkownika lub identyfikator urządzenia wystarczą, by je powiązać.
  • Używane do śledzenia? Śledzenie oznacza łączenie danych Twojej aplikacji o użytkowniku lub urządzeniu z danymi innych firm na potrzeby reklam targetowanych lub pomiaru reklam albo udostępnianie ich brokerowi danych. SDK może to robić, nawet jeśli Ty nigdy nie używasz tej funkcji. Jeśli cokolwiek jest używane do śledzenia, aplikacja musi najpierw poprosić o zgodę przez App Tracking Transparency (user privacy and data use w Apple).

Cele w Apple to: Third-Party Advertising, Developer’s Advertising or Marketing, Analytics, Product Personalization, App Functionality, Other Purposes.

Apple pozwala pominąć typ danych tylko wtedy, gdy spełnione są wszystkie cztery warunki. Dane nie mogą być używane do śledzenia ani reklamy. Muszą być zbierane tylko sporadycznie, poza główną funkcją aplikacji i według wyboru użytkownika. A użytkownik musi je podawać świadomie za każdym razem. Większość danych z SDK nie spełnia już pierwszego warunku.

Trzy odpowiedzi, które ludzie podają źle

  1. „Nic nie zbieramy”. Narzędzia do raportowania awarii i analityka wysyłają identyfikatory urządzenia i dane diagnostyczne, nawet gdy Twój własny kod nic nie wysyła.
  2. „Nieudostępniane” dla SDK reklamowego. Sieci reklamowe otrzymują identyfikatory i interakcje do własnych celów reklamowych. To jest udostępnianie.
  3. Formularz, który nie zgadza się z polityką prywatności. Sklepy czytają oba razem, więc sama niezgodność wystarczy. Pisz oba na podstawie tej samej listy. Zobacz gdy oba dokumenty mówią co innego.

Utrzymywanie aktualności

Odpowiedzi są tak aktualne, jak Twoja lista SDK. Gdy dodajesz SDK, zaktualizuj oba formularze i politykę prywatności w tej samej zmianie. Dostawcy też aktualizują swoje ujawnienia wraz z nowymi wersjami SDK.

Niech asystent AI znajdzie SDK

Najwolniejszy jest krok 1, a agent programistyczny otwarty w repozytorium Twojej aplikacji może go zrobić za Ciebie: Claude Code, Cursor, Codex i podobne. Poniższy prompt prosi go, by czytał tylko Twoje pliki builda i wymienił każdy SDK oraz każdy fakt dotyczący danych z plikiem, z którego pochodzi. Nie pyta, co zbiera każdy SDK. To, co model pamięta z ujawnień dostawcy, jest zgadywaniem, a ta część powinna pochodzić od dostawcy.

Odpowiada w małym formacie JSON, który odczytuje panel AppFoyer. Bez AppFoyer lista, którą pokazuje Ci w kroku 2, nadal jest tą, na podstawie której wypełnisz oba formularze.

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.

Z AppFoyer

Każda aplikacja w panelu ma kartę Store forms. Zaznacz SDK, które zawiera Twój build, a karta przygotuje projekty odpowiedzi do Data safety i App Privacy na ich podstawie i na podstawie ustawień Twojej aplikacji. Każda odpowiedź podaje swoje źródło: odpowiedzi samego dostawcy, jego manifest prywatności albo nasze odczytanie jego listy danych. Karta oznacza SDK, o którym nie wspomina Twoja polityka prywatności, i podaje link do usuwania konta, który możesz wkleić. Plugin Claude Code wypełnia listę SDK na podstawie Twoich plików builda. Z innym asystentem skopiuj prompt z karty, uruchom go i wklej odpowiedź: karta pokaże wynikające z niej odpowiedzi, zanim cokolwiek zostanie zapisane. Nadal sam wprowadzasz odpowiedzi w każdej konsoli i tam je sprawdzasz. To projekty, a nie porada prawna. Karta jest bezpłatna w każdym planie.