Gửi thông tin liên quan đến quyền riêng tư cho Apple App Store
Apple muốn đảm bảo người dùng hiểu rõ hoạt động dữ liệu của ứng dụng trước khi tải ứng dụng về máy. Do vậy, Apple đã yêu cầu tất cả ứng dụng được phát hành trên App Store phải có danh sách liệt kê loại dữ liệu mà ứng dụng thu thập, cũng như ghi rõ dữ liệu đó có khả năng định danh hay theo dấu người dùng hay không. Apple gọi danh sách đó là nutrition label.
Khi nhà phát triển đưa (submit) một ứng dụng lên App Store Connect, họ cần trả lời các câu hỏi về quyền riêng tư mà Apple đặt ra. Câu hỏi xoay quanh về quan hệ hợp tác với bên thứ ba, ví dụ Adjust, đối tác có SDK code được tích hợp vào ứng dụng.
Kể từ ngày 1 tháng 5 năm 2024, Apple yêu cầu ứng dụng, nếu đang sử dụng những SDK bên thứ ba phổ biến, thì phải cung cấp thêm các thông tin sau:
- Lý do cần sử dụng API có tên trong danh sách mà Apple liệt kê.
- Privacy manifest.
- Chữ ký hợp lệ khi SDK được thêm dưới dạng binary dependency.
Apple không liệt kê SDK của Adjust trong danh sách các SDK bên thứ ba phổ biến. Tuy nhiên, SDK của Adjust có truy cập vào một số API có trong danh sách của Apple, cũng như có thu thập một số điểm dữ liệu mà Apple yêu cầu kê khai. Adjust SDK đã bổ sung tất cả yêu cầu của Apple vào phiên bản v4.38.0 trở lên. Để hiểu hơn về mối liên hệ giữa yêu cầu của Apple với Adjust SDK, bạn có thể tham khảo hướng dẫn dưới đây.
Sau khi gửi ứng dụng lên App Store Connect, bạn cần:
- Đảm bảo tất cả SDK bên thứ ba mà ứng dụng của bạn đang sử dụng đã có file privacy manifest; hoặc cập nhật privacy manifest của ứng dụng để bổ sung các thông tin liên quan đến SDK bên thứ ba.
- Kê khai những điểm dữ liệu nhạy cảm mà ứng dụng của bạn đang thu thập (nutrition label được tạo dựng dựa trên các thông tin này).
- Nếu ứng dụng của bạn đang sử dụng một số API nhất định, giải thích lý do bạn cần truy cập API đó.
- Liệt kê tất cả tên miền theo dấu (tracking domain).
- Đảm bảo tất cả SDK bên thứ ba mà bạn đang sử dụng đã được ký.
Privacy manifest là gì?
Ở phiên bản iOS 17, Apple giới thiệu tính năng mới có tên privacy manifest — cơ chế thông báo cho App Store biết các yêu cầu quyền riêng tư của ứng dụng. Privacy manifest chứa các thông tin sau:
- Dữ liệu đang được sử dụng cho mục đích theo dấu (tracking).
- Tên miền đang được sử dụng cho mục đích theo dấu.
- Lý do cần sử dụng API (nếu API có tên trong danh sách liệt kê của Apple, giải thích từng API một).
- Danh sách nutrition label đang được sử dụng cho ứng dụng.
Privacy manifest có hai cấp độ: cấp ứng dụng (app level) và cấp SDK (SDK level) (mỗi SDK có một file manifest riêng). Nếu SDK bên thứ ba không có file manifest, bộ phận phát triển cần bổ sung thông tin của SDK bên thứ ba vào privacy manifest của ứng dụng.
Adjust SDK có file manifest riêng, và cung cấp đầy đủ các thông tin kể trên. Privacy manifest của Adjust SDK được liệt kê cùng manifest của ứng dụng, cung cấp thông tin tổng quan về các yêu cầu dữ liệu của ứng dụng. Khi bộ phận phát triển gửi build cho App Store, App Store tiến hành đọc tất cả manifest này. Bạn vẫn cần thêm nutrition label vào giao diện gửi của Apple. Báo cáo do privacy manifest tạo có thể giúp bạn hoàn thành yêu cầu này hiệu quả hơn.
Trước khi bắt đầu
Trước khi bắt đầu, vui lòng lưu ý các thông tin sau:
- Bạn cần tích hợp Adjust SDK v4.38.0 trở lên. Vì phiên bản này mới chứa file privacy manifest.
- Bạn chịu trách nhiệm về câu trả lời của mình trên App Store Connect, đảm bảo câu trả lời là đúng và được cập nhật liên tục.
- Bạn cần ghi rõ cách Adjust SDK, bạn và các bên thứ ba thu thập và sử dụng tất cả dữ liệu đang có. Dữ liệu đang có không chỉ bao gồm các dữ liệu được đề cập trong bài này, mà còn bao gồm các dữ liệu khác, kể cả dữ liệu chỉ được thu thập và sử dụng trong một số trường hợp nhất định.
Bạn cần trả lời theo App Store Review Guidelines và tuân thủ luật định.
1. Thu thập dữ liệu bằng Adjust SDK
Bạn có thể sử dụng Adjust SDK để cài đặt loại dữ liệu mà SDK có thể gửi đi, cũng như cách dữ liệu đó được sử dụng. Bạn có thể quyết định loại dữ liệu Adjust được quyền truy cập, thông qua cách thiết lập cấu hình và triển khai Adjust SDK vào ứng dụng. Mặc dù SDK có thu thập mặc định một số dữ liệu, nhưng bạn luôn có thể chặn hoặc hạn chế Adjust nhận được các dữ liệu này, hoặc bạn có thể gửi thêm thông tin theo yêu cầu kê khai của Apple.
Ví dụ: Adjust SDK mặc định KHÔNG thu thập "Thông tin liên hệ". Nhưng nếu ứng dụng của bạn thu thập email addresses
và gửi dữ liệu này đến Adjust qua tham số tùy chỉnh (custom parameter), thì tức Adjust đang thu thập "Thông tin liên hệ".
Dưới đây là các loại dữ liệu mà Adjust thu thập theo mặc định. Vui lòng đối chiếu các dữ liệu này với dữ liệu mà bạn thiết lập cho Adjust SDK và cho phương pháp thu thập dữ liệu.
Adjust SDK chỉ có thể lấy mã IDFA của thiết bị khi người dùng cho phép ứng dụng thu thập thông tin (chọn đồng ý khi nhận thông báo ATT). Còn với mã IDFV thì không cần. Xem tài liệu User Privacy and Data Use của Apple để biết thêm thông tin.
Loại dữ liệu | Adjust có thu thập dữ liệu này không? |
---|---|
Thông tin liên hệ
| Không |
Tình trạng sức khỏe và thể hình
| Không |
Thông tin liên quan đến tài chính
| Không |
Thông tin liên quan đến vị trí
| Không |
Thông tin nhạy cảm | Không |
Liên hệ | Không |
Nội dung do người dùng tạo
| Không |
Lịch sử duyệt web | Không |
Lịch sử tìm kiếm | Không |
Mã định danh
| Có, Adjust có thay mặt bạn thu thập Device ID (ví dụ IDFA và IDFV) nhằm phục vụ cho mục đích đo lường, theo như hướng dẫn của Apple. |
Giao dịch
| Tùy chọn - Adjust có thể thu thập thông tin này nếu bạn chọn loại dữ liệu này trong SDK. |
Dữ liệu về mức độ sử dụng
|
|
Hỗ trợ chẩn đoán
| Không |
Dữ liệu khác
| Có, Adjust sẽ thay mặt bạn thu thập dữ liệu này. Ví dụ, siêu dữ liệu thiết bị, như phiên bản hệ điều hành và phiên bản Adjust SDK. |
1.1 Dữ liệu mà Adjust sử dụng
Bảng dưới đây liệt kê tất cả mục đích sử dụng dữ liệu của Adjust.
Mục đích | Thao tác bên phía Adjust |
---|---|
Quảng cáo bên thứ ba | Tùy chọn - Adjust có thể chia sẻ dữ liệu này cho công ty chịu trách nhiệm hiển thị quảng cáo bên thứ ba trên ứng dụng, với điều kiện bạn kích hoạt tính năng này. Adjust đặt giá trị này là "Yes" trong Privacy manifest của mình, vì nhận định rằng phần lớn khách hàng sẽ cài đặt tích hợp. |
Quảng cáo của nhà phát triển (Developer's Advertising) | Tùy chọn - Adjust có thể chia sẻ dữ liệu này cho công ty chịu trách nhiệm hiển thị quảng cáo bên thứ nhất trên ứng dụng, nếu bạn kích hoạt tính năng này. |
Phân tích dữ liệu | Có |
Cá nhân hóa sản phẩm | Tùy chọn - Adjust có thể chia sẻ với bạn dữ liệu dùng để cá nhân hóa sản phẩm, nếu bạn cho phép xuất dữ liệu liên quan. |
Tính năng của ứng dụng | Không |
Các mục đích khác | Không |
1.2 Dữ liệu có khả năng định danh người dùng
Adjust thu thập và lưu trữ mã định danh thiết bị (device id) theo đúng quy định của Apple. Adjust sử dụng hàm băm để mã hóa mã định danh trong quá trình tổ chức, sắp xếp dữ liệu phân tích. Một số tính năng của Adjust (chẳng hạn như Audience Builder) cần thu thập và lưu trữ IDFA ở dạng chưa mã hóa (không dùng hàm băm).
Trong phạm vi được Apple cho phép, Adjust có thể hỗ trợ bạn liên kết dữ liệu mà Adjust thu thập với Advertising ID (hay những device ID khác). Nếu bạn liên kết dữ liệu của Adjust với các mã định danh, ví dụ user ID hoặc account ID, thì tính liên kết này chỉ áp dụng cho hoạt động của bạn và do bạn toàn quyền quyết định.
2. Lý do cần sử dụng API
Apple có liệt kê một danh sách API mà nếu bạn có sử dụng các API có trong danh sách này, bạn phải nêu lý do. Lý do được điền vào mục “Required Reason API” của Privacy Manifest. API được phân loại dựa trên chức năng và loại dữ liệu mà API đó truy cập, sao cho phù hợp chủ đề của Apple. Privacy manifest của Adjust liệt kê các API sau:
API | Lý do | Giải thích |
---|---|---|
NSPrivacyAccessedAPICategoryFileTimestamp | C617.1 | Adjust sử dụng API NSFileCreationDate và NSFileModificationDate để xác định ngày cài đặt ứng dụng. |
User defaults APIs NSPrivacyAccessedAPICategoryUserDefaults | CA92.1 | SDK giữ lại dữ liệu cần cho hoạt động, chẳng hạn như số lần người dùng mở ứng dụng. |
3. Tên miền theo dấu (tracking domain)
Adjust sẽ chặn tên miền theo dấu mà bạn kê khai trong trường hợp người dùng không đồng ý cho tên miền thu thập dữ liệu (qua cơ chế ATT). Adjust SDK tiến hành kiểm tra sự đồng ý của người dùng trước khi gửi yêu cầu. Nếu người dùng cho phép, thì Adjust sẽ gửi yêu cầu đến tên miền theo dấu. Ngược lại, SDK sẽ loại bỏ điểm dữ liệu cần được người dùng cho phép, rồi mới gửi yêu cầu đến tên miền. Adjust ghi rõ tên miền theo dấu mà Adjust sử dụng trong privacy manifest.
4. Ký SDK
Apple yêu cầu SDK bên thứ ba phải được ký. Ký SDK là phương pháp mà bộ phận phát triển sử dụng để đảm bảo tính toàn vẹn và thực chất của SDK bên thứ ba, rằng phiên bản SDK này không bị chỉnh sửa và đã được xác minh qua quy trình chính thức.
Adjust SDK có đầy đủ chữ ký theo yêu cầu.
5. Cài đặt ứng dụng
Nếu bạn đang sử dụng phiên bản Adjust SDK mới nhất, thì privacy manifest được mặc định đính kèm.
Bạn không thể chỉnh sửa privacy manifest của Adjust. Tuy nhiên, bạn có thể thay đổi privacy manifest của ứng dụng nếu một trong các trường hợp sau xảy ra:
- Phạm vi thu thập dữ liệu của ứng dụng nằm ngoài chức năng cơ bản của Adjust, hoặc bạn muốn Adjust SDK thu thập điểm dữ liệu có trong chính sách của Apple.
- Bạn gửi dữ liệu nhạy cảm cho các tên miền theo dấu khác nhằm mục đích khác.
- Bạn truy cập các API khác (ngoài các API mà theo quy định của Apple là phải giải thích lý do sử dụng).
Không thêm tên miền theo dấu của Adjust vào privacy manifest của ứng dụng, ngay cả khi bạn đã thêm điểm dữ liệu và/hoặc các thông tin khác. Tên miền đã được cấu hình sẵn trong privacy manifest của SDK. Nếu có sử dụng tên miền theo dấu khác, bạn cần ghi rõ tên miền trong privacy manifest của ứng dụng.
Sau khi nhận được báo cáo privacy manifest, kiểm tra để đảm bảo thông tin chính xác, sau đó gán đúng nutrition label lên giao diện.