Langsung ke konten
AppFoyer
Mulai

Panduan Kebijakan privasi

Menulis kebijakan privasi aplikasi dengan asisten AI — prompt yang berhasil

Mengapa "tuliskan saya kebijakan privasi" menghasilkan teks generik, apa yang harus dibuat prompt agar asisten bekerja dengan benar, dan prompt siap pakai yang dapat Anda salin ke Claude, ChatGPT, Cursor, atau agen coding apa pun.

Berikan bukti kepada asisten, bukan kuesioner. Arahkan agen coding ke file build aplikasi Anda agar ia menyebutkan SDK dan izin yang benar-benar disertakan aplikasi, minta ia hanya menanyakan apa yang tidak dapat diketahuinya, dan larang ia menebak — hal yang tidak diketahui menjadi catatan [confirm]. Lalu periksa bahwa setiap SDK di file dependensi Anda muncul di hasilnya.

1:09
Video 1:09 · dibuka di YouTube

Selesaikan ini dalam beberapa menit saja

AppFoyer meng-hosting halaman yang dibahas panduan ini — kebijakan privasi, ketentuan, dukungan, penghapusan akun, dan app-ads.txt — di subdomainnya sendiri, tanpa domain atau server milik Anda. Satu aplikasi gratis, dan tidak ada yang diwajibkan toko yang pernah berada di balik paywall.

Diperiksa 19 September 2026. Kebijakan toko berubah, terkadang tanpa pemberitahuan. Semua yang ada di bawah menautkan dokumentasi resmi, dan halaman itulah — bukan halaman ini — yang menjadi acuan. Jika keduanya tidak sejalan, toko yang benar. Panduan ini diterjemahkan dari bahasa Inggris; kutipan dari dokumentasi toko dipertahankan dalam bahasa Inggris aslinya.

Asisten AI dapat menulis kebijakan privasi dalam sepuluh detik. Masalahnya adalah dari apa ia menulisnya. Jika diminta “tuliskan kebijakan privasi untuk aplikasi kebugaran saya”, ia hanya punya kata “kebugaran”, sehingga ia menghasilkan rata-rata dari semua kebijakan privasi yang pernah dibacanya: klausul tentang cookie yang tidak dipasang aplikasi Anda, pengenal iklan untuk aplikasi tanpa iklan, periode retensi “selama diperlukan”, dan tidak satu pun SDK yang benar-benar Anda sertakan. Teksnya enak dibaca. Teks itu juga bagian yang dibandingkan peninjau toko dengan formulir Data safety dan jawaban App Privacy Anda, dan di perbandingan itulah teks tersebut gagal.

Mengapa prompt satu baris gagal

  • Ia mengarang. Model yang diminta mengisi suatu bagian akan mengisinya. Periode retensi, dasar hukum, alamat perusahaan — masing-masing masuk akal, masing-masing merupakan pernyataan tentang bisnis Anda yang tidak pernah Anda buat.
  • Ia generik di tempat yang harus spesifik. Bagian yang paling penting adalah daftar layanan pihak ketiga, dan model yang belum melihat file dependensi Anda tidak dapat menyebutkannya.
  • Ia mendeklarasikan berlebihan. Mencantumkan data yang tidak Anda kumpulkan bukanlah “aman”. Itu adalah ketidaksesuaian dengan deklarasi toko Anda sendiri, yaitu masalah yang sama dari arah sebaliknya.
  • Ia memformat untuk jendela chat. Tabel, catatan kaki, dan HTML inline tampak baik di balasan tetapi rusak di mana pun Anda menempelkannya.

Apa yang harus dibuat prompt agar ia lakukan

  1. Membaca bukti terlebih dahulu. Agen coding yang dibuka di repositori Anda — Claude Code, Cursor, Codex, dan sejenisnya — dapat membaca build.gradle, Podfile.lock, Info.plist, dan manifest, lalu mendaftarkan setiap SDK dan izin beserta file asalnya. Daftar itulah inti kebijakan. Asisten chat tanpa akses file sebaiknya diminta untuk meminta Anda menempelkan file-file tersebut.
  2. Menjauhi semua hal lain. File build dan manifest sudah cukup. Tidak ada alasan baginya untuk membuka file .env, keystore, atau kode sumber, dan prompt yang menyatakannya berarti satu hal yang tidak perlu Anda khawatirkan.
  3. Hanya menanyakan apa yang tidak dapat dibaca. Berapa lama Anda menyimpan data, apakah ada backend, apakah aplikasi ditujukan untuk anak-anak, apakah Anda membagikan data dengan mitra yang tidak meninggalkan jejak di build. Tidak ada hal lain yang perlu ditanyakan.
  4. Menolak menebak. Jika Anda tidak tahu, ia menulis [confirm: …] alih-alih sebuah kalimat. Celah yang terlihat dapat diperbaiki; klausul yang dikarang adalah pernyataan yang dipublikasikan.
  5. Menulis sesuai tempat publikasinya. Markdown biasa, tautan hanya jika berguna — halaman privasi milik penyedia sendiri, alamat dukungan Anda — dan pernyataan bahwa teks tersebut bukan nasihat hukum.

Prompt-nya

Salin seluruhnya. Ganti fakta dalam kurung siku di bagian atas, atau biarkan saja dan biarkan asisten yang bertanya.

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.

Prompt ini ditulis untuk halaman yang dipublikasikan di AppFoyer, itulah sebabnya ia meminta placeholder bergaya {{app_name}} dan diakhiri dengan pernyataan penyangkalan kami. Jika Anda memublikasikan di tempat lain, hapus baris-baris di Step 3 tentang placeholder, tautan penghapusan, dan paragraf penutup, lalu minta nilai sebenarnya sebagai gantinya.

Sebelum Anda memublikasikan hasil tulisannya

Asisten yang menyusun drafnya; Andalah yang memublikasikannya. Periksa, dengan urutan ini:

  • Setiap SDK di file dependensi Anda muncul di kebijakan, dan tidak ada yang muncul jika tidak ada di sana. Inilah uji mekanisnya, dan pada dasarnya uji inilah yang dijalankan peninjau.
  • Setiap [confirm: …] sudah diganti dengan jawaban sebenarnya, atau kalimatnya dihapus.
  • Bagian pihak ketiga sesuai dengan formulir Data safety dan jawaban App Privacy Anda. Jika tidak cocok, salah satunya keliru — perbaiki, mana pun itu.
  • Jika aplikasi menerima pembayaran, tautan EULA Apple ada di sana. Aplikasi iOS dengan pembelian dalam aplikasi atau langganan menautkan Licensed Application End User License Agreement standar Apple dari kebijakan privasinya; prompt memintanya, jadi periksa bahwa tautan itu tetap ada.
  • Periode retensi adalah milik Anda. Hanya Anda yang tahu apa yang disimpan backend Anda dan berapa lama.
  • Apa pun yang tidak biasa dibawa ke pengacara. Data kesehatan, keuangan, anak-anak, atau data yang dibagikan dengan mitra — prompt tidak mengubah apa yang tidak dapat dicakup oleh template.

Apa yang dilakukan AppFoyer di sini

Editor halaman privasi di dashboard memiliki panel Write it with your own AI (Tulis dengan AI Anda sendiri): prompt yang sama, sudah diisi dengan nama aplikasi, developer, email dukungan, platform, tautan toko, dan data yang Anda deklarasikan. Salin, jalankan di asisten apa pun yang Anda gunakan, lalu tempelkan balasannya kembali ke panel — Markdown diambil dari blok kodenya dan dimasukkan ke editor, tempat pratinjau menampilkan persis apa yang akan dipublikasikan. Tidak ada yang menjadi publik sampai Anda mengeklik publikasikan, dan teksnya melewati pemeriksaan otomatis yang sama seperti suntingan lainnya.

Halaman ketentuan memiliki panel yang sama dengan prompt-nya sendiri — dicantumkan di Apakah aplikasi Anda memerlukan ketentuan layanan?. Jika Anda menggunakan Claude Code, plugin AppFoyer melakukan pekerjaan yang sama untuk kelima halaman tanpa salin-tempel, dan plugin itu juga tidak dapat memublikasikan. Tidak satu pun jalur ini merupakan nasihat hukum, dan setiap halaman menyatakan hal itu.

Sumber resmi