PII Redactor: คู่มือลบข้อมูลส่วนบุคคลก่อนวางหรือแชร์ข้อความ
ตรวจจับและลบอีเมล เบอร์โทร บัตรเครดิต SSN IBAN IP และ API key จากข้อความที่วาง ด้วยการตรวจสอบ Luhn และโหมด redact, mask, หรือ hash ทำงานทั้งหมดในเบราว์เซอร์
Table of Contents
PII Redactor: คู่มือลบข้อมูลส่วนบุคคลก่อนวางหรือแชร์ข้อความ
ทุกวัน วิศวกรและทีมซัพพอร์ตต้องวาง (paste) ข้อความที่มีข้อมูลส่วนบุคคลของผู้อื่นอยู่ในนั้น ทั้งอีเมลลูกค้าที่ติดมากับ log ที่คัดลอกมา เลขบัตรเครดิตที่ซ่อนอยู่ใน stack trace หรือ API key ที่แนบมากับ config snippet การวางข้อความใช้เวลาแค่สองวินาที แต่การรั่วไหลอาจอยู่กับเราไปอีกหลายปี เพราะตั๋วงาน คลังแชท และประวัติแชทกับ AI ถูกคัดลอกและจัดทำดัชนีต่อไปได้ไกลกว่าผู้ที่ควรเห็น
PII Redactor ถูกออกแบบมาเพื่อช่วงเวลาแบบนี้โดยเฉพาะ วางข้อความก่อน แล้วเครื่องมือจะตรวจจับอีเมล เบอร์โทรศัพท์ บัตรเครดิต SSN IBAN IP address บรรทัด credential และรูปแบบ API key จากนั้นแทนที่ข้อมูลที่พบด้วยโหมด redact, mask หรือ hash บัตรเครดิตจะถูกตรวจสอบด้วย Luhn และ IBAN จะถูกตรวจรูปแบบ ทำให้ตัวเลขธรรมดาอย่างวันที่หรือเลขออเดอร์ไม่ถูกลบไปโดยเข้าใจผิด ทุกอย่างทำงานในเบราว์เซอร์ของคุณ — ไม่มีการอัปโหลด ไม่ต้องสมัครบัญชี
ทำไมต้องใช้ PII Redactor?
- ลบก่อนวาง ดีกว่าลบหลังรั่ว: จุดเสี่ยงที่สุดคือตอนที่ข้อความออกจากมือคุณ การรัน redaction ก่อนส่งเข้าตั๋ว แชท หรือ prompt ถูกกว่าการตามลบข้อมูลจากคลังข้อมูลภายหลังมาก
- ลด false positive ด้วยการตรวจสอบจริง: บัตรเครดิตต้องผ่าน Luhn checksum ทำให้ timestamp และเลขอ้างอิงรอดพ้นจากการถูกลบโดยไม่จำเป็น
- เลือกผลลัพธ์ให้ตรงผู้อ่าน: redact สำหรับสำเนาที่ไม่ระบุตัวตน mask สำหรับมุมมองที่อ่านได้บางส่วน หรือ hash สำหรับ token ที่ใช้เทียบข้อมูลได้
- คุมทุกหมวดข้อมูล: toggle แปดตัวเปิดปิดตัวตรวจจับแต่ละตัวได้ — เช่น เก็บ IP ภายในไว้ แต่ลบอีเมลลูกค้าออก
- ใช้กับ AI อย่างปลอดภัยขึ้น: log ที่วางเข้า prompt มักพาข้อมูลลูกค้าเข้าระบบบุคคลที่สาม ลบก่อนแล้วจะเก็บบริบทการ debug ไว้ได้โดยไม่พาข้อมูลส่วนบุคคลติดไปด้วย
- เป็นส่วนตัวตั้งแต่ต้นจนจบ: เครื่องมือทำงาน client-side 100% ข้อความที่วางไม่เคยออกจากเครื่องของคุณ ซึ่งสำคัญมากเมื่อตัวข้อความนั่นแหละคือของ sensitive
คุณสมบัติเด่น
| คุณสมบัติ | ทำอะไร | ทำไมจึงสำคัญ |
|---|---|---|
| ตรวจจับอีเมล | หา email address มาตรฐานในข้อความที่วาง | ข้อมูลส่วนบุคคลที่รั่วบ่อยที่สุด |
| ตรวจจับเบอร์โทร | จับรูปแบบสากลและรูปแบบกลุ่มตัวเลข ข้ามวันที่และทศนิยม | รักษา timestamp และเลข ID ให้เหมือนเดิม |
| บัตรเครดิต | จับเลขบัตร 13 ถึง 19 หลัก ตรวจสอบด้วย Luhn | กรองลำดับตัวเลขคล้ายบัตรที่ checksum ไม่ผ่าน |
| SSN, IBAN และ IP | จับ SSN ตรวจโครงสร้าง IBAN และ octet ของ IPv4 | ครอบคลุมข้อมูลอ่อนไหวและข้อมูลเครือข่าย |
| Credentials และ keys | บรรทัด credential พร้อมรูปแบบ AWS, GitHub, Slack, Google และ JWT | หยุด secret ที่ยังใช้งานอยู่ก่อนเข้าระบบอื่น |
| โหมดผลลัพธ์ | แทนที่แต่ละจุดด้วย redact, mask หรือ hash | ตรงกับผู้อ่าน: ผู้ตรวจ มนุษย์ หรือ pipeline |
| Category toggles | เปิดปิดตัวตรวจจับทั้งแปดตัวแยกกันได้ | ปรับการลบให้เข้ากับข้อความที่มีจริง |
จุดที่ซ้อนทับกันจะถูกแก้ด้วยลำดับความสำคัญ จึงไม่มีอะไรถูกแทนที่ซ้ำ และการ hash เป็นแบบ deterministic ค่าเดิมจะได้ token เดิมเสมอ ซึ่งจำเป็นมากในการเทียบข้อมูล
วิธีใช้งาน
- เปิดเครื่องมือ: เข้า PII Redactor ในเบราว์เซอร์ ไม่ต้องติดตั้งหรือสมัครอะไร
- วางข้อความ: วาง log, ฉบับร่างตั๋ว หรือ prompt ที่กำลังจะแชร์ ข้อความยาวได้สบาย การประมวลผลเกิดขึ้นในเครื่อง
- ปรับ category toggles: สำหรับข้อความที่ไม่รู้จักให้เปิดครบแปดตัวตรวจจับ หรือลดขอบเขตให้เหลือเฉพาะที่จำเป็น
- เลือกโหมดผลลัพธ์: redact สำหรับสำเนาที่สะอาดหมดจด mask เมื่อผู้ตรวจต้องจำแนกค่าบางส่วนได้ หรือ hash เพื่อเทียบค่าโดยไม่เปิดเผยข้อมูล
- คัดลอกผลลัพธ์: ดูจำนวนที่ตรวจพบแยกตามหมวด แล้วนำข้อความที่สะอาดแล้วไปใช้ ทำซ้ำกับข้อความชุดอื่นที่จะแชร์
รูปแบบข้อมูลที่ถูกตรวจจับ
อีเมล ถูกจับด้วยรูปแบบมาตรฐาน: ส่วน local, เครื่องหมาย @, โดเมน และ top-level domain อย่างน้อยสองตัวอักษร — ครอบคลุมทั้งข้อมูลจากฟอร์ม ส่วนหัวอีเมล และข้อความที่ถูก forward
เบอร์โทรศัพท์ ใช้ heuristic ที่ระวังเป็นพิเศษ ตัวตรวจจับยอมรับรหัสประเทศอย่าง +66 รหัสพื้นที่ในวงเล็บ และกลุ่มตัวเลข แต่ปฏิเสธข้อความที่ดูเป็นตัวเลขเฉย ๆ ดังนั้นวันที่ เวลา และ timestamp ใน log จึงรอดพ้นจากการถูกลบ
บัตรเครดิต คือตัวอย่างที่ชัดที่สุดว่าทำไมการตรวจสอบจึงสำคัญ เครื่องมือจับกลุ่มตัวเลข 13 ถึง 19 หลัก แล้วรัน Luhn checksum เลขบัตรจริงทุกใบผ่าน Luhn เสมอ ดังนั้นเลขออเดอร์ที่คั่นด้วยช่องว่างหรือ timestamp ยาว ๆ จะไม่ผ่านและถูกเว้นไว้ — false positive จึงน้อย
SSN จับรูปแบบสาม-สอง-สี่หลักคั่นด้วยขีด ส่วน IBAN จับจากโครงสร้างรหัสประเทศและตรวจความยาวมาตรฐาน 15 ถึง 34 ตัวอักษร IP address จับรูป dotted-quad พร้อมตรวจว่าแต่ละ octet อยู่ในช่วง 0 ถึง 255
Credentials และ API keys ทำงานสองชั้น ชั้นแรกคือบรรทัด credential — api_key, secret, token, password, bearer หรือ authorization ตามด้วยค่า — จะถูกตรวจพบและค่าข้างหลังถูก redact วิธีนี้จับ token สไตล์ sk- ของ provider ต่าง ๆ ได้ด้วย เพราะชื่อ key ที่อยู่ข้าง ๆ ให้บริบท ชั้นที่สองคือรูปแบบที่รู้จักกันโดยตรง: AWS key ที่ขึ้นต้นด้วย AKIA GitHub token ตระกูล ghp_ Slack token ที่ขึ้นต้น xox Google key ที่ขึ้นต้น AIza และ JWT ที่ขึ้นต้นด้วย eyJ
สามโหมดแลกกันคนละคุณสมบัติ Redact แทนที่ข้อมูลที่พบด้วย placeholder ในวงเล็บอย่าง [EMAIL] — ไม่ระบุตัวตนและแชร์ได้กว้าง แต่ไม่สามารถเทียบค่ากันได้อีก Mask เก็บตัวอักษรต้นและท้ายไว้แล้วใส่ดาวตรงกลาง ผู้ตรวจยังจำแนกได้ว่านี่คือที่อยู่ของใคร Hash แทนค่าด้วย token แบบ deterministic อย่าง [EMAIL:#4a3c9d21] ให้คุณเชื่อมโยงลูกค้าคนเดียวกันข้ามหลายระเบียนโดยไม่เปิดเผยตัวข้อมูล
ต้องตระหนักด้วยว่าการตรวจจับด้วย regex มีขีดจำกัด ชื่อบุคคล ที่อยู่ ตำแหน่งงานแบบข้อความอิสระ และความหมายเชิงบริบทไม่ถูกจับ redactor เป็นตัวกรองเชิงโครงสร้างที่แข็งแรง แต่ไม่ทดแทนดุลยพินิจของคน — กวาดตาดูผลลัพธ์ก่อนแชร์เสมอ
กรณีการใช้งานจริง
ทำความสะอาดตั๋วงานบริการลูกค้า
ก่อนส่งต่อสายลูกค้าไปยัง vendor หรือวางลง issue สาธารณะ ให้รันผ่าน redactor ก่อน placeholder รักษาเนื้อเรื่องไว้ — ผู้ตรวจยังเห็นว่ามีอีเมลอยู่และอยู่ตรงไหน — แต่ที่อยู่จริงไม่เคยเข้าระบบบุคคลที่สาม mask เหมาะเมื่อผู้ตรวจภายในต้องเทียบค่ากับต้นทางภายหลัง
แชร์ log กับ vendor
log แอปพลิเคชันเต็มไปด้วยข้อมูลส่วนบุคคลโดยบังเอิญ ทั้ง IP ในบรรทัด request อีเมลใน error และ token ในส่วนหัว ลบก่อนแนบไปกับตั๋ว vendor โดยปิดเฉพาะหมวดที่ vendor ต้องใช้จริง และเปิด hash ไว้กับ identifier เพื่อให้ทั้งสองฝ่ายยังเทียบระเบียนกันได้ตลอดบทสนทนา
เตรียมข้อความก่อนแชทกับ AI
การวาง log เข้า AI assistant เป็นวิธี debug ประจำวันไปแล้ว แต่ prompt จะถูกประมวลผลโดยระบบภายนอก การลบอย่างรวดเร็วหนึ่งรอบเก็บสิ่งที่มีประโยชน์ไว้ — stack trace, error, timing — พร้อมถอดอีเมล เลขบัตร และ key ที่ไม่ควรออกจากเครื่องคุณออกไป ทำให้เป็นนิสัยก่อนวางครั้งแรก ไม่ใช่ไปเก็บกวาดทีหลัง
การจัดการข้อมูลในแนวทาง GDPR
กฎอย่าง GDPR ถือว่าอีเมล เบอร์โทร และ identifier เป็นข้อมูลส่วนบุคคลที่ได้รับการคุ้มครอง และการลดปริมาณข้อมูลที่แชร์คือหลักการสำคัญ ขั้นตอน redaction ที่ทำซ้ำได้เป็นวิธีฝึกหลักการนี้อย่างง่าย มันไม่ได้ทำให้กระบวนการที่ไม่เป็นไปตามกฎกลายเป็นถูกต้องในตัวเอง แต่ช่วยลดข้อมูลส่วนบุคคลที่ไหลเข้าตั๋ว ไฟล์ export และเครื่องมือบุคคลที่สามได้อย่างมีนัยสำคัญ
แนวทางปฏิบัติที่ดี
- ลบก่อนวาง ไม่ใช่หลังวาง: ให้ขั้นตอนนี้อยู่ก่อนถึงตั๋ว แชท หรือ prompt เสมอ
- ใช้ hash เมื่อต้องเทียบข้อมูล: ถ้าชุดข้อมูลสองชุดต้อง join กันทีหลัง hash mode ให้ token เดียวต่อค่าโดยไม่เปิดเผยข้อมูลต้นฉบับ
- จำไว้ว่าชื่อแบบข้อความอิสระไม่ถูกจับ: ตัวตรวจจับหา identifier ที่มีโครงสร้าง ชื่อ ที่อยู่ และตำแหน่งงานในร้อยแก้วยังต้องใช้ตาคนตรวจอีกชั้น
- อย่าพึ่งพารอบเดียว: รัน redactor กวาดตาดูผลลัพธ์ แล้วรันซ้ำถ้าคุณแก้ไขหรือเพิ่มข้อความ เพราะเนื้อหาใหม่อาจมีข้อมูลใหม่ติดมา
- ปรับ toggle ตามผู้รับ: ปิดการตรวจจับ IP สำหรับงานเครือข่ายถือว่าสมเหตุสมผล แต่การปิดการตรวจจับ credential แทบไม่มีทางพอเหมาะ
- เก็บต้นฉบับไว้ในเครื่อง: ลบบนเครื่องที่มีข้อมูลต้นทาง แล้ววางเฉพาะผลลัพธ์ที่สะอาดแล้วออกไปเท่านั้น
ลบก่อนแชร์แล้วคุณจะนอนหลับสบาย
การวางข้อความหนึ่งครั้งพาข้อมูลส่วนบุคคลของใครบางคนเข้าสู่ระบบที่คุณควบคุมไม่ได้ทั้งหมด — และการลบหนึ่งรอบก็ป้องกันสิ่งนั้นได้ เปิด PII Redactor วางข้อความ เลือกโหมดให้ตรงผู้อ่าน แล้วคัดลอกสำเนาที่สะอาดแล้วออกมา มันรันในเบราว์เซอร์ล้วน ฟรี และเปลี่ยนนิสัยด้านความเป็นส่วนตัวที่มักถูกลืมให้กลายเป็นกิจวัตรสิบวินาที
เครื่องมือที่เกี่ยวข้อง
- Text Encryptor — เข้ารหัสข้อความ sensitive ด้วย AES-256 เมื่อต้องส่งข้อมูลแบบอ่านได้แต่ป้องกันไว้
- Steganography Tool — ซ่อนข้อความในรูปภาพเมื่อช่องทางปกติไม่เหมาะสม
- Regex ReDoS Checker — ตรวจ pattern การตรวจจับของคุณเองหา catastrophic backtracking ก่อนใช้งานจริง
ขอให้ลบข้อมูลราบรื่น และแชร์อย่างปลอดภัย!
คำถามที่พบบ่อย
ถ: PII Redactor ส่งข้อความของฉันไปเซิร์ฟเวอร์หรือไม่?
ตอบ: ไม่ การตรวจจับและการแทนที่ทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ ข้อความที่วางไม่เคยออกจากเครื่อง และไม่ต้องสมัครบัญชี
ถ: ทำไมเลขที่ดูเหมือนบัตรเครดิตชัด ๆ ถึงไม่ถูก redact?
ตอบ: เครื่องมือจะลบเฉพาะลำดับที่ผ่าน Luhn checksum พร้อมความยาวบัตรที่สมเหตุสมผล 13 ถึง 19 หลัก เลขที่ checksum ไม่ผ่านแทบเป็นบัตรจริงไม่ได้เลย และการเว้นไว้ช่วยรักษาค่าอย่างเลขออเดอร์ไว้ได้
ถ: mask กับ hash ต่างกันอย่างไร?
ตอบ: mask ใส่ดาวตรงกลางเพื่อให้คนยังจำแนกค่าได้ ส่วน hash ผลิต token แบบ deterministic เพื่อให้ระบบเทียบค่าที่ซ้ำกันข้ามหลายระเบียนได้โดยไม่เปิดเผยค่าต้นฉบับ