KhumPOS (“เรา”) เคารพในความเป็นส่วนตัวของท่านและปฏิบัติตามพระราชบัญญัติคุ้มครอง ข้อมูลส่วนบุคคล พ.ศ. 2562 (“PDPA”) นโยบายนี้อธิบายว่าเราเก็บข้อมูลอะไร เพื่ออะไร เก็บไว้นานเท่าใด แบ่งปันกับใคร และท่านมีสิทธิ์อะไรบ้าง
1. ผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller)
สำหรับบัญชีของท่าน (“ร้าน”) — ท่านคือผู้ควบคุมข้อมูลลูกค้าของร้าน (เช่น เบอร์โทร แต้มสะสม ประวัติซื้อ) KhumPOS ทำหน้าที่ผู้ประมวลผลข้อมูลแทนท่านตามคำสั่ง (“Data Processor”)
สำหรับข้อมูลบัญชีของผู้ใช้งาน KhumPOS เอง (เช่น อีเมลที่ท่านใช้สมัคร ข้อมูลการชำระเงิน) —KhumPOS คือผู้ควบคุมข้อมูล ติดต่อเจ้าหน้าที่คุ้มครองข้อมูล (DPO) ได้ที่อีเมล [email protected]
2. ข้อมูลที่เราเก็บรวบรวม
- ข้อมูลบัญชีผู้ใช้: ชื่อกิจการ ชื่อผู้ติดต่อ อีเมล เบอร์โทร รหัสผ่านและ PIN อนุมัติ (แฮชแล้ว) ตำแหน่ง (owner/admin/manager/cashier/kitchen)
- ข้อมูลกิจการ: ชื่อร้าน ที่อยู่ เลขผู้เสียภาษี สาขา หมายเลข PromptPay โลโก้
- ข้อมูลลูกค้าของร้าน (ท่านเป็นผู้เก็บเอง): เบอร์โทร ชื่อ วันเกิด เพศ อีเมล แต้มสะสม ประวัติการซื้อ และข้อมูลคิวรอโต๊ะที่ร้านเลือกกรอก เช่น ชื่อ จำนวนลูกค้า และหมายเหตุการจัดที่นั่ง
- ข้อมูลใช้งาน: IP address, user-agent, session ID, เวลาเข้าสู่ระบบ/ใช้งานล่าสุด และ audit log ของการกระทำสำคัญ (ล็อกอิน, เปลี่ยนสิทธิ์, คืนเงิน, ปรับแต้ม ฯลฯ) และตัวเลขรวมระดับระบบหรือ tenant เช่น ร้านที่ active จำนวนออร์เดอร์ บัญชีที่มี session และการใช้ Sandbox เพื่อความปลอดภัย การตรวจสอบ วางแผนความจุ ควบคุมจำนวนอุปกรณ์ ป้องกันการใช้บัญชีร่วมกัน และช่วยเหลือผู้ใช้ เราไม่ใช้ข้อมูลนี้ติดตามข้ามเว็บไซต์ หรือสร้างโปรไฟล์โฆษณารายบุคคล
- ข้อมูลทางเทคนิค: cookie สำหรับรักษา session, รหัสอุปกรณ์แบบสุ่มของ KhumPOS (เก็บฝั่งเซิร์ฟเวอร์เฉพาะค่า hash เพื่อแทน session เดิมจากเบราว์เซอร์เดียวกัน ไม่ใช้ fingerprint และไม่ติดตามข้ามเว็บไซต์), service worker cache เพื่อการทำงานแบบ offline
- Sandbox: ระบบสร้าง guest ID และอีเมลเทคนิคที่ไม่ผูกกับบุคคลให้โดยอัตโนมัติ พร้อมเก็บ IP, user-agent และรายการจำลองที่ผู้ใช้ทำเพื่อความปลอดภัยและควบคุมการใช้งาน บัญชี guest แยกต่อผู้เข้าชม แต่ออเดอร์ บิล หมายเหตุ สต็อก และกิจกรรมในร้านตัวอย่างใช้ร่วมกัน และอาจแสดงให้ผู้ทดลองรายอื่นที่มีบทบาทพนักงาน ครัว หรือผู้จัดการเห็นได้ ผู้ใช้จึงต้องไม่กรอกชื่อ เบอร์โทร อีเมล ข้อมูลการเงิน หรือข้อมูลธุรกิจจริงในพื้นที่นี้
- ข้อมูลโดเมนและความปลอดภัย: subdomain และ custom domain ที่ท่านร้องขอเมื่อระบบเปิดรับ, สถานะ DNS/TLS, IP address และบันทึกการป้องกันภัยคุกคาม เพื่อเชื่อมต่อโดเมน ออกใบรับรอง และป้องกันการโจมตี
- ข้อมูลการแจ้งเตือน: การเชื่อมต่อ Telegram, chat ID, การตั้งค่าการแจ้งเตือน และประวัติการส่งที่จำเป็น เพื่อส่งรายงานหรือแจ้งเหตุการณ์ของร้าน
- ข้อมูลการส่งอีเมล: สถานะการส่ง อีเมลผู้รับแบบปกปิดบางส่วน ค่า hash สำหรับป้องกันการส่งซ้ำ รหัสอ้างอิงจากผู้ให้บริการ และเวลาของเหตุการณ์ส่ง/เปิด/ตีกลับ โดยไม่เก็บเนื้อหาอีเมลไว้ใน delivery log ของเรา
- ข้อมูลการชำระเงิน: สลิปพร้อมเพย์ที่ท่านอัปโหลด จำนวนเงิน เวลา สถานะ ขอบเขตกิจการ/สาขา รหัสบัญชีผู้รับเงินใน Stripe และเลขอ้างอิง Stripe เราไม่เก็บหมายเลขบัตรเครดิตเต็ม
3. ฐานกฎหมายและวัตถุประสงค์
| วัตถุประสงค์ | ฐานกฎหมาย |
|---|---|
| ให้บริการ POS และบริหารบัญชีสมาชิก | การปฏิบัติตามสัญญา (มาตรา 24(3)) |
| ตรวจสอบการใช้งาน วางแผนความจุ แก้ปัญหาบริการ ป้องกันการฉ้อโกง และรักษาความปลอดภัยของระบบ | ประโยชน์โดยชอบด้วยกฎหมาย (มาตรา 24(5)) |
| ให้บริการ Sandbox และแสดงการทำงานร่วมกันระหว่างบทบาทในร้านตัวอย่าง | การดำเนินการตามคำขอก่อนเข้าทำสัญญา และประโยชน์โดยชอบด้วยกฎหมาย (มาตรา 24(3), 24(5)) |
| ออกใบกำกับภาษีและเก็บตามกฎหมายภาษี | หน้าที่ตามกฎหมาย (มาตรา 24(6)) |
| ส่งข้อมูลการตลาดและโปรโมชั่น | ความยินยอม (มาตรา 24(1)) — ถอนได้ตลอดเวลา |
| ส่งอีเมลธุรกรรม รายงาน และแจ้งเตือน Telegram ที่เกี่ยวข้องกับบริการ | การปฏิบัติตามสัญญา และประโยชน์โดยชอบด้วยกฎหมาย (มาตรา 24(3), 24(5)) |
| ประมวลผลข้อมูลลูกค้าของร้าน (สะสมแต้ม คูปอง) | ดำเนินการโดยร้านในฐานะ Controller — ร้านต้องขอความยินยอมลูกค้าเอง |
4. ระยะเวลาการเก็บรักษา
- ข้อมูลบัญชีผู้ใช้: ตลอดอายุสมาชิก + 90 วันหลังยกเลิก
- ข้อมูลใบเสร็จ/ใบกำกับภาษี: 5 ปี ตามประมวลรัษฎากร มาตรา 87/3
- Audit log: 2 ปี
- ตัวเลขรวมบน dashboard การใช้งานคำนวณจากข้อมูลปฏิบัติการเมื่อเปิดดูและไม่สร้างประวัติการติดตาม รายบุคคลแยกขึ้นมาใหม่ ข้อมูลต้นทางยังคงเป็นไปตามอายุของ session, audit log, ออเดอร์ และเอกสารที่ระบุในนโยบายนี้
- Delivery log ของอีเมล: 90 วัน แล้วลบตามรอบทำความสะอาดอัตโนมัติ
- คิวรอโต๊ะ ชื่อลูกค้าและหมายเหตุประกอบคิว: 90 วัน แล้วลบอัตโนมัติ โดยจอสาธารณะแสดงเฉพาะเลขคิว จำนวนลูกค้า และโต๊ะ
- สลิปชำระค่าบริการ KhumPOS: ตามระยะเวลาที่จำเป็นต่อการตรวจสอบบัญชีและที่กฎหมายกำหนด สูงสุด 7 ปี (สำหรับการตรวจสอบทางบัญชี/ภาษี/AML)
- Session cookie และข้อมูลอุปกรณ์ของ session: จนกว่าผู้ใช้จะออกจากระบบ ถอนอุปกรณ์ หรือ session หมดอายุตามการตั้งค่าความปลอดภัย โดยหน้าใช้งานที่เปิดอยู่จะ auto-logout เมื่อไม่มีการใช้งานตามเวลาที่กำหนด
- Sandbox guest: ลบจากระบบหลักทันทีเมื่อออกจากระบบ หรือในรอบล้างถัดไปหากไม่ได้ออกจากระบบ ส่วน session ออเดอร์ บิล หมายเหตุ และกิจกรรมจำลองในระบบหลักจะถูกลบและคืนค่าทุก 3 ชั่วโมง และอาจถูกลบเร็วกว่านั้นเมื่อมีการบำรุงรักษา
- สำเนาสำรองเพื่อกู้คืนระบบ: เข้ารหัสก่อนส่งไปพื้นที่สำรองนอกเซิร์ฟเวอร์และเก็บแบบหมุนเวียนไม่เกิน 30 วัน ข้อมูลที่ถูกลบหรือทำให้เป็นนิรนามในระบบหลักอาจยังอยู่ในสำเนาสำรองจนกว่าสำเนารอบนั้นหมดอายุ โดยสำเนาดังกล่าวแยกจากระบบใช้งานปกติและใช้เฉพาะเมื่อเกิดเหตุขัดข้องหรือกู้คืนระบบเท่านั้น
การลบอัตโนมัติ: ไฟล์สลิปทั้งหมดถูกเก็บใน Supabase Storage bucket tenant-private (ไม่เปิดให้สาธารณะ) เข้าถึงได้เฉพาะผ่าน signed URL ที่ระบบสร้างให้เจ้าของร้าน/super admin เป็นรายครั้ง (อายุ 1 ชม.) Cron รายวันจะลบไฟล์ทั้งจาก storage และข้อมูลในตาราง เมื่อพ้น 7 ปีจาก approved_at หรือ created_at โดยอัตโนมัติ (ไม่ต้องร้องขอ) ดูฟังก์ชัน tenant_retention_purge()
4.1 ฐานทางกฎหมาย (Legal Basis)
| ประเภทข้อมูล | ฐานทางกฎหมาย |
|---|---|
| ใบเสร็จ/ใบกำกับภาษี + สลิปชำระค่าบริการ KhumPOS | หน้าที่ตามกฎหมาย (มาตรา 24(6)) — ประมวลรัษฎากร ม.87/3 + AML 2542 |
| ข้อมูลบัญชีผู้ใช้/staff | การปฏิบัติตามสัญญา (มาตรา 24(3)) |
| Audit log | ประโยชน์อันชอบด้วยกฎหมาย (มาตรา 24(5)) — ความปลอดภัย/ตรวจสอบ |
| ส่งข้อมูลการตลาดและโปรโมชั่น | ความยินยอม (มาตรา 24(1)) — ถอนได้ตลอดเวลา |
5. การเปิดเผยข้อมูล
เราเปิดเผยข้อมูลเฉพาะในกรณีต่อไปนี้:
- ผู้ให้บริการโครงสร้างพื้นฐานและผู้ประมวลผลที่จำเป็น — ReadyIDC (VPS หลักในประเทศไทย), Supabase (self-hosted โดย KhumPOS บน VPS), Cloudflare (DNS, CDN, DDoS protection, Turnstile, การออก TLS สำหรับ custom domain และ Cloudflare R2 สำหรับสำเนาสำรองแบบเข้ารหัส), Sentry (error monitoring), Resend (อีเมลธุรกรรมและสถานะการส่ง), Telegram Bot API (รายงานและการแจ้งเตือน) โดยเราจะใช้ข้อกำหนดตามสัญญาและมาตรการคุ้มครองข้อมูลที่กฎหมายกำหนดตามบทบาทของแต่ละบริการ
- Stripe — ร้านลูกค้าอาจส่งข้อมูลกิจการ สาขาที่เกี่ยวข้อง และผู้ติดต่อไปยัง Stripe เพื่อสร้างหรือเชื่อม connected account ระดับกิจการหรือสาขาและดำเนินการ KYC หากผู้ใช้เลือกธุรกิจ Stripe ที่มีอยู่ Stripe อาจนำข้อมูลยืนยันธุรกิจ ภาษี เจ้าของ ที่อยู่ และบัญชีรับเงินเดิมมาใช้กับ connected account ใหม่เพื่อลดการกรอกข้อมูลซ้ำ การชำระค่าแพลนหรือ Add-on ของ KhumPOS และการชำระค่าสินค้าหรือบริการของร้านเป็นคนละธุรกรรม และเราบันทึกผู้รับเงินตามบัญชีที่ใช้กับธุรกรรมนั้น ลูกค้าจะสแกน Stripe PromptPay QR และ Stripe จะประมวลผลการชำระแล้วแจ้งสถานะให้ระบบอัตโนมัติ โดยผู้รับเงินตามบัญชีที่เลือกเป็น merchant of record KhumPOS เก็บเฉพาะรหัสอ้างอิง จำนวนเงิน สกุลเงิน สถานะ และหลักฐาน webhook แบบลดทอน รวมถึงรหัสและสถานะการคืนเงิน โดยอาจส่งอีเมลผู้ชำระให้ Stripe เฉพาะเมื่อช่องทางเดิมต้องใช้ส่งคำแนะนำการรับเงินคืน ไม่เก็บเลขบัตรเต็ม CVV หรือข้อมูลบัญชีธนาคาร · Stripe อาจประมวลผลข้อมูลในต่างประเทศตามนโยบายของ Stripe
- SlipOK (บริการตรวจสอบสลิปอัตโนมัติ ผู้ให้บริการในประเทศไทย) — เราส่งเฉพาะไฟล์ภาพสลิปที่ร้านค้าอัปโหลดเพื่อชำระค่าสมัครหรือต่ออายุ KhumPOSเท่านั้น สลิปที่ลูกค้าชำระเงินให้ร้านผ่าน POS จะไม่ถูกอัปโหลดหรือส่งให้ SlipOK · ข้อมูลที่ SlipOK ส่งกลับ (เลขอ้างอิงธุรกรรม จำนวนเงิน บัญชีผู้รับ) ใช้ตรวจสอบค่าบริการ อนุมัติสมาชิก และกันการใช้สลิปซ้ำ ฐานทางกฎหมาย: ประโยชน์โดยชอบด้วยกฎหมาย (มาตรา 24(5)) เพื่อป้องกันการฉ้อโกง + หน้าที่ตามกฎหมาย AML พ.ศ. 2542
- หน่วยงานรัฐ เฉพาะกรณีมีหมายศาลหรือคำสั่งตามกฎหมาย
ฐานข้อมูลและไฟล์หลักจัดเก็บใน VPS ของ ReadyIDC ที่ประเทศไทย และทำ backup แบบเข้ารหัสประจำวันไปยัง Cloudflare R2 แยกจากเครื่องหลัก ทราฟฟิกเครือข่าย สำเนาสำรอง ข้อมูลป้องกันภัยคุกคาม และข้อมูลจำเป็นของบริการภายนอกอาจถูกประมวลผลในภูมิภาคอื่น ตามโครงสร้างสากลของผู้ให้บริการ โดยใช้มาตรการคุ้มครองตามกฎหมายและสัญญาของผู้ให้บริการนั้น
6. สิทธิ์ของเจ้าของข้อมูล
ตาม PDPA ท่านมีสิทธิ์ดังนี้:
- สิทธิ์เข้าถึงและขอสำเนา (Right of access)
- สิทธิ์ขอแก้ไข ข้อมูลที่ไม่ถูกต้อง (Right to rectification)
- สิทธิ์ขอลบ หรือทำให้ข้อมูลเป็นนิรนาม (Right to erasure)
- สิทธิ์ขอระงับการใช้ ข้อมูลชั่วคราว (Right to restriction)
- สิทธิ์ในการโอนย้าย (Right to data portability) — ใช้ปุ่ม “ส่งออกข้อมูล” ในหน้าตั้งค่า · ZIP รวมข้อมูลธุรกิจเป็น CSV พร้อม
manifest.jsonและ signed URL อายุ 24 ชม. สำหรับสลิปที่ยังอยู่ในระยะเก็บรักษา โดยไม่รวม API key, PIN hash และข้อมูลยืนยันตัวตนชั่วคราว - สิทธิ์คัดค้าน การประมวลผล (Right to object)
- สิทธิ์ถอนความยินยอม ได้ตลอดเวลา
ส่งคำร้องขอใช้สิทธิ์ที่อีเมล [email protected] เราจะตอบกลับภายใน 30 วันตามที่กฎหมายกำหนด
7. มาตรการรักษาความปลอดภัย
- เข้ารหัสการสื่อสารด้วย HTTPS/TLS 1.3
- Cloudflare DDoS/WAF, Turnstile และ TLS สำหรับ subdomain รวมถึง custom domain เมื่อเปิดรับบริการ
- Host firewall ปิดพอร์ตภายในจากสาธารณะและจำกัด origin web traffic ให้ผ่าน Cloudflare
- รหัสผ่านแฮชด้วย bcrypt (cost 10)
- PIN อนุมัติแฮชด้วย bcrypt (cost 12) ร่วมกับ server-side pepper และไม่บันทึก PIN จริงใน log
- PIN สมาชิกสำหรับเช็กแต้มและแลกรางวัลแฮชด้วย bcrypt (cost 12) ร่วมกับ server-side pepper ล็อกชั่วคราวเมื่อกรอกผิดซ้ำ และไม่ใช้เบอร์โทรเพียงอย่างเดียวเป็นหลักฐานยืนยันตัวตน PIN ชั่วคราวที่พนักงานออกให้ต้องเปลี่ยนก่อนเข้าถึงข้อมูลสมาชิก
- Row-Level Security แยกข้อมูลทุก tenant
- Audit log บันทึกการกระทำสำคัญทั้งหมด
- Rate limiting ป้องกัน brute-force และ DDoS ในระดับ application
- Auto-logout session ไม่ใช้งาน
- จำกัด session ตามบทบาท ตรวจสอบอุปกรณ์ที่เข้าสู่ระบบ และถอน session เก่าได้จากหน้าความปลอดภัยบัญชี
- Backup ฐานข้อมูลเข้ารหัสรายวัน
8. การใช้ cookie
เราใช้ cookie ที่จำเป็นเท่านั้น ได้แก่:
- Session cookie (sb-access-token, sb-refresh-token) — จำเป็นสำหรับการล็อกอิน
- Customer loyalty session (kp_loyalty_session) — cookie แบบ HttpOnly อายุไม่เกิน 30 วัน ใช้หลังยืนยันเบอร์โทรและ PIN เพื่อดูแต้ม ประวัติ และจัดการรหัสแลกรางวัล
- Security cookie จาก Cloudflare Turnstile อาจใช้ชั่วคราวเพื่อป้องกันบอทและการสมัครอัตโนมัติ
- Preference cookie — จำสาขาที่เลือกล่าสุด
เราไม่ใช้ cookie ของบุคคลที่สามเพื่อโฆษณาหรือติดตามข้ามเว็บไซต์
9. การเปลี่ยนแปลงนโยบาย
เราอาจปรับปรุงนโยบายนี้เป็นครั้งคราว การเปลี่ยนแปลงสาระสำคัญจะแจ้งทางอีเมลล่วงหน้าไม่น้อยกว่า 14 วัน
10. การยื่นคำร้องต่อคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล
หากท่านเห็นว่าการประมวลผลของเราไม่ชอบด้วยกฎหมาย ท่านมีสิทธิ์ยื่นเรื่องร้องเรียนต่อ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล (สคส.) ได้ที่ www.pdpc.or.th
11. ติดต่อเรา
- อีเมล PDPA / DPO: [email protected]
- สอบถามทั่วไปทาง Facebook: KhumPOS (ไม่ควรส่งข้อมูลส่วนบุคคลหรือเอกสารสำคัญทางข้อความเพจ)