Guideline 5.1.1: hiểu và sửa lỗi bị App Store từ chối
Bởi Mehdi Azizi
Đăng ngày , 9 phút
Guideline 5.1.1 yêu cầu chính sách quyền riêng tư đầy đủ, xin quyền trung thực và cho xóa tài khoản. Đây là 3 lần bị từ chối thật trên app của tôi.
Guideline 5.1.1 là quy định của Apple về thu thập và lưu trữ dữ liệu. Trong ba lần tôi bị từ chối thuộc nhóm này, nguyên nhân đều nằm ở một trong hai chỗ lệch: những gì app làm với dữ liệu không khớp với những gì đã khai báo, hoặc màn hình xin quyền thúc người dùng bấm đồng ý.
Bài này chỉ nói về đúng quy định đó: các điểm con của nó, những gì tôi kiểm tra trước khi gửi và cần sửa gì, kèm ba lần bị từ chối mà tôi đã gặp trên chính app của mình. Nếu muốn xem tổng quan mọi lý do, hãy đọc vì sao Apple từ chối một app.
Guideline 5.1.1 là gì?
Guideline 5.1.1, "Data Collection and Storage", quy định những gì một app phải tuân thủ ngay khi đụng đến dữ liệu cá nhân: chính sách quyền riêng tư đầy đủ, có sự đồng ý trước khi thu thập, yêu cầu cấp quyền trung thực và tài khoản có thể xóa được. Nó áp dụng cho mọi app, kể cả app gần như không thu thập gì.
Văn bản chính thức nằm trong App Review Guidelines, mục 5 "Legal", phần 5.1 "Privacy". Thông báo của Apple thường trích một điểm con cụ thể trong ngoặc: 5.1.1(i), 5.1.1(iv), 5.1.1(v). Chính điểm con này cho bạn biết phải tìm ở đâu.
Năm điểm con của 5.1.1 cần biết trước tiên
| Điểm con | Apple yêu cầu gì | Lý do từ chối điển hình |
|---|---|---|
| 5.1.1(i) Privacy Policies | Chính sách đầy đủ, có liên kết | Không có hoặc thiếu nội dung |
| 5.1.1(ii) Permission | Đồng ý trước khi thu thập | Mô tả xin quyền mơ hồ |
| 5.1.1(iii) Data Minimization | Chỉ dữ liệu thật sự cần | Truy cập toàn bộ ảnh |
| 5.1.1(iv) Access | Không thúc ép chấp nhận | Màn hình thúc ép chấp nhận |
| 5.1.1(v) Account Sign-In | Không bắt buộc tài khoản | Bắt buộc đăng nhập |
Ba điều cần làm rõ. Chính sách quyền riêng tư phải được liên kết trong App Store Connect và trong app. Nó nói rõ dữ liệu nào được thu thập, thu thập thế nào và để làm gì, xác nhận rằng các bên thứ ba nhận dữ liệu cũng bảo vệ ở mức tương đương, và giải thích cách rút lại sự đồng ý hoặc yêu cầu xóa dữ liệu. Một tính năng trả phí không được phụ thuộc vào quyền truy cập dữ liệu mà người dùng có quyền từ chối. Và tài khoản tạo trong app phải xóa được ngay trong app.
Quy định này còn các điểm con khác, từ (vi) đến (x), cho những trường hợp đặc thù hơn như các lĩnh vực có quản lý hoặc việc tổng hợp dữ liệu cá nhân.
Ba thứ tôi đối chiếu trước khi gửi
Tôi không có cẩm nang của reviewer. Đây là những gì tôi tự đối chiếu trước mỗi lần gửi, vì các lần bị từ chối của tôi đều đến từ chỗ lệch giữa những thứ này:
- những gì chính sách trên mạng nói, tại URL đã khai báo trong App Store Connect;
- những gì app thực sự làm, từng màn hình một, kể cả từng yêu cầu cấp quyền;
- những gì được khai báo trên trang app, ở phần quyền riêng tư của app (App Privacy Details).
Tôi cũng thử từng màn hình xin quyền bằng cách đóng app rồi mở lại. Đó là nguyên nhân tôi tìm ra cho lần bị từ chối thứ hai của Nolera.
Ba lần bị từ chối 5.1.1 của tôi, và nguyên nhân thật
Clic: chính sách trên mạng vẫn là bản cũ
Clic biến một sản phẩm thành các slide sẵn sàng đăng, nhờ AI. Ngày 16 tháng 9 năm 2026, Apple từ chối app, trích 5.1.1(i) và 5.1.2(i). Màn hình đồng ý dùng AI đã có trong app. Vấn đề nằm ngoài app: chính sách quyền riêng tư đăng trên website vẫn là bản cũ. Bản mới đã có, nhưng chưa được đưa lên mạng.
Cách sửa: đăng chính sách đầy đủ, thêm bản tóm tắt tiếng Anh cho reviewer, cập nhật ghi chú review. Tôi không build lại: tôi gửi lại đúng bản đã nộp.
Bài học: Apple đọc những gì đang có trên mạng, không phải những gì trong repo của bạn. Vào ngày gửi, hãy mở URL chính sách và tìm tên từng dịch vụ bên thứ ba mà app bạn dùng.
Nolera: nút "Cho phép" trước yêu cầu của hệ thống
Nolera là app tủ quần áo của tôi. Ngày 17 tháng 9 năm 2026, sau khi review trên iPad Air, Apple trích 5.1.1(iv). Trước khi xin quyền camera, app hiện một màn hình giải thích với nút "Allow the camera".
Quy tắc thiết kế của Apple rất rõ ở điểm này. Một màn hình tự làm đặt trước yêu cầu của hệ thống chỉ được có một nút duy nhất, mở ra yêu cầu đó. Apple khuyên dùng từ như "Continue" hoặc "Next", không dùng "Allow": một nút trông giống nút của hệ thống sẽ khiến người dùng bấm tiếp vào nút "Allow" thật mà không thực sự muốn.
Quy tắc này nhắm vào các màn hình đặt trước yêu cầu của hệ thống: camera, micro, vị trí, danh bạ, lịch, theo dõi. Nó có một ngoại lệ, cho sự đồng ý mà luật pháp bắt buộc.
Cách sửa: nút được đổi thành "Continue", trong cả 8 ngôn ngữ của app.
Bài học: màn hình chuẩn bị xin quyền thì giải thích. Nó không quyết định thay người dùng.
Nolera, lần từ chối thứ hai: màn hình "camera bị từ chối" hiện trước yêu cầu
Gửi lại, Nolera bị từ chối lần thứ hai ngày 22 tháng 9 năm 2026, vẫn là 5.1.1(iv), lần này trên iPad Pro 11 inch. Apple nêu hai điểm: một lời dẫn sang Settings trước khi xin quyền, và một màn hình có thể rời đi mà không thấy yêu cầu đó.
Nguyên nhân tôi tìm ra: một trường hợp tôi chưa thử. Màn hình chụp ảnh hiện bảng "camera bị từ chối", kèm liên kết sang Settings và một phương án thay thế, ngay khi quyền chưa được cấp. Kể cả khi nó chưa từng được xin. Trong luồng bình thường, màn hình giải thích hiện trước nên mọi thứ ổn. Nhưng nếu đóng app giữa chừng rồi mở lại, người dùng vào thẳng màn hình chụp ảnh mà chưa thấy yêu cầu của hệ thống.
Cách sửa: chừng nào iOS còn có thể hỏi, màn hình tự kích hoạt yêu cầu của hệ thống. Bảng "camera bị từ chối" chỉ xuất hiện sau khi người dùng thật sự từ chối. Bản sửa này cần build mới, vì reviewer thử đoạn code nằm trong app.
Bài học: "chưa từng xin" và "đã bị từ chối" là hai trạng thái khác nhau. Hãy thử từng màn hình xin quyền bằng cách quay lại nó sau khi đóng app, chứ không chỉ theo thứ tự của luồng.
5.1.1 và AI: 5.1.2(i) bổ sung điều gì
Với Clic, Apple trích 5.1.2(i) cùng với 5.1.1. Quy định này yêu cầu nói rõ dữ liệu cá nhân được chia sẻ với bên thứ ba ở đâu, và nó gọi tên cụ thể AI bên thứ ba ("third-party AI"). Nó cũng yêu cầu xin phép rõ ràng trước khi chia sẻ.
Cách tôi làm từ sau lần từ chối đó: ba thứ khớp nhau.
- Một màn hình đồng ý trong app, trước lần gửi đầu tiên, nói rõ dữ liệu nào được gửi đến dịch vụ nào.
- Cùng thông tin đó trong chính sách quyền riêng tư trên mạng.
- Cùng thông tin đó trong khai báo quyền riêng tư trên trang app.
Chi tiết những gì chính sách cần có nằm trong bài chính sách quyền riêng tư của ứng dụng.
Trả lời Apple thế nào sau khi bị từ chối 5.1.1
Cuộc trao đổi diễn ra trong mục App Review của app bạn, trong App Store Connect. Quy trình chính thức để trả lời App Review giống như với các quy định khác. Hãy viết bằng tiếng Anh, ngắn gọn: vấn đề là gì, đã thay đổi gì, kiểm tra thế nào. Đây là mẫu tôi dùng (thay số build và bản sửa bằng của bạn):
Hello,
Thank you for your review.
Issue: the custom screen shown before the camera permission
request used an "Allow" button, and the "camera denied" panel
could appear before the system alert had ever been shown.
Fix in build X:
- The custom screen now has a single "Continue" button that
opens the system alert.
- The "camera denied" panel only appears after the user has
actually denied access in the system alert.
How to verify: delete the app, install this build, launch it
and go to the photo step. The system alert appears first.
Best regards,
Có hai trường hợp:
- Nguyên nhân nằm trên mạng (chính sách, trang hỗ trợ, khai báo trên trang app): bạn sửa, trả lời, và cùng bản nộp đó có thể được xét lại mà không cần build mới.
- Nguyên nhân nằm trong app (màn hình, nút, thứ tự các yêu cầu): cần build mới. Cập nhật từ xa là không đủ, như tôi giải thích trong bài về guideline 2.1.
Checklist 5.1.1 trước khi nộp
- URL chính sách quyền riêng tư mở được, và trang trên mạng là bản mới nhất.
- Chính sách nêu tên từng dịch vụ bên thứ ba nhận dữ liệu, kể cả AI. Đây là quy tắc của tôi, chặt hơn văn bản của Apple.
- Khai báo quyền riêng tư trên trang app nói cùng một điều với chính sách và với privacy manifest của build.
- Mỗi mô tả xin quyền giải thích mục đích bằng một câu cụ thể.
- Không xin quyền nào lúc khởi động nếu app vẫn chạy được mà không cần nó. Cùng logic cho các chế độ chạy nền: không khai báo chế độ nào nếu không có tính năng dùng đến nó.
- Màn hình tự làm trước một yêu cầu chỉ có một nút, "Continue", mở ra yêu cầu của hệ thống.
- Người từ chối một quyền vẫn có thể tiếp tục theo cách khác, hoặc hiểu mình mất gì.
- Màn hình "quyền bị từ chối" chỉ hiện sau khi thật sự bị từ chối. Bạn đã thử bằng cách đóng rồi mở lại app.
- App dùng được mà không cần tài khoản khi tài khoản không thật sự cần thiết.
- Tài khoản tạo trong app xóa được ngay trong app: cách làm có trong bài xóa tài khoản trên iOS.
- Mọi thứ đều được thử cả trên iPad: hai lần bị từ chối 5.1.1 của Nolera đều được phát hiện trên iPad.
Sửa lỗi bị từ chối cùng người đã từng gặp đúng lỗi đó
Nếu app của bạn vừa bị từ chối vì 5.1.1, Apple Review Kit giúp bạn tìm lại quy định được trích, nội dung nó yêu cầu, và một ví dụ về cách sửa và cách trả lời. Nếu bạn muốn chúng ta cùng xem hồ sơ ngay bây giờ, đặt một giờ với tôi, qua video call. Toàn bộ quy trình cũng có trên trang ứng dụng bị Apple từ chối.
Nếu bạn đang chuẩn bị ra mắt lần đầu, làm bài chẩn đoán miễn phí: nó sắp lại các bước của bạn theo đúng thứ tự và gửi bạn checklist chống bị Apple từ chối của tôi, bao gồm cả phần quyền riêng tư. Để tạo ứng dụng di động được thiết kế để qua review ngay từ đầu, lộ trình bốn bước của iOS Kit đi từ ý tưởng đến lúc gửi cho Apple.
Không ai có thể đảm bảo Apple sẽ chấp nhận app của bạn. Điều tôi có thể làm là giúp bạn tránh những lần từ chối 5.1.1 mà tôi đã phải trả giá bằng một vòng review.
Câu hỏi thường gặp
"Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage" nghĩa là gì?
Đó là tên đầy đủ của quy định trong thông báo của Apple. Nó báo một vấn đề về dữ liệu cá nhân: chính sách quyền riêng tư thiếu, yêu cầu cấp quyền bị coi là thúc ép, hoặc tài khoản không xóa được. Điểm con trong ngoặc, ví dụ 5.1.1(iv), cho biết là vấn đề nào.
Có cần build mới sau khi bị từ chối 5.1.1 không?
Không phải lúc nào cũng cần. Nếu nguyên nhân nằm trên mạng, như chính sách quyền riêng tư chưa cập nhật, bạn sửa trang đó, trả lời Apple và bản nộp được xét lại mà không cần build mới. Nếu nguyên nhân là một màn hình hay một nút trong app, cần build mới.
Có được hiện màn hình giải thích trước khi xin quyền không?
Có, Apple cho phép khi việc đó thật sự hữu ích. Khi đó màn hình chỉ có một nút, mở ra yêu cầu của hệ thống, với từ như "Continue" hoặc "Next". Không có nút "Allow", không có nút đóng hay bỏ qua, trừ khi là sự đồng ý mà luật pháp bắt buộc.
App của tôi dùng AI bên ngoài: cần khai báo gì?
Guideline 5.1.2(i) yêu cầu nói rõ dữ liệu được chia sẻ với bên thứ ba ở đâu, kể cả AI, và xin phép rõ ràng trước đó. Tôi áp dụng ở ba chỗ: một màn hình đồng ý trong app, chính sách quyền riêng tư trên mạng, và khai báo quyền riêng tư trên trang app. Với Clic, Apple đã trích quy định này cùng với 5.1.1.
Tài khoản có bắt buộc để tuân thủ 5.1.1 không?
Không, ngược lại mới đúng. Nếu app không có tính năng nào thật sự cần tài khoản, Apple yêu cầu để app dùng được mà không cần đăng nhập. Và nếu app cho phép tạo tài khoản, nó cũng phải cho phép xóa tài khoản ngay trong app.