การยื่นขอตรวจสอบสำหรับสโคปตระกูล User
สำหรับนักพัฒนาแอปที่ใช้สโคปตระกูล User(
user.receipts.read เป็นต้น)ของ ReceiptRoller บทความนี้อธิบายขั้นตอนการยื่นขอตรวจสอบ, เอกสารที่จำเป็น, เกณฑ์การตรวจสอบ และเหตุผลที่ถูกตีกลับที่พบบ่อย
ในบรรดาสโคปของ ReceiptRoller สโคปที่ขึ้นต้นด้วย user.* เป็นสโคปสำหรับเข้าถึงข้อมูลส่วนบุคคลของผู้บริโภคทั่วไป สโคปเหล่านี้จะใช้งานได้ก็ต่อเมื่อผ่านทั้งการยินยอมของตัวผู้บริโภคเองและการตรวจสอบของ ReceiptRoller ไม่ใช่แค่ความยินยอมของฝั่งร้านค้าเท่านั้น
เหตุผลที่สโคปตระกูล User ต้องผ่านการตรวจสอบ
- รายละเอียดใบเสร็จ・ประวัติการซื้อจัดเป็นข้อมูลส่วนบุคคลที่ละเอียดอ่อน
- ผู้บริโภคมีความสัมพันธ์เชิงความไว้วางใจโดยตรงกับ "ReceiptRoller" ไม่ใช่กับร้านค้า
- หากข้อมูลถูกส่งต่อไปยังแอปที่ไม่เหมาะสม ความไว้วางใจของทั้งผู้บริโภค・ร้านค้า・ReceiptRoller จะเสียหาย
- ต้องยืนยันการปฏิบัติตามข้อกำหนด เช่น การให้บุคคลที่สามและการโอนข้อมูลไปต่างประเทศ
ด้วยเหตุนี้ เราจึงกำหนดกระบวนการตรวจสอบที่เข้มงวดกว่าสโคปตระกูลร้านค้า
สโคปที่อยู่ในขอบเขตการตรวจสอบ
| สโคป | ข้อมูลที่เข้าถึงได้ |
|---|---|
user.profile |
ชื่อที่แสดง, อีเมล, ภูมิภาคที่ลงทะเบียน |
user.receipts.read |
รายการ・รายละเอียดใบเสร็จของตัวผู้ใช้เอง |
user.receipts.write |
การติดแท็ก・เพิ่มโน้ตให้ใบเสร็จ |
user.purchases.aggregate |
สรุปยอดการซื้อของตัวผู้ใช้เอง(รวมยอดตามหมวดหมู่) |
user.coupons.read |
คูปองที่ผู้ใช้ถือครองอยู่ |
user.notifications.send |
การส่งพุชนอทิฟิเคชันถึงตัวผู้ใช้ |
สโคปตระกูล User ทั้งหมดต้องผ่านการตรวจสอบเสมอ ต้องยื่นขอแยกเป็นรายสโคป และไม่สามารถยื่นขอสโคปที่ไม่ได้ใช้ "เผื่อไว้" ได้
ขั้นตอนการยื่นขอ
[ลงทะเบียนแอปเสร็จ]
│
▼
[เตรียมเอกสารที่จำเป็น] ← เผยแพร่นโยบายความเป็นส่วนตัว, ตั้งช่องทางรับคำขอลบ ฯลฯ
│
▼
[ยื่นขอจากพอร์ทัลนักพัฒนา] ← เลือกสโคป + กรอกฟอร์มคำขอ
│
▼
[ตรวจสอบรอบแรก](1〜3 วันทำการ) ← ตรวจสอบความครบถ้วนของเอกสาร
│
├─→ ตีกลับ → แก้ไขแล้วยื่นใหม่
│
▼
[ตรวจสอบรอบสอง](5〜10 วันทำการ) ← ตรวจสอบการอิมพลิเมนต์・ระบบการดำเนินงาน
│
├─→ คำถามเพิ่มเติม → ส่งคำตอบ → ตรวจสอบอีกครั้ง
│
▼
[อนุมัติ]
│
▼
[ใช้สโคปตระกูล User ในสภาพแวดล้อมโปรดักชันได้]
ในกรณีมาตรฐาน โปรดเผื่อเวลาประมาณ 2〜3 สัปดาห์นับจากยื่นขอถึงอนุมัติ หากมีการตีกลับหลายครั้ง อาจใช้เวลา 1〜2 เดือน
เอกสาร・ข้อมูลที่จำเป็น
1. นโยบายความเป็นส่วนตัว(บังคับ)
- ต้องมี URL สาธารณะ
- ระบุรายการข้อมูลที่ดึงจาก ReceiptRoller อย่างชัดเจน
- ระบุวัตถุประสงค์การใช้งาน, ระยะเวลาจัดเก็บ, ขั้นตอนการลบ และการมี/ไม่มีการให้บุคคลที่สาม
- ระบุช่องทางติดต่อสอบถาม
- หากกลุ่มเป้าหมายเป็นผู้ใช้ในญี่ปุ่น ให้เตรียมเวอร์ชันภาษาญี่ปุ่นด้วย
2. ข้อกำหนดการใช้บริการ(แนะนำ)
แนะนำสำหรับแอปที่มุ่งไปยังผู้บริโภค แม้เป็นแอปแบบ BtoB หากมีการระบุว่าจัดการข้อมูลของผู้บริโภค การตรวจสอบก็จะราบรื่นขึ้น
3. ช่องทางรับคำขอลบข้อมูล(บังคับ)
- อีเมลหรือ URL ฟอร์มติดต่อ
- ระบบที่ดำเนินการลบข้อมูลให้เสร็จภายใน 30 วันนับจากได้รับคำขอ
- วิธีการแจ้งเมื่อลบข้อมูลเสร็จสิ้น
4. ชีตการจัดการข้อมูล(บังคับ)
กรอกรายการต่อไปนี้ภายในฟอร์มคำขอ
| รายการ | เนื้อหาที่กรอก |
|---|---|
| ข้อมูลที่ดึง | ชื่อรายการที่เจาะจงในแต่ละสโคป |
| ที่จัดเก็บ | ผู้ให้บริการคลาวด์, รีเจียน |
| ระยะเวลาจัดเก็บ | จะลบภายในกี่เดือนนับจากดึงข้อมูลครั้งสุดท้าย |
| การให้บุคคลที่สาม | มี/ไม่มี, หากมีให้ระบุปลายทาง |
| การโอนไปต่างประเทศ | มี/ไม่มี, หากมีให้ระบุประเทศปลายทาง |
| การเข้ารหัส | วิธีการเข้ารหัสตอนจัดเก็บ・ตอนรับส่งข้อมูล |
| การควบคุมการเข้าถึง | ใครดูได้ ภายใต้เงื่อนไขใด |
5. บัญชีทดสอบสำหรับตรวจสอบการทำงาน(บังคับในบางกรณี)
หากแอปอิมพลิเมนต์เสร็จแล้ว อาจมีการขอให้จัดเตรียมบัญชีทดสอบ เพื่อให้ผู้ตรวจสอบตรวจดูได้จริงตั้งแต่ OAuth authorization flow〜การดึงข้อมูล〜การแสดงผล
6. สกรีนช็อต・วิดีโอ(แนะนำ)
- คำอธิบายที่แสดงต่อผู้ใช้บนหน้าจ authorization ของ OAuth
- หน้าจอที่แสดงว่าข้อมูลที่ดึงมาถูกใช้อย่างไรภายในแอป
- เส้นทางนำทางไปยังการขอลบข้อมูล
วิดีโอความยาวประมาณ 1〜2 นาทีก็เพียงพอ หากสื่อภาพการอิมพลิเมนต์ได้ จะช่วยลดเวลาตรวจสอบ
วิธีการยื่นขอ
- พอร์ทัลนักพัฒนา → แอป → แท็บ "สโคป"
- ติ๊กเลือกสโคปตระกูล User ที่ต้องการยื่นขอ
- คลิกปุ่ม "ยื่นขอตรวจสอบ"
- กรอกข้อมูลที่จำเป็นในฟอร์มคำขอ(URL นโยบายความเป็นส่วนตัว, ชีตการจัดการข้อมูล ฯลฯ)
- อัปโหลดเอกสารแนบ(ข้อมูลบัญชีทดสอบ, สกรีนช็อต ฯลฯ)
- "ส่งคำขอ"
หลังยื่นขอ สถานะจะเปลี่ยนเป็น "กำลังตรวจสอบ" และสามารถติดตามความคืบหน้าได้ที่หน้าจอเดียวกัน การติดต่อจะส่งไปยังอีเมลที่ระบุตอนยื่นขอ
เกณฑ์การตรวจสอบ
ประเด็นหลักในการตรวจสอบมีดังนี้
หลักการสิทธิ์ขั้นต่ำที่จำเป็น
เราจะตรวจสอบว่าสโคปที่ยื่นขอนั้นจำเป็นจริงหรือไม่ต่อการบรรลุวัตถุประสงค์การใช้งานที่แจ้งไว้ คำขอที่ขอสโคปกว้างเกินไปจะถูกตีกลับ
วัตถุประสงค์การใช้งานที่ชัดเจน
เมื่อผู้บริโภคดูแล้วต้องเข้าใจได้ในทันทีว่า "ทำไมแอปนี้ถึงต้องได้รับข้อมูล" คำอธิบายที่เป็นนามธรรม เช่น "เพื่อยกระดับบริการ" ใช้ไม่ได้
ระบบคุ้มครองข้อมูล
การเข้ารหัส, การควบคุมการเข้าถึง, การตั้งค่าระยะเวลาจัดเก็บ, การจัดเตรียม flow การลบข้อมูล ต้องเป็นไปตามมาตรฐานอุตสาหกรรมขั้นต่ำ
การปฏิบัติตามกฎหมาย
การปฏิบัติตามกฎหมายคุ้มครองข้อมูลส่วนบุคคล, กฎหมายว่าด้วยธุรกรรมทางการค้าเฉพาะ, กฎหมายว่าด้วยการแสดงของกำนัล และกฎหมายความเป็นส่วนตัวของแต่ละประเทศ(หากอยู่ในขอบเขต เช่น GDPR)
ความโปร่งใสของผู้ดำเนินการ
ต้องเปิดเผยที่ตั้งของบริษัทผู้ดำเนินการ, ผู้แทน และช่องทางติดต่อ ผู้ประกอบการที่ไม่มีตัวตนจริง・ติดต่อไม่ได้จะไม่ได้รับอนุมัติ
ความรับผิดชอบด้านการอธิบายบน UX
คำอธิบายสโคปบนหน้าจอ authorization ของ OAuth, คำอธิบายการใช้ข้อมูลตอนเปิดใช้ครั้งแรก, เส้นทางนำทางไปยังการลบข้อมูล ฯลฯ ต้องนำเสนอให้ผู้บริโภคเข้าใจง่าย
เหตุผลที่ถูกตีกลับที่พบบ่อย
| เหตุผลที่ถูกตีกลับ | วิธีแก้ไข |
|---|---|
| ไม่ได้เผยแพร่นโยบายความเป็นส่วนตัว/URL เป็น 404 | เผยแพร่แล้วยื่นขอใหม่ |
| นโยบายความเป็นส่วนตัวไม่ได้ระบุข้อมูลใบเสร็จ | เพิ่มรายการข้อมูลที่ดึง |
| วัตถุประสงค์การใช้งานเป็นนามธรรม(เช่น "เพื่อยกระดับบริการ" เท่านั้น) | ระบุยูสเคสที่เจาะจง |
| สโคปมากเกินไปเมื่อเทียบกับวัตถุประสงค์ | จำกัดให้เหลือเฉพาะสโคปที่จำเป็น |
| ไม่ได้ระบุช่องทางรับคำขอลบข้อมูล | ตั้งค่าอีเมลหรือ URL ฟอร์ม |
| ไม่ชัดเจนว่ามีการให้บุคคลที่สามหรือไม่ | ระบุ "มี/ไม่มี" ให้ชัดเจน หากมีให้ระบุปลายทางด้วย |
| authorization flow ไม่ทำงานบนบัญชีทดสอบ | ทำการอิมพลิเมนต์ให้เสร็จก่อนแล้วยื่นขอใหม่ |
| ไม่ได้เปิดเผยข้อมูลบริษัทผู้ดำเนินการ | ระบุไว้ในเว็บไซต์・หน้าซัพพอร์ตของแอป |
การดำเนินงานหลังได้รับอนุมัติ
เมื่อได้รับอนุมัติแล้ว authorization flow ที่ใช้สโคปตระกูล User ในสภาพแวดล้อมโปรดักชันจะใช้งานได้ แต่โปรดระวังประเด็นต่อไปนี้
- ตรวจสอบเป็นระยะ:ปีละ 1 ครั้ง จะมีการตรวจสอบสถานะการใช้งาน・ระบบการจัดการข้อมูล
- การเปลี่ยนแปลงเล็กน้อย:การเปลี่ยนแปลงเล็กน้อย เช่น การเปลี่ยนรีเจียนของที่จัดเก็บ ทำได้เพียงแจ้งล่วงหน้า
- การเปลี่ยนแปลงสาระสำคัญ:หากเปลี่ยนวัตถุประสงค์การใช้งาน・สโคปที่ดึง・การมีบุคคลที่สาม จะต้องตรวจสอบใหม่
- มาตรการเมื่อละเมิด:กรณีละเมิดข้อกำหนดการใช้บริการ・มีเรื่องร้องเรียนบ่อย อาจต้องผ่านขั้นตอนเตือน→ระงับ→เพิกถอนอนุมัติ
เช็กลิสต์ก่อนยื่นขอ
การตรวจสอบสิ่งต่อไปนี้ก่อนยื่นขอ จะช่วยลดการถูกตีกลับได้มาก
- ☐ เผยแพร่ URL นโยบายความเป็นส่วนตัวแล้ว และระบุข้อมูลที่ดึงจาก ReceiptRoller ไว้ชัดเจน
- ☐ ช่องทางรับคำขอลบข้อมูล(อีเมลหรือฟอร์ม)ทำงานได้จริง
- ☐ วัตถุประสงค์การใช้งานระบุว่า "เพื่อใคร" "ทำอะไร" "ส่งไปที่ไหน"
- ☐ สโคปที่ยื่นขอเป็นสิทธิ์ขั้นต่ำที่จำเป็นเมื่อเทียบกับวัตถุประสงค์
- ☐ ระบุการมี/ไม่มีการให้บุคคลที่สาม・การโอนไปต่างประเทศไว้ชัดเจน
- ☐ กำหนดระยะเวลาจัดเก็บและวิธีการเข้ารหัสข้อมูลแล้ว
- ☐ authorization flow ทำงานได้บนสภาพแวดล้อมทดสอบ
- ☐ เปิดเผยข้อมูลบริษัทผู้ดำเนินการไว้บนเว็บไซต์แล้ว
สถานะคำขอและเกณฑ์ระยะเวลาที่ใช้
| สถานะ | ความหมาย | ระยะเวลามาตรฐาน |
|---|---|---|
| ยังไม่ยื่นขอ | ก่อนเลือกสโคป | ― |
| รับคำขอแล้ว | ส่งคำขอเสร็จ | ทันที |
| กำลังตรวจสอบรอบแรก | กำลังตรวจสอบเอกสาร | 1〜3 วันทำการ |
| ตีกลับ | มีข้อบกพร่อง ต้องแก้ไข | ― |
| กำลังตรวจสอบรอบสอง | ตรวจสอบการอิมพลิเมนต์・ระบบการดำเนินงาน | 5〜10 วันทำการ |
| รอข้อมูลเพิ่มเติม | ผู้ตรวจสอบมีคำถาม | กลับมาดำเนินการต่อภายใน 3 วันทำการหลังตอบ |
| อนุมัติ | ใช้งานในโปรดักชันได้ | ― |
| ปฏิเสธ | มีปัญหาร้ายแรงในเนื้อหาคำขอ | แจ้งพร้อมเหตุผล |
คำถามที่พบบ่อย
Q. ระหว่างพัฒนา ทดลองใช้สโคปตระกูล User ไม่ได้เหรอ?
A. เฉพาะแอปสำหรับพัฒนา(แอปทดสอบ)เท่านั้น สามารถใช้ "กรอบแซนด์บ็อกซ์" ที่อนุญาตได้เฉพาะผู้ใช้ทดสอบภายในบริษัทผู้ดำเนินการ(สมาชิกของบริษัทเอง)คุณไม่สามารถเปิด authorization flow ให้ผู้บริโภคทั่วไปได้
Q. หลังได้รับอนุมัติแล้ว หากต้องการเพิ่มสโคปตระกูล User ใหม่ทำอย่างไร?
A. จะเป็นการยื่นขอเพิ่มเฉพาะสโคปที่เพิ่มเข้ามาเท่านั้น ผลการตรวจสอบของสโคปเดิมจะยังคงอยู่ เพียงยื่นเอกสารที่จำเป็นสำหรับส่วนที่เพิ่มก็เสร็จ
Q. หากต้องการถอนคำขอทำอย่างไร?
A. สามารถ "ถอนคำขอ" ได้จากหน้าจอคำขอที่เกี่ยวข้องในพอร์ทัลนักพัฒนา แล้วค่อยยื่นขอใหม่ในภายหลัง
Q. หากการตรวจสอบล่าช้า ติดต่อสอบถามได้ไหม?
A. หากผ่านไป 10 วันทำการนับจากยื่นขอแล้วยังไม่มีความคืบหน้า โปรดติดต่อคอมมิวนิตีนักพัฒนาหรือช่องทางซัพพอร์ต หากระบุ ID คำขอมาด้วยจะช่วยให้ตรวจสอบได้รวดเร็วขึ้น