Przejdź do treści
AppFoyer
Zacznij

Poradniki Polityka prywatności

Jak napisać politykę prywatności aplikacji z asystentem AI — prompt, który działa

Dlaczego „napisz mi politykę prywatności” daje ogólnikowy tekst, do czego prompt musi zmusić asystenta zamiast tego i gotowy prompt do skopiowania do Claude, ChatGPT, Cursora lub dowolnego agenta kodującego.

Daj asystentowi dowody, a nie kwestionariusz. Skieruj agenta kodującego na pliki buildu aplikacji, żeby wymienił SDK i uprawnienia, które aplikacja naprawdę zawiera, niech pyta Cię tylko o to, czego nie może wiedzieć, i zabroń mu zgadywać — niewiadome stają się notatkami [confirm]. Potem sprawdź, czy każdy SDK z pliku zależności pojawia się w wyniku.

1:09
Film, 1:09 · otwiera się na YouTube

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 19 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.

Asystent AI napisze politykę prywatności w dziesięć sekund. Problemem jest to, na podstawie czego ją pisze. Poproszony „napisz politykę prywatności dla mojej aplikacji fitness” ma do dyspozycji tylko słowo „fitness”, więc tworzy średnią wszystkich polityk prywatności, jakie przeczytał: klauzule o plikach cookie, których Twoja aplikacja nie ustawia, identyfikatory reklamowe w aplikacji bez reklam, okres przechowywania „tak długo, jak to konieczne” i żadnego z SDK, które faktycznie dostarczasz. Czyta się to dobrze. To jednak także ta część, którą weryfikator sklepu porównuje z Twoim formularzem Data safety i odpowiedziami w App Privacy, i właśnie przy tym porównaniu tekst przegrywa.

Dlaczego jednolinijkowy prompt zawodzi

  • Zmyśla. Model poproszony o wypełnienie sekcji wypełnia ją. Okres przechowywania, podstawa prawna, adres firmy — każde wiarygodne, każde będące stwierdzeniem o Twojej działalności, którego nie złożyłeś.
  • Jest ogólnikowy tam, gdzie musi być konkretny. Najważniejsza sekcja to lista usług zewnętrznych, a model, który nie widział Twojego pliku zależności, nie potrafi ich wymienić.
  • Deklaruje za dużo. Wymienianie danych, których nie zbierasz, nie jest „bezpieczne”. To niezgodność z Twoimi własnymi deklaracjami w sklepie, czyli ten sam problem w drugą stronę.
  • Formatuje pod okno czatu. Tabele, przypisy i wstawki HTML wyglądają dobrze w odpowiedzi, a docierają zepsute wszędzie, gdzie je wkleisz.

Do czego prompt musi go zmusić

  1. Najpierw przeczytać dowody. Agent kodujący otwarty w Twoim repozytorium — Claude Code, Cursor, Codex i podobne — może przeczytać build.gradle, Podfile.lock, Info.plist i manifest oraz wypisać każdy SDK i każde uprawnienie wraz z plikiem, z którego pochodzą. Ta lista to treść polityki. Asystentowi czatu bez dostępu do plików należy kazać poprosić Cię o wklejenie tych plików.
  2. Trzymać się z dala od wszystkiego innego. Pliki buildu i manifestu wystarczą. Nie ma powodu, żeby otwierał pliki .env, magazyny kluczy czy kod źródłowy, a prompt, który to mówi, to jedno zmartwienie mniej.
  3. Pytać tylko o to, czego nie da się przeczytać. Jak długo przechowujesz dane, czy jest backend, czy aplikacja jest skierowana do dzieci, czy udostępniasz dane partnerowi, który nie zostawia śladu w buildzie. O nic więcej nie trzeba pytać.
  4. Odmówić zgadywania. Tam, gdzie nie wiesz, zamiast zdania pisze [confirm: …]. Widoczną lukę da się uzupełnić; wymyślona klauzula to opublikowane oświadczenie.
  5. Pisać pod miejsce publikacji. Zwykły Markdown, linki tylko tam, gdzie są przydatne — własne strony prywatności dostawców, Twój adres wsparcia — i zastrzeżenie, że tekst nie jest poradą prawną.

Prompt

Skopiuj go w całości. Zastąp fakty w nawiasach kwadratowych na górze albo zostaw je i pozwól asystentowi o nie zapytać.

You are helping me write the privacy policy for my mobile app. It will be published as a web page on AppFoyer and its URL goes into the "Privacy policy" field of Google Play and App Store Connect, where reviewers compare it with what the app actually does. Accuracy matters more than length.

## About the app

- App name: [app name]
- Developer / company: [developer or company name]
- Support email: [support email]
- Platforms: [Android, iOS or both]
- Store listings: [store listing URLs, or "not listed yet"]
- Where this policy will be published: [your AppFoyer site URL]/privacy
- What the app collects, as I declared it: [what the app collects — e.g. account info, analytics, ads, crash reports, location, purchases, or nothing]
- Account deletion page: [your AppFoyer site URL]/account-deletion (only if the app has user accounts)
- Country whose law applies: [country, if you have one]

## Step 1 — find the facts

If you can read this app's source code, read only its build, manifest and store-metadata files — for example `build.gradle(.kts)`, `gradle/libs.versions.toml`, `AndroidManifest.xml`, `Podfile.lock`, `Package.swift`, `Info.plist`, `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.

From them, list:

- every third-party SDK or service that collects or receives user data (analytics, ads, crash reporting, sign-in, payments, push notifications, backend, AI APIs) and what it receives;
- every permission the app requests and the feature that uses it;
- whether the app sells in-app purchases or subscriptions (StoreKit, Google Play Billing, RevenueCat and the like).

Show me that list with the file each fact came from, point out anything that contradicts what I declared above, and ask me to confirm it.

If you cannot read the code, ask me to paste the dependency files (for example `app/build.gradle` and `Podfile`) or to list the SDKs and permissions myself.

## Step 2 — ask only what you cannot know

Then ask me, in one short numbered list, and wait for my answers:

1. How long each kind of data is kept, and whether there is a backend (where it runs, what it stores).
2. Whether the app is directed at children under 13.
3. Whether any data is shared with or sold to anyone beyond the services above.
4. Whether the app takes any payments, if the files did not settle it.
5. Anything else you could not determine.

Never guess. Where I do not know an answer, write `[confirm: …]` in the text instead of inventing one.

## Step 3 — write the policy

Sections, in this order, leaving out any that do not apply: Data we collect · How we use it · Third-party services · Purchases and subscriptions · Permissions · Data retention and deletion · Children · Your choices and rights · Changes to this policy · Contact.

- Plain language, short sentences. Describe what this app does; no clauses about things it does not do.
- Under Third-party services, name each provider, say what it receives and why, and link its own privacy policy page.
- Do not invent retention periods, legal bases, company addresses or a data protection officer — use `[confirm: …]`.
- Start with `# Privacy Policy`, then the line `_Last updated: [today's date]_`.
- Write these placeholders exactly as shown, never the values — they are filled in from my settings when the page is published: `{{app_name}}`, `{{developer_name}}`, `{{support_email}}`, `{{public_url}}`.
- In the Contact section, write the address as `[{{support_email}}](mailto:{{support_email}})`.
- If the app has user accounts, link account deletion as `[{{public_url}}/account-deletion]({{public_url}}/account-deletion)` in the retention and deletion section.
- Mandatory if the app is on iOS and has any in-app purchase or subscription — declared above, found in the build files or confirmed by me: in the Purchases and subscriptions section, include this sentence unchanged: For the iOS version, Apple's standard [Licensed Application End User License Agreement](https://www.apple.com/legal/internet-services/itunes/dev/stdeula/) applies to your use of the App. Never leave it out when the app takes payments.
- End with this paragraph, unchanged:

  _This page was generated from a template provided by the hosting platform and completed by the app developer. It is not legal advice. The developer named above is solely responsible for its accuracy and for complying with the laws that apply to them._

## Format — this is pasted into a Markdown editor

- Reply with the finished policy only, as Markdown inside one ```markdown code block, with nothing before or after it.
- CommonMark only: headings, paragraphs, lists, bold, italics and links. No tables, no HTML, no images, no footnotes.
- Links only to the providers' own privacy policy pages, to `{{public_url}}`, to Apple's EULA as above and to the support email. Any other link is shown as plain text on the published page, so leave it out. No link shorteners, no download links.

Jest napisany dla stron publikowanych w AppFoyer, dlatego prosi o symbole zastępcze w stylu {{app_name}} i kończy się naszym zastrzeżeniem. Jeśli publikujesz gdzie indziej, usuń z kroku 3 (Step 3) linie o symbolach zastępczych, o linku do usuwania konta i o akapicie zamykającym, a zamiast tego poproś o konkretne wartości.

Zanim opublikujesz to, co napisał

Asystent przygotował szkic; publikujesz Ty. Sprawdź w tej kolejności:

  • Każdy SDK z pliku zależności pojawia się w polityce, i nie pojawia się nic, czego tam nie ma. To test mechaniczny i ten, który w praktyce przeprowadzają weryfikatorzy.
  • Każde [confirm: …] jest zastąpione prawdziwą odpowiedzią albo zdanie zostało usunięte.
  • Sekcja o podmiotach zewnętrznych zgadza się z formularzem Data safety i odpowiedziami w App Privacy. Jeśli się nie zgadzają, jedno z nich jest błędne — popraw to, które jest.
  • Jeśli aplikacja przyjmuje płatności, link do EULA Apple jest na miejscu. Aplikacja na iOS z zakupami w aplikacji lub subskrypcjami podaje w polityce prywatności link do standardowej umowy Licensed Application End User License Agreement Apple; prompt o to prosi, więc sprawdź, czy link przetrwał.
  • Okresy przechowywania są Twoje. Tylko Ty wiesz, co i jak długo przechowuje Twój backend.
  • Wszystko nietypowe idzie do prawnika. Dane o zdrowiu, finanse, dzieci albo dane udostępniane partnerowi — prompt nie zmienia tego, czego szablon nie jest w stanie objąć.

Co robi tutaj AppFoyer

Edytor strony prywatności w panelu ma panel Write it with your own AI (Napisz to z własnym AI): ten sam prompt, już wypełniony nazwą Twojej aplikacji, deweloperem, adresem wsparcia, platformami, linkami do sklepów i zadeklarowanymi danymi. Skopiuj go, uruchom w dowolnym asystencie i wklej odpowiedź z powrotem do panelu — Markdown zostaje wyjęty z bloku kodu i wstawiony do edytora, gdzie podgląd pokazuje dokładnie to, co zostanie opublikowane. Nic nie trafia do sieci, dopóki nie klikniesz „opublikuj”, a tekst przechodzi te same automatyczne kontrole co każda inna edycja.

Strona warunków korzystania ma taki sam panel z własnym promptem — wydrukowanym w poradniku Czy Twoja aplikacja potrzebuje regulaminu?. Jeśli używasz Claude Code, wtyczka AppFoyer wykonuje tę samą pracę dla wszystkich pięciu stron bez kopiowania i wklejania i również nie może publikować. Żadna z tych dróg nie jest poradą prawną i każda strona to mówi.

Źródła oficjalne