สารบัญ
ตอนที่แล้ว agent ใช้เงินแทนเรา agent มีเพดาน บันทึก ปุ่มหยุด และชื่อคนรับผิดชอบ
ตอนนี้เราจะได้สามหน้าที่ลูกค้าอ่านได้ กับตารางคำขอที่ทำตามหน้าเหล่านั้น
ตอนหน้าเราจะได้ 30 นาทีต่อสัปดาห์ที่ไล่ดูทุกอย่างที่สร้างมา
ทุกบทความในซีรีส์นี้มาจากการที่ผมคุยกับ AI แล้วค้นข้อมูลเพิ่มเติม ผมเป็นคนกำหนดทิศทาง ให้ AI ช่วยสรุป วิเคราะห์ และเรียบเรียงออกมาเป็นบทความครับ
ตอนนี้พูดถึงกฎหมายบางข้อ แต่ไม่ใช่คำแนะนำทางกฎหมาย ถ้าธุรกิจของคุณมีข้อสงสัย ให้ถามนักกฎหมายหรือนักบัญชี
เราอยู่ตรงไหนของแผนที่
บนแถบ 5 ขั้น คราวนี้ Requirements กับ Deploy/Run สว่าง ในฝั่งที่ลูกค้าเห็น
ชิ้นจิ๊กซอว์ที่ 10 สัญญาที่ต้องเขียน คือเรื่องที่ 23 support เรื่องที่ 24 รับเงิน billing และภาษี เรื่องที่ 25 growth และเรื่องที่ 26 กฎหมายและ compliance ซึ่งรวม privacy
ตอนนี้แตะเรื่อง growth แค่สั้นๆ เพราะเนื้อหาหลักคือคำสัญญาที่ให้ลูกค้า
หัวใจของตอนนี้
สิ่งที่เราสัญญากับลูกค้า ต้องเขียนไว้ และต้องมีระบบที่ทำตามคำสัญญานั้นได้จริง
ทำไมเรื่องนี้สำคัญ?
ตอน 8 ถึง 10 ทำให้รู้ว่าข้อมูลอยู่ที่ไหน ระบบพังแล้วทำยังไง และเงินออกไปทางไหน
แต่ทั้งหมดเป็นเรื่องภายใน ลูกค้ามองไม่เห็น
ถ้าไม่เขียนสัญญาไว้ คำขอลบหรือคืนเงินจะได้คำตอบคนละแบบทุกครั้ง และ agent ก็ต้องเดา
ถ้าเขียนไว้แต่ทำไม่ได้ ก็ผิดสัญญาตั้งแต่วันแรก
หลัก 5 ข้อข้างล่างคือวิธีไปถึงประโยคในกล่องหัวใจ
อีเมลเดียว สองคำขอ
ลูกค้าคนหนึ่งที่จ่ายเงินให้ต้นโดยตรง ส่ง email มาว่า “ขอลบข้อมูลของผมทั้งหมด และขอเงินคืนเดือนนี้” (ตัวอย่าง)
agent-support ตอบว่า “ได้เลย” แล้วลบแถวของเขาในตาราง customers
แต่ข้อมูลการชำระเงินยังอยู่ที่ Stripe
backup จากตอน 9 กับ log จากตอน 10 ก็ยังมีข้อมูลของเขา
และเงินคืนไม่เคยถูกส่งออกไป
agent ไม่ได้ทำผิดคำสั่ง ไม่มีใครเคยเขียนไว้ว่าคำว่า “ลบทั้งหมด” ต้องทำอะไรบ้าง

เรื่องจริง: ค่าปรับ PDPA 7 ล้านบาท
เรื่องของต้นแต่งขึ้น แต่เรื่องนี้เกิดขึ้นจริง
กระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม แถลง เมื่อวันที่ 21 สิงหาคม 2567 ว่าคณะกรรมการผู้เชี่ยวชาญ คณะที่ 2 มีคำสั่งลงโทษปรับทางปกครองบริษัทเอกชนรายใหญ่ที่ซื้อขายสินค้าออนไลน์ “รวมจำนวนทั้งสิ้น 7 ล้านบาท”
บริษัทนี้เก็บข้อมูลลูกค้ามากกว่า 1 แสนราย แต่ไม่มีเจ้าหน้าที่คุ้มครองข้อมูลส่วนบุคคล (DPO) ขัดต่อมาตรา 41
ไม่มีมาตรการรักษาความปลอดภัยที่เหมาะสม ขัดต่อมาตรา 37(1)
และแจ้งเหตุข้อมูลรั่วล่าช้า ขัดต่อมาตรา 37(4)
กระทรวงระบุว่านี่เป็นคำสั่งปรับทางปกครองฉบับแรกกับบริษัทเอกชนรายใหญ่ ตั้งแต่กฎหมายนี้มีผลใช้บังคับ โดยคณะกรรมการผู้เชี่ยวชาญ คณะที่ 2
กฎหมายนี้มีผลจริงแล้ว และมีคนโดนปรับจริงแล้ว
ภายในเรียบร้อยแล้ว แล้วลูกค้าเห็นอะไร?
ตารางกติกาข้าม repo ของตอน 8 (ช่อง เป็นเจ้าของข้อมูล) คือฐานของหน้า privacy ช่อง “ใครเห็นข้อมูล”
alert ของตอน 9 บอกว่า support ควรสัญญาว่าจะตอบภายในเท่าไหร่
ชื่อคนรับผิดชอบของตอน 10 คือคนที่ลูกค้าติดต่อเรื่อง privacy
ของทั้งหมดมีอยู่แล้ว แค่ยังไม่มีใครเขียนให้ลูกค้าอ่าน
หลัก 1: เขียนเท่าที่ระบบทำได้จริง
ถ้าสัญญาต้องมีระบบรองรับ ก็ต้องเริ่มจากระบบที่มีอยู่จริง
ทุกประโยคในสามหน้าต้องชี้ไปที่ระบบหรือคนหนึ่งคน
เช่น “ลบภายใน 30 วัน” (ตัวอย่าง) ต้องมี script ลบที่ครอบคลุม database ข้อมูลลูกค้าใน Stripe และอายุของ log
คำสัญญาที่ไม่มีระบบรองรับ คือคำสัญญาที่รอวันผิด
lauren (@poteto) เขียนไว้ ว่า “i still strongly believe that writing is thinking.”
การเขียนสามหน้านี้เองทำให้ต้นเห็นว่าคำสัญญาไหนยังไม่มีระบบ
หลัก 2: สิทธิ์ตามกฎหมายต้องทำได้ในเวลา
คำสัญญาบางข้อไม่ได้มาจากเรา แต่มาจากกฎหมาย
พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 มาตรา 30 ให้สิทธิเจ้าของข้อมูลขอเข้าถึงและขอรับสำเนาข้อมูลของตน ถ้าไม่ใช่กรณีที่ปฏิเสธได้ตามกฎหมาย ผู้ควบคุมข้อมูลต้องทำตามคำขอ “โดยไม่ชักช้า แต่ต้องไม่เกินสามสิบวันนับแต่วันที่ได้รับคำขอ”
มาตรา 33 ให้สิทธิขอให้ “ดำเนินการลบหรือทำลาย หรือทำให้ข้อมูลส่วนบุคคลเป็นข้อมูลที่ไม่สามารถระบุตัวบุคคลที่เป็นเจ้าของข้อมูลส่วนบุคคลได้” ในกรณีที่มาตรานี้กำหนด มาตรา 33 ไม่ได้กำหนดเป็นจำนวนวันไว้ ตัวเลข 30 วันของการลบในตอนนี้เป็นคำสัญญาที่ต้นตั้งเอง
มาตรา 33 วรรคสองมีข้อยกเว้น เช่น การเก็บไว้ “เพื่อการปฏิบัติตามกฎหมาย”
ถ้าธุรกิจอยู่ในขอบเขตของ GDPR ตามมาตรา 3 เช่น มีสถานประกอบการในสหภาพยุโรป หรือเสนอสินค้าหรือบริการให้ผู้ที่อยู่ในสหภาพ หรือติดตามพฤติกรรมของผู้ที่อยู่ในสหภาพซึ่งเกิดขึ้นในสหภาพ GDPR มาตรา 17 เขียนไว้ ว่าการลบต้องทำ “without undue delay”
ต้นจึงเขียนคำตอบเป็นสามส่วน: อะไรลบแล้ว อะไรเก็บไว้เพราะกฎหมาย และอะไรจะหายเองเมื่อหมดอายุ
ข้อมูลการชำระเงินที่ต้องเก็บตามกฎหมายภาษีนานเท่าไหร่ ต้นถามนักบัญชี
หลัก 3: support ใช้ช่องเดียวกับงาน
คำสัญญาจะทำได้ ก็ต่อเมื่อคำขอมาถึงคนที่ทำได้
อีเมล support และ LINE OA ของต้นไหลเข้าช่องรับงานเดียวของตอน 6
ทุกคำขอกลายเป็น ticket ที่มีวันครบกำหนด
หน้า support บอกชัดว่าอะไร agent-support ตอบเองได้ และอะไรต้องเป็นต้น ใช้ตรรกะระดับความเสี่ยงเดียวกับตอน 6 และ 7
| เรื่อง | agent-support | ต้น |
|---|---|---|
| สถานะระบบ วิธีใช้ ขอใบเสร็จ | ตอบเองได้ | ทำได้ |
| คืนเงิน | รับเรื่อง เปิด ticket | ทำเท่านั้น |
| ลบข้อมูล | รับเรื่อง เปิด ticket | ทำเท่านั้น |
| ข้อโต้แย้ง | รับเรื่อง เปิด ticket | ทำเท่านั้น |
หลัก 4: คืนเงินและข้อโต้แย้งใช้เครื่องมือของผู้รับเงิน
คำสัญญาเรื่องเงินต้องตรงกับสิ่งที่ผู้รับเงินทำได้จริง
Stripe เขียนไว้ ว่าลูกค้าจะเห็นเงินคืน “approximately 5-10 business days later, depending upon the bank”
หน้า billing ของต้นจึงเขียนตัวเลขนี้ ไม่สัญญาว่าเงินจะเข้าทันที
Stripe อธิบายว่า “A dispute (also known as a chargeback) occurs when a cardholder questions your payment with their card issuer”
นโยบายคืนเงินที่ชัดช่วยให้ลูกค้าขอคืนกับเราก่อน แทนที่จะไปโต้แย้งกับธนาคาร
ราคาที่เขียนต้องคิดค่าธรรมเนียมด้วย หน้าราคาของ Stripe ประเทศไทย เขียนว่า “3.65% + ฿10.00 ต่อธุรกรรมผ่านบัตรในประเทศที่ดำเนินการสำเร็จ”
เรื่องเอกสารภาษีตามกฎหมายไทย ต้นถามนักบัญชี ไม่เดาเอง
หลัก 5: ทุกคำขอมีหลักฐานว่าทำแล้ว
สัญญาที่ทำแล้วต้องพิสูจน์ได้ ไม่ใช่แค่จำได้
ตารางคำขอของต้นเก็บวันที่รับ วันครบกำหนด วันที่เสร็จ และหลักฐาน
หลักฐานคือ output ของ script ลบ หรือ refund id จาก Stripe
ถ้าลูกค้าหรือหน่วยงานถาม ต้นเปิดตารางนี้ให้ดูได้
การกระทำของ agent กับข้อมูลลูกค้าก็อยู่ใน audit log ของตอน 10 อยู่แล้ว

สามหน้าและตารางของต้นหน้าตาเป็นยังไง?
ท่อนหนึ่งจากหน้า privacy (ตัวอย่าง):
เราเก็บชื่อ อีเมล และประวัติการจอง เพื่อให้บริการ เก็บจนกว่าคุณยกเลิก แล้วลบภายใน 30 วัน ข้อมูลการชำระเงินเก็บไว้ตามระยะที่นักบัญชียืนยันว่ากฎหมายกำหนด บริการที่เห็นข้อมูล: Stripe, Neon, Sentry ขอดูหรือขอลบ: privacy@… ตอบภายใน 30 วัน
แถวหนึ่งในตารางคำขอ (ตัวอย่าง):
| ช่อง | ค่า |
|---|---|
| วันที่รับ | 2026-11-03 |
| ลูกค้า | #212 |
| ประเภท | ลบ และคืนเงิน |
| ครบกำหนด | 2026-12-03 |
| ใครทำ | ต้น |
| ระบบที่ทำ | delete script และ Stripe refund |
| วันที่เสร็จ | 2026-11-04 |
| หลักฐาน | refund id re_… และบรรทัดใน log ของ script |
ลองตอบอีเมลเดิมใหม่ (ตัวอย่าง):
ต้นตอบฉบับเดียว บอกว่าบัญชีและประวัติการจองลบแล้ว
ข้อมูลการชำระเงินยังเก็บไว้ตามที่นักบัญชีแนะนำ
backup จะหมดอายุเองภายในรอบที่เขียนไว้ในหน้า privacy
และเงินคืนจะเข้าบัญชีภายในประมาณ 5 ถึง 10 วันทำการ ตามที่ Stripe แจ้ง

มาตรฐานว่ายังไง
ISO/IEC 29110 ระดับ Basic มีกระบวนการ Project Management ที่ครอบคลุมการวางแผนและการปิดงานกับลูกค้า
ISO/IEC/IEEE 12207 มีกลุ่ม Agreement processes คือ acquisition และ supply
พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 มาตรา 30 และ 33 และ GDPR มาตรา 17 ตามที่ยกไว้ข้างบน
ผมเทียบเอง: บริษัทใหญ่มีฝ่ายกฎหมาย ฝ่าย support และฝ่ายการเงิน ต้นมีสามหน้ากับตารางเดียว และทุกบรรทัดมีระบบรองรับ
จิ๊กซอว์ชิ้นที่เติมแล้ว
ชิ้นที่ 10 เติมแล้ว คำสัญญาที่ให้ลูกค้าถูกเขียนไว้ และทุกข้อมีระบบที่ทำตามได้
สิ่งที่ผมได้จากตอนนี้
ลองทำเอง
ใช้เวลาราว 30 ถึง 40 นาที ไม่เสียเงิน ใช้ Stripe test mode เท่านั้น (ตัวอย่าง)
- ไล่รายชื่อบริการทุกตัวที่ถือข้อมูลลูกค้า จากตารางกติกาข้าม repo ของตอน 8 (ช่อง เป็นเจ้าของข้อมูล) แล้วใส่ในช่อง “ใครเห็นข้อมูล”
- ใน Stripe test mode ทำรายการจ่ายเงินหนึ่งรายการ แล้ว refund จดเลข refund id ไว้
- เขียนสามหน้า ยาวไม่เกินหน้าจอละหนึ่งหน้า แล้วเขียนกำกับทุกประโยคว่าระบบไหนทำตาม
ผมลองแล้ว: __ นาที ฿0 บริการที่ถือข้อมูลลูกค้า __ ตัว ประโยคที่ยังไม่มีระบบรองรับ: __
เก็บศัพท์
- privacy policy: หน้าที่บอกว่าเก็บข้อมูลอะไร เพื่ออะไร และนานแค่ไหน
- data subject rights: สิทธิของเจ้าของข้อมูล
- right of access: สิทธิขอดูและขอสำเนาข้อมูลของตน
- erasure: การลบข้อมูลตามคำขอ
- anonymisation: ทำให้ข้อมูลระบุตัวคนไม่ได้
- retention: ระยะเวลาที่เก็บข้อมูลไว้
- DPO: เจ้าหน้าที่คุ้มครองข้อมูลส่วนบุคคล
- SLA: ระยะเวลาที่สัญญาว่าจะตอบหรือแก้
- refund: การคืนเงิน
- dispute หรือ chargeback: ลูกค้าโต้แย้งรายการกับธนาคารผู้ออกบัตร
- credit note: เอกสารลดยอดหรือคืนเงินจากใบแจ้งหนี้
- customer portal: หน้าที่ลูกค้าจัดการการสมัครและยกเลิกเอง
จดบันทึก
เขียนเท่าที่ทำได้ ทำได้ตามที่เขียน และเก็บหลักฐาน
ถ้าต้นเริ่มใหม่
ถ้าต้นเริ่มใหม่ เขาจะทำเรื่องนี้ตั้งแต่วันแรกไหม?
หน้า privacy กับหน้า billing: ทำ ก่อนรับเงินลูกค้าคนแรก เพราะสั้น
ตารางคำขอ: เริ่มตั้งแต่คำขอแรก
DPO และการให้นักกฎหมายตรวจ: เมื่อข้อมูลโตขึ้น ต้องมี DPO หรือไม่ขึ้นกับเกณฑ์ในกฎหมาย ให้ถามผู้เชี่ยวชาญ
ตอนต่อไป
ตอนนี้ต้นมี ticket ด่าน alert ตารางเงิน และตารางคำขอ
แต่เขาไม่มีเวลาเปิดดูทุกอย่างทุกวัน และเริ่มมีเรื่องหลุดโดยไม่มีใครเห็น
ตอนหน้า เราจะได้รอบทบทวนสัปดาห์ละ 30 นาที ที่ไล่ดูทุกอย่างนี้ในที่เดียว
คำถามที่พบบ่อย
ใช้ template privacy policy จากเว็บได้ไหม?
ได้ ถ้าทุกบรรทัดตรงกับระบบของเรา บรรทัดที่ไม่ตรงคือคำสัญญาที่ทำไม่ได้
ต้องลบข้อมูลใน backup ด้วยไหม?
เขียนไว้ว่า backup เก็บข้อมูลนานแค่ไหน และข้อมูลจะหายเมื่อ backup หมดอายุ
agent ตอบ support ได้แค่ไหน?
เท่าที่หน้า support เขียนไว้ คืนเงินและลบข้อมูลเป็นงานของต้น
ต้องมี DPO ไหม?
ขึ้นกับเกณฑ์ในมาตรา 41 ให้ตรวจกับนักกฎหมาย บริษัทในเรื่องจริงข้างบนถูกระบุว่าไม่มี DPO และเป็นหนึ่งในสามเหตุของค่าปรับรวม 7 ล้านบาท