ใช้ LLM API กับข้อมูลลูกค้าอย่างไรให้ถูก PDPA

ทีม buzzAIอัปเดต 7 หัวข้อ · คำถามที่พบบ่อย 5 ข้อ

ทีมบริการลูกค้าอยากให้ AI สรุป ticket ฝ่ายขายอยากให้ AI ร่างอีเมลจากประวัติการซื้อ ทั้งสองงานต้องส่งชื่อ อีเมล และเบอร์โทรของลูกค้าไปให้ LLM API ที่เซิร์ฟเวอร์มักอยู่ต่างประเทศ คำถามแรกที่ CTO ต้องตอบได้คือ ทำแบบนี้ถูก PDPA หรือไม่

ส่งข้อมูลลูกค้าให้ ChatGPT หรือ LLM API ผิด PDPA ไหม

การส่งข้อมูลลูกค้าให้ LLM API ไม่ผิด PDPA ในตัวเอง แต่บริษัทต้องทำตามเงื่อนไขสามข้อ คือใช้ข้อมูลตามวัตถุประสงค์ที่แจ้งลูกค้าไว้ ทำข้อตกลงกับผู้ให้บริการ และถ้าข้อมูลไปประมวลผลต่างประเทศ ต้องเข้าเงื่อนไขการโอนข้อมูลตามมาตรา 28 หรือ 29

PDPA (พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562) นิยามข้อมูลส่วนบุคคลในมาตรา 6 ว่าข้อมูลเกี่ยวกับบุคคลที่ทำให้ระบุตัวบุคคลนั้นได้ ไม่ว่าทางตรงหรือทางอ้อม ใน prompt จึงไม่ได้มีแค่ชื่อกับเลขบัตร แต่รวมถึงอีเมล เบอร์โทร ที่อยู่จัดส่ง เลขสมาชิก และ log ที่มี IP หรือรหัสผู้ใช้ด้วย

จุดที่เสี่ยงที่สุดมักไม่ใช่ระบบที่ทีม dev สร้าง แต่เป็นพนักงานที่วางข้อมูลลูกค้าลงแอปแชตในบัญชีส่วนตัว ซึ่งไม่มีสัญญาใดๆ กับบริษัท ตัวอย่างชัดคือข้อกำหนดของ Gemini API ฉบับมีผล 23 มีนาคม 2569 ที่ระบุว่าบริการแบบไม่เสียเงิน Google ใช้ข้อมูลที่ส่งไปพัฒนาผลิตภัณฑ์ อาจมีคนอ่าน และขอไม่ให้ส่งข้อมูลส่วนบุคคล ส่วนบริการแบบเสียเงินไม่ใช้ prompt ไปพัฒนาผลิตภัณฑ์

บริษัทเป็นผู้ควบคุม ผู้ให้บริการ AI เป็นผู้ประมวลผล หมายความว่าอะไร

เมื่อบริษัทส่งข้อมูลลูกค้าให้ LLM API บริษัทเป็นผู้ควบคุมข้อมูลส่วนบุคคล (controller) เพราะเป็นผู้ตัดสินใจว่าจะใช้ข้อมูลทำอะไร ส่วนผู้ให้บริการ API เป็นผู้ประมวลผลข้อมูลส่วนบุคคล (processor) ที่ทำงานตามคำสั่งหรือในนามของบริษัท ความรับผิดชอบหลักต่อลูกค้าจึงยังอยู่ที่บริษัท

บทบาทในงาน LLMหน้าที่หลักตาม PDPA
ผู้ควบคุมข้อมูลบริษัทของคุณใช้ตามวัตถุประสงค์ที่แจ้ง (มาตรา 21), จัดมาตรการความปลอดภัย ป้องกันผู้รับข้อมูลใช้โดยมิชอบ มีระบบลบข้อมูล และแจ้งเหตุละเมิดภายใน 72 ชั่วโมง (มาตรา 37)
ผู้ประมวลผลข้อมูลผู้ให้บริการ LLM APIทำตามคำสั่งของผู้ควบคุมเท่านั้น มีมาตรการความปลอดภัย แจ้งเหตุละเมิดให้ผู้ควบคุม และบันทึกกิจกรรมการประมวลผล (มาตรา 40)
เจ้าของข้อมูลลูกค้าของคุณมีสิทธิขอเข้าถึง ขอลบ และคัดค้านการใช้ข้อมูล

มาตรา 40 วรรคสามบังคับให้ผู้ควบคุมทำข้อตกลงกับผู้ประมวลผล ข้อตกลงนี้คือ DPA และวรรคสองกำหนดว่า ถ้าผู้ประมวลผลใช้ข้อมูลนอกคำสั่ง จะถูกถือเป็นผู้ควบคุมในส่วนนั้น คำถามว่าผู้ให้บริการเอาข้อมูลไปเทรนโมเดลของตัวเองหรือไม่ จึงเป็นประเด็นทางกฎหมายโดยตรง

อธิบายด้วยภาพ

ก่อนส่งข้อมูลลูกค้าให้ LLM API

  1. 1 ลดข้อมูลตัดหรือปิดบังสิ่งที่งานไม่ต้องใช้ชื่อ อีเมล เบอร์โทร เลขบัตร
  2. 2 ทำสัญญาDPA ตามมาตรา 40ไม่เทรน ระยะเก็บ แจ้งเหตุละเมิด
  3. 3 ต่างประเทศเข้ามาตรา 28 หรือ 29เช่น ข้อสัญญามาตรฐานใน DPA
  4. ผลลัพธ์ส่งเท่าที่จำเป็น มีสัญญารองรับ

ลำดับขั้นสรุปจากบทความ รายละเอียดขึ้นกับประเภทข้อมูลและสัญญาแต่ละฉบับ

ส่งข้อมูลส่วนบุคคลไปต่างประเทศ PDPA กำหนดอะไร

PDPA อนุญาตให้ส่งหรือโอนข้อมูลส่วนบุคคลไปต่างประเทศเมื่อเข้าทางใดทางหนึ่งในมาตรา 28 หรือ 29 รายละเอียดอยู่ในประกาศคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล 2 ฉบับ ที่ลงราชกิจจานุเบกษา เล่ม 140 ตอนพิเศษ 323 ง วันที่ 25 ธันวาคม 2566 และใช้บังคับตั้งแต่ 24 มีนาคม 2567

ชื่อเต็มของประกาศทั้งสองฉบับคือ ประกาศคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล เรื่อง หลักเกณฑ์การให้ความคุ้มครองข้อมูลส่วนบุคคลที่ส่งหรือโอนไปยังต่างประเทศตามมาตรา 28 แห่งพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 พ.ศ. 2566 และฉบับคู่กันที่ออกตามมาตรา 29

ทางที่มาใช้กับผู้ให้บริการ LLM อย่างไร
ประเทศปลายทางมีมาตรฐานคุ้มครองเพียงพอมาตรา 28 และประกาศตามมาตรา 28คณะกรรมการวินิจฉัยเป็นรายกรณีหรือประกาศรายชื่อ ต้องตรวจว่าประเทศที่ประมวลผลมีคำวินิจฉัยแล้วหรือยัง
ข้อยกเว้นในมาตรา 28เช่น ได้ความยินยอมหลังแจ้งลูกค้าว่าประเทศปลายทางมีมาตรฐานไม่เพียงพอ หรือจำเป็นเพื่อปฏิบัติตามสัญญากับลูกค้าใช้เป็นรายกรณี
นโยบายในเครือ (BCR)มาตรา 29 วรรคหนึ่งใช้เมื่อส่งระหว่างบริษัทในเครือเดียวกันที่สำนักงานรับรองนโยบายแล้ว
มาตรการคุ้มครองที่เหมาะสมมาตรา 29 วรรคสาม เช่น ข้อสัญญามาตรฐาน (SCC) หรือการรับรอง (certification)ใส่ข้อสัญญาการโอนข้อมูลไว้ใน DPA กับผู้ให้บริการ

ประกาศตามมาตรา 28 ยังกำหนดว่าการส่งผ่านตัวกลาง (data transit) หรือฝากเก็บกับผู้ให้บริการคลาวด์ ที่มีมาตรการทางเทคนิคหรือเงื่อนไขทางกฎหมายทำให้ไม่มีบุคคลอื่นเข้าถึงข้อมูลได้ ไม่ถือเป็นการส่งหรือโอน แต่การเรียก LLM API ต่างจากการฝากไฟล์ไว้เฉยๆ เพราะระบบของผู้ให้บริการต้องอ่านและประมวลผลเนื้อหานั้น การวางแผนเหมือนเป็นการโอนข้อมูลจึงปลอดภัยกว่า

บทความนี้เป็นข้อมูลทั่วไป ไม่ใช่คำแนะนำทางกฎหมาย ก่อนส่งข้อมูลลูกค้าจริงให้ AI ตัวใด ควรปรึกษาฝ่ายกฎหมายหรือเจ้าหน้าที่คุ้มครองข้อมูลส่วนบุคคล (DPO) และอ่านกฎหมายกับประกาศฉบับเต็มที่เว็บไซต์ของสำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล pdpc.or.th

DPA คืออะไร ต้องมีอะไรบ้าง

DPA (Data Processing Agreement) คือข้อตกลงระหว่างผู้ควบคุมกับผู้ประมวลผลข้อมูลตามมาตรา 40 วรรคสาม ที่กำหนดว่าผู้ให้บริการทำอะไรกับข้อมูลได้ เก็บนานแค่ไหน และต้องดูแลอย่างไร ผู้ให้บริการ API รายใหญ่หลายรายมี DPA มาตรฐานสำหรับลูกค้าธุรกิจ

เช็กลิสต์สิ่งที่ DPA กับผู้ให้บริการ LLM ควรเขียนไว้

  • ประมวลผลตามคำสั่งของบริษัทเท่านั้น และไม่นำ prompt หรือคำตอบไปเทรนโมเดล
  • ระยะเวลาเก็บ input, output และ log รวมถึงการลบเมื่อครบกำหนดหรือเลิกสัญญา
  • ประเทศที่ประมวลผลและเก็บข้อมูล และข้อสัญญาการโอนข้อมูลที่ใช้กับกฎหมายไทยได้
  • มาตรการความปลอดภัย เช่น การเข้ารหัส และใครในฝั่งผู้ให้บริการเข้าถึงข้อมูลได้
  • กรอบเวลาที่ผู้ให้บริการต้องแจ้งเหตุละเมิด ให้สั้นพอที่บริษัทจะแจ้งสำนักงานทันภายใน 72 ชั่วโมง
  • รายชื่อผู้รับช่วงประมวลผล (sub-processor) และการแจ้งเมื่อมีการเปลี่ยน
  • การช่วยบริษัทตอบคำขอของเจ้าของข้อมูล เช่น ขอลบ หรือขอเข้าถึง
  • สิทธิตรวจสอบ หรือรายงานการตรวจสอบจากหน่วยงานภายนอก

ปิดบังข้อมูลลูกค้าก่อนส่งให้ LLM ทำอย่างไร

วิธีที่ลดความเสี่ยงได้มากที่สุดคือส่งข้อมูลส่วนบุคคลให้น้อยที่สุด (data minimisation) งานส่วนใหญ่ เช่น สรุป ticket จัดหมวดคำร้องเรียน หรือร่างคำตอบ ไม่ต้องรู้ชื่อจริงหรือเบอร์โทรของลูกค้า ให้แทนข้อมูลเหล่านั้นด้วยรหัสก่อนส่ง แล้วค่อยใส่กลับในระบบของบริษัทเอง

python
import re

PATTERNS = {
    "EMAIL": r"[\w.+-]+@[\w-]+\.[\w.]+",
    "PHONE": r"\b0[689]\d-?\d{3}-?\d{4}\b",
    "THAI_ID": r"\b\d-?\d{4}-?\d{5}-?\d{2}-?\d\b",
}

def mask(text, names=()):
    mapping = {}
    items = [("NAME", n) for n in names]
    for kind, pat in PATTERNS.items():
        items += [(kind, v) for v in dict.fromkeys(re.findall(pat, text))]
    for i, (kind, value) in enumerate(items, 1):
        tag = f"[{kind}_{i}]"
        mapping[tag] = value
        text = text.replace(value, tag)
    return text, mapping  # mapping เก็บในระบบเรา ไม่ส่งออกไป

ผลของ mask(text, names=["สมชาย ใจดี"])

text
ก่อน: คุณสมชาย ใจดี (somchai@example.com, 081-234-5678) แจ้งว่าได้ของไม่ครบ
หลัง: คุณ[NAME_1] ([EMAIL_2], [PHONE_3]) แจ้งว่าได้ของไม่ครบ

regex จับชื่อคนไทยได้ไม่ดี จึงควรดึงชื่อจากฐานข้อมูลลูกค้าที่รู้อยู่แล้วส่งเข้าไป (พารามิเตอร์ names) สิ่งที่ต้องจำคือข้อมูลที่ปิดบังแล้วยังโยงกลับได้ด้วย mapping ในมือบริษัท ฝั่งบริษัทจึงยังต้องดูแล mapping นั้นเหมือนข้อมูลส่วนบุคคลทั่วไป แต่ข้อมูลที่ออกไปถึงผู้ให้บริการจะเสี่ยงน้อยลงมาก

ก่อนเลือกผู้ให้บริการ LLM API ต้องถามอะไรบ้าง

ก่อนเลือกผู้ให้บริการ LLM API สำหรับงานที่มีข้อมูลลูกค้า ให้ถามอย่างน้อยสามเรื่อง คือเอาข้อมูลไปเทรนโมเดลไหม เก็บข้อมูลไว้นานเท่าไร และประมวลผลที่ประเทศไหน คำตอบควรมาจากเอกสารทางการหรือ DPA ไม่ใช่จากหน้าขาย

คำถามตัวอย่างจากเอกสารทางการ (ณ พฤศจิกายน 2569)
เอาข้อมูลไปเทรนโมเดลไหมOpenAI ระบุว่าข้อมูลที่ส่งผ่าน API ไม่ถูกใช้เทรนโมเดลเว้นแต่ลูกค้าเลือกเอง Anthropic ระบุว่าไม่ใช้ข้อมูลจากผลิตภัณฑ์เชิงพาณิชย์เทรนโมเดลโดยค่าเริ่มต้น
เก็บข้อมูลนานเท่าไรOpenAI เก็บ log เพื่อตรวจการใช้งานผิดนโยบายได้ถึง 30 วัน Anthropic ลบ input และ output ของ API ภายใน 30 วัน ยกเว้นกรณีละเมิดนโยบายหรือมีข้อตกลงอื่น
ไม่เก็บเลยได้ไหมOpenAI มี Zero Data Retention สำหรับลูกค้าที่ผ่านการอนุมัติ
ประมวลผลที่ไหนOpenAI มี data residency หลายภูมิภาค เช่น สหรัฐฯ ยุโรป ญี่ปุ่น และอินเดีย รายชื่อ ณ วันที่เขียนยังไม่มีประเทศไทย

ถ้าคำตอบยังไม่พอสำหรับข้อมูลบางประเภท ทางเลือกคือรันโมเดล open-weightบนเซิร์ฟเวอร์ที่บริษัทคุมเอง ซึ่งตัดเรื่องผู้ประมวลผลภายนอกและการโอนข้อมูลข้ามประเทศออกไป แลกกับต้นทุนและงานดูแลที่เพิ่มขึ้น (ดู ตั้ง LLM API ของตัวเองด้วย vLLM และ ต้นทุน AI Inference แบบไหนคุ้ม) ส่วนนโยบายการใช้ AI ในทีม dev อ่านต่อได้ที่ ใช้ AI coding agent ในบริษัท

buzzAI ดูแลข้อมูลของคุณอย่างไร

buzzAI เป็น API แบบเหมาจ่ายสำหรับ coding agent ใช้กับ Claude Code, Codex CLI และเครื่องมือที่ตั้ง base URL แบบ OpenAI-compatible ได้ เราไม่เอาข้อมูลหรือโค้ดของคุณไปเทรนโมเดล ตอนนี้งานประมวลผลบนเซิร์ฟเวอร์ GPU ของผู้ให้บริการคลาวด์ในต่างประเทศ คำถามเรื่องการโอนข้อมูลในบทความนี้จึงใช้กับ buzzAI เหมือนผู้ให้บริการรายอื่น

แพ็กบริษัททำ DPA ตาม PDPA ได้ และแพ็ก Dedicated ซึ่งให้การ์ด GPU ทั้งใบกับลูกค้ารายเดียวและเสนอราคาแยก วางเครื่องในไทยได้ ตอนนี้ API ยังไม่เปิดให้ใช้ทั่วไป กดขอร่วมทดสอบได้ที่หน้าแรก แล้วเราจะส่ง API key ทางอีเมลเมื่อมีผู้สมัครครบโควต้าที่กำหนด ดูแพ็กบริษัทได้ที่หน้าราคา

คำถามที่พบบ่อย

ข้อมูลที่ปิดบังชื่อแล้วยังอยู่ใต้ PDPA ไหม?

ถ้ายังโยงกลับไปหาตัวคนได้ไม่ว่าทางตรงหรือทางอ้อม เช่น เก็บตารางจับคู่รหัสกับชื่อไว้ หรือยังมีเลขคำสั่งซื้อกับที่อยู่ ก็ยังเป็นข้อมูลส่วนบุคคลตามนิยามในมาตรา 6 ข้อมูลที่ระบุตัวคนไม่ได้แล้วจริงๆ เท่านั้นที่อยู่นอกนิยามนี้

ต้องขอความยินยอมลูกค้าทุกครั้งก่อนส่งข้อมูลให้ AI ไหม?

ไม่เสมอไป ความยินยอมเป็นฐานหนึ่ง มาตรา 24 ยังมีฐานอื่น เช่น จำเป็นเพื่อปฏิบัติตามสัญญากับลูกค้า แต่ต้องใช้ตามวัตถุประสงค์ที่แจ้งไว้ตามมาตรา 21 ส่วนข้อมูลอ่อนไหวตามมาตรา 26 เช่น ข้อมูลสุขภาพ มีเงื่อนไขเข้มกว่าและโดยหลักต้องได้ความยินยอมโดยชัดแจ้ง

ถ้าข้อมูลรั่วจากฝั่งผู้ให้บริการ AI ใครต้องแจ้งสำนักงาน?

บริษัทในฐานะผู้ควบคุมข้อมูลต้องแจ้งสำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคลโดยไม่ชักช้าภายใน 72 ชั่วโมงนับแต่ทราบเหตุตามมาตรา 37 (4) เว้นแต่เหตุนั้นไม่มีความเสี่ยงต่อสิทธิและเสรีภาพของบุคคล ส่วนผู้ให้บริการในฐานะผู้ประมวลผลมีหน้าที่แจ้งเหตุให้ผู้ควบคุมทราบตามมาตรา 40 จึงควรเขียนกรอบเวลาการแจ้งไว้ใน DPA

ส่งข้อมูลไปต่างประเทศผิดเงื่อนไขมีโทษอย่างไร?

ผู้ควบคุมที่ไม่ปฏิบัติตามมาตรา 28 หรือมาตรา 29 วรรคหนึ่งหรือวรรคสาม มีโทษปรับทางปกครองไม่เกิน 3 ล้านบาทตามมาตรา 83 และถ้าเป็นข้อมูลอ่อนไหวตามมาตรา 26 เพดานเพิ่มเป็น 5 ล้านบาทตามมาตรา 84

รันโมเดลเองบนเซิร์ฟเวอร์ในไทยช่วยเรื่อง PDPA ไหม?

ถ้าเป็นเครื่องที่บริษัทดูแลเอง จะช่วยตัดคำถามเรื่องการโอนข้อมูลไปต่างประเทศและผู้ประมวลผลภายนอกออกไป แต่บริษัทยังต้องใช้ข้อมูลตามวัตถุประสงค์ มีมาตรการความปลอดภัย และลบข้อมูลตามกำหนดเหมือนเดิม

แหล่งอ้างอิง

  1. ประกาศคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล เรื่อง หลักเกณฑ์การให้ความคุ้มครองข้อมูลส่วนบุคคลที่ส่งหรือโอนไปยังต่างประเทศตามมาตรา 28 ฯ พ.ศ. 2566 (ราชกิจจานุเบกษา เล่ม 140 ตอนพิเศษ 323 ง) — e-Law มหาวิทยาลัยทักษิณelaw.tsu.ac.th
  2. การส่งหรือโอนข้อมูลส่วนบุคคลไปยังต่างประเทศ โดยสำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล — กรุงเทพธุรกิจbangkokbiznews.com
  3. มาตรา ๒๘ พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ — SiData+ คณะแพทยศาสตร์ศิริราชพยาบาลpdpa.sidata.plus
  4. มาตรา ๔๐ พ.ร.บ.คุ้มครองข้อมูลส่วนบุคคล พ.ศ. ๒๕๖๒ — SiData+ คณะแพทยศาสตร์ศิริราชพยาบาลpdpa.sidata.plus
  5. Data controls in the OpenAI platform — OpenAI APIdevelopers.openai.com
  6. Gemini API Additional Terms of Service — Google AI Studioaistudio.google.com

ข้อมูล ณ วันที่อัปเดต แพ็ก โควตา และคำสั่งของแต่ละเครื่องมือเปลี่ยนได้บ่อย ก่อนใช้งานจริงควรตรวจกับเอกสารทางการที่ลิงก์ไว้ในแหล่งอ้างอิง

AI Inference

อ่านต่อในหมวดเดียวกัน

ดูทุกบทความในหมวดนี้

พร้อมให้ Coding Agent
ทำงานแบบไม่คิดค่า token
แล้วหรือยัง?

ไม่คิดค่า token ใช้กับ Claude Code, Codex และเครื่องมือที่ตั้ง base URL เองได้ รอบนี้เปิดใช้เมื่อมีผู้สมัครครบโควต้าที่กำหนด แล้วเราจะส่ง API key ให้ทางอีเมล

  • Claude Code
  • Codex
  • OpenCode
  • Cline
  • Roo Code
  • Kilo Code
  • Aider
  • Qwen Code
  • Crush
  • Hermes