App Privacy App Store Connect: ต้องประกาศอะไรสำหรับ SDK
โดย Mehdi Azizi
เผยแพร่เมื่อ , 9 นาที
App Privacy คือการประกาศข้อมูลที่แอปและ SDK ของคุณเก็บ การใช้งาน การเชื่อมโยงกับผู้ใช้ และการติดตาม ต้องเผยแพร่ก่อนส่งเวอร์ชันตรวจ
App Privacy คือส่วนหนึ่งใน App Store Connect ที่ใช้สร้างป้ายความเป็นส่วนตัว (privacy label) บนหน้าแอปของคุณ ในส่วนนี้คุณต้องประกาศข้อมูลทุกประเภทที่แอปของคุณ และ SDK ที่คุณใส่ไว้ในแอป เก็บรวบรวม ได้แก่ ใช้ทำอะไร เชื่อมโยงกับผู้ใช้หรือไม่ และใช้เพื่อการติดตามหรือไม่ ตราบใดที่คำตอบยังไม่ได้เผยแพร่ App Store Connect จะไม่ยอมให้คุณเพิ่มเวอร์ชันเข้าไปในการส่งตรวจ
คำตอบแก้ไขได้ทุกเมื่อ โดยไม่ต้องสร้าง build ใหม่ ส่วนที่ยากที่สุดคือการรู้ว่าต้องประกาศอะไรสำหรับ RevenueCat, Sentry, PostHog, Supabase, AppsFlyer, Meta หรือการแจ้งเตือนของ Expo ตารางด้านล่างอ้างอิงจากเอกสารของ SDK แต่ละตัวและ manifest ที่มาพร้อม SDK ซึ่งผมอ่านทบทวนเมื่อวันที่ 15 ตุลาคม 2026
ผมเผยแพร่แอป iOS ของตัวเองด้วย Expo และ SDK เหล่านี้ คู่มือนี้บอกว่า Apple ต้องการอะไรและผมทำอะไรไปบ้าง แต่ไม่ได้แทนคำปรึกษาทางกฎหมาย
App Privacy, นโยบาย และ manifest: สามสิ่งที่ต่างกัน
- นโยบายความเป็นส่วนตัว คือหน้าเว็บที่คุณใส่ที่อยู่ไว้ วิธีทำอยู่ใน นโยบายความเป็นส่วนตัวของแอป iOS
- Privacy manifest คือไฟล์
PrivacyInfo.xcprivacyที่ฝังอยู่ใน build รายละเอียดอยู่ใน คู่มือ ITMS-91053 - App Privacy คือแบบสอบถามใน App Store Connect ซึ่งจะแสดงบนหน้าแอปของคุณเป็นสามส่วน: ข้อมูลที่ใช้ติดตามคุณ, ข้อมูลที่เชื่อมโยงกับคุณ, ข้อมูลที่ไม่เชื่อมโยงกับคุณ
ทั้งสามอย่างต้องเล่าเรื่องเดียวกัน หน้า App Privacy Details ของ Apple ระบุว่าข้อมูลเหล่านี้จำเป็นสำหรับการส่งแอปและการอัปเดต และครอบคลุมถึงพาร์ทเนอร์ภายนอกของคุณด้วย เช่น เครื่องมือวิเคราะห์ เครือข่ายโฆษณา SDK และผู้ให้บริการที่คุณใส่โค้ดของเขาไว้
กรอก App Privacy ทีละขั้นตอน
เอกสารช่วยเหลือของ App Store Connect อธิบายขั้นตอนด้านล่างนี้
การกรอกแบบสอบถามนี้ บทบาทของคุณต้องเป็น Account Holder, Admin หรือ App Manager
- ใน Apps ให้เปิดแอปของคุณ แล้วเลือก App Privacy ในแถบด้านข้าง
- คลิก Get Started
- ตอบคำถามแรก: คุณหรือพาร์ทเนอร์ของคุณเก็บข้อมูลหรือไม่? ถ้าไม่ ให้เลือก "No, we do not collect data from this app" แล้วบันทึก เท่านี้ก็เสร็จ
- ถ้าเก็บ ให้ติ๊กข้อมูลทุกประเภทที่ถูกเก็บ ไม่ว่าจะโดยโค้ดของคุณหรือโดย SDK
- สำหรับแต่ละประเภท ให้ตอบสามคำถาม: การใช้งาน การเชื่อมโยงกับผู้ใช้ และการติดตาม
- ตรวจดูตัวอย่างหน้าแอป (Product Page Preview) คลิก Publish แล้วยืนยัน
ถ้าแอปของคุณเผยแพร่อยู่แล้ว Apple ต้องการให้คำตอบอธิบายข้อมูลของเวอร์ชันที่เผยแพร่อยู่
เผยแพร่ก่อนส่งตรวจ เมื่อเดือนกันยายน 2026 ตอนทำแอป Piaf การเพิ่มเวอร์ชันเข้าการส่งตรวจล้มเหลวพร้อมข้อความนี้: "You must have published answers to your app's data usages." ผมหาวิธีกรอกฟอร์มนี้ผ่าน API สาธารณะของ App Store Connect ไม่เจอ ผมจึงกรอกในหน้าเว็บก่อนทำอย่างอื่นทุกครั้ง
สามคำถามที่ถามสำหรับข้อมูลแต่ละประเภท
"การเก็บรวบรวม" หมายถึงอะไร
สำหรับ Apple การเก็บรวบรวมคือ การส่งข้อมูลออกจากอุปกรณ์ และสามารถเข้าถึงข้อมูลนั้นได้นานกว่าเวลาที่ใช้ตอบสนองคำขอ ดังนั้น:
- ข้อมูลที่ประมวลผลบน iPhone เท่านั้นไม่ถือว่าถูกเก็บ
- token หรือที่อยู่ IP ที่ส่งไปแล้วถูกทิ้งทันทีก็ไม่ถือว่าถูกเก็บเช่นกัน
- ข้อมูลที่เก็บเพื่อให้แอปทำงานได้อย่างเดียวก็ยังต้องประกาศ พร้อมระบุการใช้งานนั้น
การใช้งาน
Apple มีการใช้งานให้เลือกหกแบบ: โฆษณาของบุคคลที่สาม, โฆษณาหรือการตลาดของนักพัฒนา, การวิเคราะห์, การปรับแต่งผลิตภัณฑ์ให้เหมาะกับผู้ใช้, การทำงานของแอป และการใช้งานอื่นๆ ข้อมูลเดียวกันเลือกได้หลายแบบ เช่น อีเมลที่ใช้ทั้งล็อกอินและปรับแต่งแอป ให้ติ๊กทั้งการทำงานของแอปและการปรับแต่ง
เชื่อมโยงกับผู้ใช้
ข้อมูลจะถือว่าเชื่อมโยงเมื่อผูกกับตัวตนของบุคคล ผ่านบัญชี อุปกรณ์ หรือวิธีอื่น Apple ระบุว่าส่วนใหญ่มักเชื่อมโยง เว้นแต่คุณจะทำให้ไม่ระบุตัวตนก่อนเก็บ และไม่พยายามเชื่อมโยงกลับในภายหลังเลย ทันทีที่คุณส่ง ID ของบัญชีให้ SDK (identify, setUser, logIn) ข้อมูลของ SDK นั้นจะกลายเป็นข้อมูลที่เชื่อมโยง
การติดตาม
การติดตามคือการเชื่อมข้อมูลจากแอปของคุณเข้ากับข้อมูลจากแอปหรือเว็บไซต์ของบริษัทอื่น เพื่อโฆษณาแบบเจาะกลุ่มหรือการวัดผลโฆษณา การแชร์ข้อมูลให้ data broker ก็นับด้วย SDK ที่นำข้อมูลของคุณไปรวมกับข้อมูลจากแอปอื่นเพื่อโฆษณา ถือเป็นการติดตาม แม้คุณจะไม่ได้ใช้เพื่อการนั้นก็ตาม
การตอบ "ใช่" เรื่องการติดตามมีผลสองอย่าง: ต้องขอ App Tracking Transparency ก่อนการติดตามใดๆ ซึ่งอธิบายไว้ใน guideline 5.1.2 และต้องมี manifest ที่ประกาศการติดตามพร้อมโดเมน ถ้าไม่มีโดเมนเหล่านี้ คุณจะเจอ ข้อผิดพลาด ITMS-91064
ต้องประกาศอะไรสำหรับ SDK ในแอป Expo
ตารางนี้อิงจากการตั้งค่าเริ่มต้นของ SDK แต่ละตัว ทันทีที่คุณส่งข้อมูลให้มากกว่านั้น เช่น อีเมล ID ของบัญชี หรือ event ที่คุณสร้างเอง คุณก็ต้องประกาศมากขึ้น
| SDK | ข้อมูลที่ต้องประกาศ | การติดตาม | แหล่งที่มา |
|---|---|---|---|
| RevenueCat | ประวัติการซื้อ | ไม่ | เอกสาร RevenueCat |
| Sentry | ข้อมูลแอปแครช, ประสิทธิภาพ | ไม่ | เอกสารและ manifest |
| PostHog | การโต้ตอบกับแอป | ไม่ | Manifest PostHog iOS |
| Supabase Auth | อีเมล, User ID | ไม่ | ไม่พบเอกสาร |
| AppsFlyer | Device ID, การโต้ตอบ | ใช่, Device ID | Manifest AppsFlyer |
| Meta SDK | Device ID, ข้อมูลแอปแครช | ใช่, Device ID | เอกสารและ manifest Meta |
| Expo Notifications | Device ID (push token) | ไม่ | ไม่พบเอกสาร |
RevenueCat
เอกสาร App Privacy ของ RevenueCat ให้ประกาศประวัติการซื้อ พร้อมการใช้งานสองแบบที่ผู้ใช้ RevenueCat ทุกคนต้องติ๊ก: การวิเคราะห์และการทำงานของแอป ส่วนการเชื่อมโยง: ไม่ ถ้า ID ของคุณไม่ระบุตัวตน และใช่ ถ้า user ID ใน RevenueCat ของคุณเชื่อมกับอีเมลได้ ให้เพิ่ม User ID ถ้าคุณส่ง ID ของคุณเอง และเพิ่มข้อมูลติดต่อถ้าคุณส่งอีเมลเป็น attribute ส่วน manifest ของ SDK ระบุแค่การทำงานของแอป ให้ทำตามเอกสารซึ่งครบกว่า วิธีเชื่อมต่ออยู่ใน RevenueCat สำหรับการสมัครสมาชิกในแอป
Sentry
หน้าเรื่องความเป็นส่วนตัวบนมือถือของ Sentry บอกไว้ชัดว่า Sentry เป็นพาร์ทเนอร์ที่ต้องประกาศ การใช้งานมาตรฐานคือการวิเคราะห์และการทำงานของแอป ไม่มีการติดตาม และไม่ต้องใช้ advertising identifier ส่วน manifest ของ Sentry ประกาศข้อมูลแอปแครช ข้อมูลประสิทธิภาพ และข้อมูลวินิจฉัยอื่นๆ แบบไม่เชื่อมโยง ถ้าคุณแนบ ID ของบัญชีเข้ากับรายงานด้วย Sentry.setUser ข้อมูลจะกลายเป็นแบบเชื่อมโยง
PostHog
ผมไม่พบคำแนะนำเรื่อง App Privacy ที่ PostHog เผยแพร่ไว้ Manifest ของ SDK iOS ประกาศการโต้ตอบกับแอปและข้อมูลการใช้งานอื่นๆ แบบไม่เชื่อมโยง ไม่มีการติดตาม เพื่อการวิเคราะห์ สำหรับ React Native เอกสารของ PostHog ระบุว่า lifecycle ของแอปถูกเก็บเป็นค่าเริ่มต้น หน้าจอที่เปิดดูก็เช่นกันถ้าใช้ React Navigation 6 หรือเก่ากว่า identify จะเชื่อม event ที่ผ่านมาเข้ากับผู้ใช้ และจะมีการเพิ่มตำแหน่งที่อนุมานจาก IP เว้นแต่ใช้ disableGeoip ในความเห็นผม ถ้าคุณเก็บตำแหน่งนี้ไว้ ให้ประกาศตำแหน่งโดยประมาณ
Supabase Auth
เท่าที่ผมทราบ Supabase ไม่ได้เผยแพร่คำแนะนำเรื่อง App Privacy ตามนิยามของ Apple การล็อกอินด้วยอีเมลทำให้ต้องประกาศที่อยู่อีเมลและ User ID เพื่อการทำงานของแอป แบบเชื่อมโยง Audit log ของ Supabase ยังบันทึกที่อยู่ IP ของการล็อกอินแต่ละครั้งด้วย และ Apple ให้ประกาศ IP ที่เก็บไว้ตามการใช้งานที่คุณใช้จริง นอกจากนี้ทุกอย่างที่คุณเก็บในตารางก็นับด้วย: เนื้อหา รูปภาพ ประวัติ
AppsFlyer และ Meta
Manifest ทั้งสองประกาศ Device ID ว่าใช้เพื่อการติดตาม สำหรับโฆษณาของบุคคลที่สาม ของ AppsFlyer เพิ่มการโต้ตอบกับแอปเพื่อการวิเคราะห์ ของ Meta เพิ่มข้อมูลแอปแครชและข้อมูลอื่นๆ เอกสาร iOS ของ Meta ระบุว่า manifest ครอบคลุมเฉพาะการเก็บข้อมูลแบบค่าเริ่มต้น ข้อมูลที่เก็บเพิ่มคุณต้องประกาศเอง
เมื่อเดือนกรกฎาคม 2026 ตอนเชื่อม AppsFlyer เข้ากับ TradaZen ผมเพิ่ม Device ID สำหรับโฆษณาของบุคคลที่สามและการวิเคราะห์ โดยใช้เพื่อการติดตาม ส่วน "ข้อมูลที่ใช้ติดตามคุณ" จึงปรากฏบนหน้าแอป แต่ build แรกที่มี AppsFlyer ถูกปฏิเสธตอนประมวลผล เพราะ manifest ของแอปประกาศการติดตามโดยไม่มีโดเมน
Expo Notifications
ผมไม่พบคำแนะนำที่ Expo เผยแพร่ไว้ และ manifest ของ expo-notifications ไม่ได้ประกาศข้อมูลที่เก็บเลย แต่ push token ที่คุณเก็บไว้บนเซิร์ฟเวอร์ใช้ระบุอุปกรณ์สำหรับแอปของคุณ การตีความแบบระมัดระวังของผมคือ: Device ID เพื่อการทำงานของแอป เชื่อมโยงถ้าคุณเก็บไว้คู่กับบัญชี ไม่มีการติดตาม นี่ไม่ใช่กฎที่ Apple เขียนไว้
วิธีของผม: รายการเดียวเพื่อให้ทุกอย่างตรงกัน
ผมอ่านนโยบายที่เผยแพร่อยู่ก่อนแตะแบบสอบถาม นโยบายของ TradaZen ระบุอีเมลสำหรับล็อกอิน การสมัครสมาชิก token การแจ้งเตือน สถิติการใช้งาน รายงานข้อผิดพลาด และ attribution โฆษณาที่ต้องได้รับความยินยอม
ทุกบรรทัดในนโยบายจะกลายเป็นประเภทข้อมูลหนึ่งใน App Privacy เมื่อผมเพิ่ม SDK หรือฟีเจอร์ที่ส่งข้อมูล ผมจะแก้นโยบาย App Privacy และ manifest ในวันเดียวกัน
เพื่อตรวจสอบ ให้ดูรายการ manifest ที่ฝังอยู่ด้วยคำสั่งในคู่มือ ITMS-91053 ที่กล่าวถึงข้างต้น ถ้ามี Mac และ Xcode privacy report จะรวบรวมไว้ให้: Product แล้ว Archive แล้ว Generate Privacy Report ใน Organizer Apple บอกว่ารายงานนี้ช่วยในการกรอก App Store Connect
อัปเดต App Privacy โดยไม่ต้องสร้าง build
Apple เขียนไว้ว่าคุณเปลี่ยนคำตอบได้ทุกเมื่อ โดยไม่ต้องอัปเดตแอป แต่ที่อยู่ของนโยบายความเป็นส่วนตัวจะเปลี่ยนได้พร้อมเวอร์ชันถัดไปเท่านั้น ตามเอกสารช่วยเหลือของ App Store Connect
ให้อัปเดต App Privacy เมื่อคุณเพิ่ม SDK เมื่อคุณส่ง ID ของบัญชีให้เครื่องมือที่ใช้อยู่ หรือเมื่อฟีเจอร์ใดส่งข้อมูลประเภทใหม่ การปฏิเสธที่เกี่ยวกับการประกาศเหล่านี้อย่างเดียวแก้ไขออนไลน์ได้ เหมือนกับ guideline 5.1.1
ตรวจเอกสารของคุณก่อน Apple
Review Kit รวมเช็กลิสต์ก่อนส่งของผม กรณีที่ผมถูกปฏิเสธและแก้ไขแล้ว และ skill ของ Claude Code สองตัวที่อ่านโปรเจกต์และหน้าแอปของคุณ แล้วเตรียมคำตอบให้ถ้า Apple ปฏิเสธ
อยากรู้ว่ายังมีอะไรติดอยู่ไหม? การวินิจฉัยฟรี จะส่งเช็กลิสต์กันการปฏิเสธของ Apple ของผมให้คุณ สำหรับขั้นตอนเผยแพร่แอปทั้งหมด อ่าน เผยแพร่แอปบน App Store
คำถามที่พบบ่อย
App Privacy ใน App Store Connect คืออะไร?
คือแบบสอบถามที่สร้างป้ายความเป็นส่วนตัวบนหน้าแอปใน App Store: ข้อมูลที่แอปและ SDK เก็บ การใช้งาน การเชื่อมโยงกับผู้ใช้ และการติดตาม จำเป็นต้องกรอกเพื่อส่งแอปและการอัปเดต
ต้องสร้าง build ใหม่เพื่อแก้ App Privacy ไหม?
ไม่ต้อง Apple ระบุว่าคุณเปลี่ยนคำตอบได้ทุกเมื่อ โดยไม่ต้องอัปเดตแอป: แก้ไข แล้วคลิก Publish มีแค่ที่อยู่ของนโยบายความเป็นส่วนตัวที่ต้องรอเวอร์ชันถัดไป
ต้องประกาศอะไรสำหรับ RevenueCat ใน App Privacy?
ประวัติการซื้อ พร้อมการใช้งานแบบการวิเคราะห์และการทำงานของแอป ตามเอกสารของ RevenueCat เพิ่ม User ID ถ้าคุณส่ง ID ของคุณเอง และเพิ่มข้อมูลติดต่อถ้าคุณส่งอีเมลเป็น attribute
Sentry และ PostHog ถือว่าทำการติดตามตามนิยามของ Apple ไหม?
ไม่ ในการตั้งค่าเริ่มต้น Sentry เขียนว่าไม่ได้ใช้ข้อมูลของคุณเพื่อติดตามผู้ใช้ และ manifest iOS ของ PostHog ไม่ได้ประกาศการติดตามใดๆ แต่ข้อมูลของทั้งสองจะกลายเป็นแบบเชื่อมโยงทันทีที่คุณส่ง ID ของบัญชีให้
ทำไมฉันเพิ่มเวอร์ชันเข้าการส่งตรวจไม่ได้?
ส่วนใหญ่เป็นเพราะยังไม่ได้เผยแพร่ App Privacy ซึ่ง App Store Connect จะแสดงข้อความ "You must have published answers to your app's data usages" ให้เผยแพร่คำตอบก่อน แล้วค่อยเพิ่มเวอร์ชัน

