Hướng dẫn Chính sách quyền riêng tư
Viết chính sách quyền riêng tư cho ứng dụng bằng trợ lý AI — một prompt hiệu quả
Vì sao "viết cho tôi một chính sách quyền riêng tư" chỉ cho ra văn bản chung chung, prompt phải bắt trợ lý làm gì thay vào đó, và một prompt sẵn dùng để sao chép vào Claude, ChatGPT, Cursor hay bất kỳ coding agent nào.
Hãy đưa cho trợ lý bằng chứng, không phải một bảng câu hỏi. Trỏ một coding agent vào các tệp build của ứng dụng để nó nêu tên những SDK và quyền mà ứng dụng thực sự mang theo, để nó chỉ hỏi bạn những gì nó không thể biết, và cấm nó đoán — những điều chưa rõ trở thành ghi chú [confirm]. Sau đó kiểm tra xem mọi SDK trong tệp khai báo phụ thuộc đều xuất hiện trong kết quả.
Làm việc này trong vài phút thay vì thế
AppFoyer lưu trữ các trang mà hướng dẫn này nói đến — chính sách quyền riêng tư, điều khoản, hỗ trợ, xóa tài khoản và app-ads.txt — trên subdomain riêng của ứng dụng, không cần tên miền hay máy chủ của riêng bạn. Một ứng dụng được miễn phí, và không có gì cửa hàng yêu cầu lại bị đặt sau tường phí.
Đã kiểm tra ngày 19 tháng 9, 2026. Chính sách của cửa hàng thay đổi, đôi khi không báo trước. Mọi thứ dưới đây đều dẫn liên kết đến tài liệu chính thức, và trang đó — không phải trang này — mới là căn cứ. Nếu hai bên mâu thuẫn, cửa hàng là đúng. Hướng dẫn này được dịch từ tiếng Anh; các trích dẫn từ tài liệu của cửa hàng được giữ nguyên bản tiếng Anh.
Một trợ lý AI sẽ viết chính sách quyền riêng tư trong mười giây. Vấn đề là nó viết dựa trên cái gì. Khi được yêu cầu “viết chính sách quyền riêng tư cho ứng dụng thể dục của tôi”, nó không có gì ngoài từ “thể dục”, nên nó tạo ra mức trung bình của mọi chính sách quyền riêng tư nó từng đọc: các điều khoản về cookie mà ứng dụng của bạn không đặt, mã nhận dạng quảng cáo cho một ứng dụng không có quảng cáo, thời hạn lưu giữ “trong thời gian cần thiết”, và không có SDK nào bạn thực sự đưa vào ứng dụng. Nó đọc rất trôi chảy. Nó cũng là phần mà người xét duyệt của cửa hàng đối chiếu với biểu mẫu Data safety và câu trả lời App Privacy của bạn, và chính ở phép đối chiếu đó nó thất bại.
Vì sao prompt một dòng thất bại
- Nó bịa ra. Một mô hình được yêu cầu điền một mục thì sẽ điền. Thời hạn lưu giữ, cơ sở pháp lý, địa chỉ công ty — mỗi thứ đều nghe hợp lý, mỗi thứ đều là một tuyên bố về việc kinh doanh của bạn mà bạn chưa hề đưa ra.
- Nó chung chung ở chỗ cần cụ thể. Mục quan trọng nhất là danh sách các dịch vụ bên thứ ba, và một mô hình chưa thấy tệp khai báo phụ thuộc của bạn thì không thể nêu tên chúng.
- Nó khai báo thừa. Liệt kê dữ liệu bạn không thu thập không phải là “an toàn”. Đó là sự không khớp với chính những gì bạn khai báo trên cửa hàng, cùng một vấn đề nhưng theo chiều ngược lại.
- Nó định dạng cho cửa sổ chat. Bảng, chú thích cuối trang và HTML nội dòng trông ổn trong câu trả lời nhưng bị vỡ ở bất cứ nơi nào bạn dán vào.
Prompt phải bắt nó làm gì
- Đọc bằng chứng trước. Một coding agent được mở trong repository của bạn — Claude Code,
Cursor, Codex và các công cụ tương tự — có thể đọc
build.gradle,Podfile.lock,Info.plistvà manifest, rồi liệt kê mọi SDK và quyền kèm tệp nguồn gốc. Danh sách đó là nội dung cốt lõi của chính sách. Một trợ lý chat không có quyền truy cập tệp thì nên được yêu cầu hỏi bạn dán các tệp đó vào. - Không động vào bất cứ thứ gì khác. Các tệp build và manifest là đủ. Không có lý do gì để nó mở
tệp
.env, keystore hay mã nguồn, và một prompt nói rõ điều đó là bớt đi một mối lo. - Chỉ hỏi những gì không đọc được. Bạn giữ dữ liệu bao lâu, có backend hay không, ứng dụng có nhắm đến trẻ em không, bạn có chia sẻ dữ liệu với một đối tác không để lại dấu vết nào trong bản build không. Không cần hỏi gì khác.
- Từ chối đoán. Chỗ nào bạn không biết, nó viết
[confirm: …]thay vì một câu văn. Một khoảng trống nhìn thấy được thì sửa được; một điều khoản bịa ra là một tuyên bố đã được công bố. - Viết cho nơi nó sẽ được xuất bản. Markdown thuần, chỉ có liên kết khi hữu ích — các trang quyền riêng tư của chính nhà cung cấp, địa chỉ hỗ trợ của bạn — và lời miễn trừ rằng văn bản không phải là tư vấn pháp lý.
Prompt
Sao chép toàn bộ. Thay các dữ kiện trong ngoặc vuông ở đầu, hoặc để nguyên và để trợ lý hỏi.
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 này được viết cho các trang xuất bản trên AppFoyer, đó là lý do nó yêu cầu các chỗ giữ chỗ kiểu
{{app_name}} và kết thúc bằng lời miễn trừ của chúng tôi. Nếu bạn xuất bản ở nơi khác, hãy xóa các
dòng ở Step 3 về chỗ giữ chỗ, liên kết xóa tài khoản và đoạn kết, và yêu cầu điền giá trị thật thay
vào.
Trước khi xuất bản những gì nó viết
Trợ lý soạn thảo; bạn là người xuất bản. Hãy kiểm tra, theo thứ tự này:
- Mọi SDK trong tệp khai báo phụ thuộc đều xuất hiện trong chính sách, và không có gì xuất hiện mà không có ở đó. Đây là phép kiểm tra máy móc và cũng là phép kiểm tra mà người xét duyệt thực chất tiến hành.
- Mọi
[confirm: …]đều đã được thay bằng câu trả lời thật, hoặc câu đó đã bị xóa. - Phần bên thứ ba khớp với biểu mẫu Data safety và câu trả lời App Privacy của bạn. Nếu chúng không khớp, một trong số đó sai — hãy sửa nó, dù là cái nào.
- Nếu ứng dụng có thanh toán, liên kết EULA của Apple phải có mặt. Một ứng dụng iOS có mua hàng trong ứng dụng hoặc gói thuê bao phải liên kết đến Licensed Application End User License Agreement tiêu chuẩn của Apple từ chính sách quyền riêng tư; prompt có yêu cầu điều đó, nên hãy kiểm tra xem nó còn đó không.
- Thời hạn lưu giữ là của bạn. Chỉ bạn biết backend của mình giữ những gì và trong bao lâu.
- Mọi điều bất thường hãy hỏi luật sư. Dữ liệu sức khỏe, tài chính, trẻ em, hoặc dữ liệu chia sẻ với đối tác — một prompt không thay đổi được những gì một mẫu không thể bao quát.
AppFoyer làm gì ở đây
Trình soạn thảo trang quyền riêng tư trong dashboard có bảng Write it with your own AI (Viết bằng AI của riêng bạn): cùng prompt đó, đã điền sẵn tên ứng dụng, nhà phát triển, email hỗ trợ, nền tảng, liên kết cửa hàng và dữ liệu bạn đã khai báo. Sao chép nó, chạy trong trợ lý bạn dùng, và dán câu trả lời trở lại bảng — Markdown được lấy ra khỏi khối code và đưa vào trình soạn thảo, nơi bản xem trước hiển thị chính xác những gì sẽ được xuất bản. Không có gì lên mạng cho đến khi bạn nhấn xuất bản, và văn bản đi qua cùng các bước kiểm tra tự động như mọi chỉnh sửa khác.
Trang điều khoản có cùng bảng đó với prompt riêng — được in trong Ứng dụng của bạn có cần điều khoản dịch vụ không?. Nếu bạn dùng Claude Code, plugin AppFoyer làm cùng việc đó cho cả năm trang mà không cần sao chép và dán, và nó cũng không thể xuất bản. Không lối nào là tư vấn pháp lý, và mọi trang đều ghi rõ điều đó.
Nguồn chính thức
- Yêu cầu về chính sách quyền riêng tư — Trung tâm trợ giúp Google Play
- Cung cấp thông tin cho mục An toàn dữ liệu của Google Play — Trung tâm trợ giúp Google Play Console, về việc dữ liệu của SDK là thứ bạn phải khai báo
- Chi tiết quyền riêng tư của ứng dụng trên App Store — Apple