กลับไปที่บล็อกGDPR & การปฏิบัติตาม

PII ใน Excel: ทำให้ไม่ระบุตัวตนได้หลายร้อยคอลัมน์

ไฟล์ Excel เป็นหนึ่งในประเภทเอกสารที่มี PII หนาแน่นที่สุดในการดำเนินธุรกิจ นี่คือเหตุใดการวิเคราะห์ข้อความมาตรฐานจึงล้มเหลวบนสเปรดชีตและบริบทคอลัมน์ช่วยอย่างไร

March 6, 20268 อ่านประมาณ
Excel GDPRspreadsheet anonymizationXLSX complianceHR datadata minimization

เหตุใด Excel จึงเป็นไฟล์ที่มีความเสี่ยงสูงที่สุดของคุณ

ไฟล์ Excel เป็นหนึ่งในความเสี่ยง GDPR ที่ใหญ่ที่สุดในธุรกิจส่วนใหญ่ บันทึกทางการแพทย์อาจมีข้อมูลที่ละเอียดอ่อนกว่าต่อแถว แต่สเปรดชีตสะสม PII อย่างรวดเร็ว และทีมปฏิบัติตามกฎหมายมักพลาดพวกมัน

สามสิ่งทำให้ไฟล์ Excel จัดการได้ยาก

ปริมาณ: ไฟล์ XLSX เดียวสามารถมี 50,000 แถวและ 100 คอลัมน์ นั่นคือห้าล้านเซลล์ ไม่มีการตรวจสอบด้วยตนเองที่จะตรวจสอบได้ทั้งหมด

เค้าโครงตาราง: ข้อความไหลในทิศทางเดียว Excel กระจายข้อมูลทั่วแถวและคอลัมน์ ข้อมูลส่วนบุคคลสามารถซ่อนอยู่ที่ใดก็ได้ในตารางนั้น

เนื้อหาผสม: กลุ่มเงินเดือน รหัสแผนก และเกรดงานอยู่ในไฟล์เดียวกับ SSN และที่อยู่อีเมล การลบทุกอย่างทำให้ไฟล์ไม่มีประโยชน์

การเก็บรักษาระยะยาว: รายชื่อพนักงานและบันทึกลูกค้าอยู่ใน Excel เป็นปีๆ GDPR มาตรา 5(1)(e) กำหนดว่าข้อมูลต้องเก็บ "ไม่นานกว่าที่จำเป็น" ไฟล์ที่ "อาจมีประโยชน์" มักอยู่เกินจุดนั้นมาก

เหตุใดการสแกนข้อความมาตรฐานจึงล้มเหลวบนสเปรดชีต

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

ปัญหา SSN-เป็นตัวเลข

Excel บันทึกหมายเลขประกันสังคมโดยไม่มีขีด (123456789) เป็นตัวเลขธรรมดา ไม่ใช่ข้อความ เครื่องสแกนที่สร้างขึ้นเพื่อค้นหา ###-##-#### จะพลาดพวกมัน เครื่องมือที่ดีต้องรู้ว่าตัวเลข 9 หลักในคอลัมน์ที่เรียกว่า "SSN" คือหมายเลขประกันสังคม

ปัญหาวันที่-เป็นตัวเลข

Excel จัดเก็บวันที่เป็นหมายเลขอนุกรม วันที่ 6 กุมภาพันธ์ 2024 ถูกจัดเก็บเป็น 45329 การส่งออก CSV จะแสดง "45329" ในคอลัมน์ "วันเกิด" เครื่องสแกนต้องแปลงตัวเลขนั้นเป็นวันที่จริงก่อนที่จะสามารถตั้งค่าสถานะ

ปัญหา SSN บางส่วน

บางระบบแสดงเฉพาะสี่หลักสุดท้ายของ SSN (*--1234) ตัวเลขเต็มอยู่ในคอลัมน์ที่ล็อก ค่าบางส่วนยังต้องทำให้ไม่ระบุตัวตน แม้ว่าจะไม่ดูเหมือน SSN เต็ม

ปัญหา PII ในสูตร

บางเซลล์สร้าง PII จากเซลล์อื่น เซลล์ที่มี =CONCATENATE(B2," ",C2) แสดงชื่อเต็ม ถ้าคุณล้างคอลัมน์ B และ C ชื่อเต็มนั้นยังมองเห็นได้ในเซลล์สูตร เครื่องมือที่อ่านเฉพาะค่าที่จัดเก็บ ไม่ใช่ลิงก์สูตร จะทิ้ง PII ไว้

ปัญหาหลายแผ่น

สมุดงานขนาดใหญ่อาจมีห้าแผ่น: รายชื่อลูกค้า คำสั่งซื้อ ตั๋วสนับสนุน การเรียกเก็บเงิน และการวิเคราะห์ ชื่อลูกค้าปรากฏในทั้งห้า "John Smith" ในแผ่นหนึ่งต้องกลายเป็นโทเค็นเดียวกัน — "PERSON_0047" — ในทุกแผ่นอื่น โทเค็นสองอันต่างกันทำลายการเชื่อมโยงบันทึก

ส่วนหัวคอลัมน์เป็นสัญญาณ

การปรับปรุงที่ดีที่สุดในการตรวจจับ PII สเปรดชีตคือการวิเคราะห์ส่วนหัวคอลัมน์

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

ส่วนหัวคอลัมน์สิ่งที่มันส่งสัญญาณ
SSN / Social Security / Tax IDปฏิบัติต่อตัวเลข 9 หลักเป็น SSN
Email / E-mail / Email Addressตั้งค่าสถานะแม้รูปแบบอีเมลบางส่วน
Phone / Telephone / Mobile / Cellยอมรับรูปแบบโทรศัพท์ใดก็ได้
DOB / Date of Birth / Birthdayแปลงหมายเลขอนุกรมเป็นวันที่
First Name / Last Name / Full Nameลดแถบสำหรับการตรวจจับชื่อ
Address / Street / City / ZIPรวมฟิลด์ตำแหน่งใกล้เคียง
Patient ID / MRN / Record Numberใช้รูปแบบรหัสสุขภาพ

รักษาโครงสร้าง ลบชื่อ

เป้าหมายในกรณี GDPR Excel ส่วนใหญ่ไม่ใช่การทำลายไฟล์ มันคือการถอด PII ออกในขณะที่รักษาส่วนที่ทำให้ไฟล์มีประโยชน์

สำหรับไฟล์บันทึกพนักงาน 15,000 แถว เจ้าหน้าที่ปฏิบัติตามกฎหมายต้องการ:

ลบออก:

  • ชื่อพนักงาน → โทเค็น PERSON_XXXX
  • SSN → REDACTED
  • ที่อยู่อีเมล → REDACTED
  • หมายเลขโทรศัพท์ → REDACTED
  • ที่อยู่บ้าน → REDACTED

รักษาไว้:

  • รหัสแผนก
  • ตำแหน่งงาน (เฉพาะบทบาททั่วไป)
  • กลุ่มเงินเดือน (หมวดหมู่กว้าง)
  • คะแนนผลการปฏิบัติงาน (ข้อมูลกลุ่ม)
  • วันที่เริ่มงาน (สำหรับสถิติการดำรงตำแหน่ง)
  • รหัสผู้จัดการ (ถ้าทำให้เป็นนามแฝง)

กรณีจริง: การโอนข้อมูล HR ใน M&A

บริษัทที่ซื้อกิจการได้รับบันทึกพนักงานจากบริษัทเป้าหมาย: XLSX 15,000 แถวพร้อม 40 คอลัมน์ ไฟล์ต้องส่งไปยังบริษัท HR ภายนอกสำหรับการวางแผนสวัสดิการ GDPR กำหนดว่าสามารถแชร์เฉพาะข้อมูลที่จำเป็นสำหรับงานนั้น

ก่อนการประมวลผล: 40 คอลัมน์พร้อมชื่อเต็ม SSN อีเมล ที่อยู่บ้าน ผู้ติดต่อฉุกเฉิน และข้อมูลธนาคาร

หลังการประมวลผลตามบริบทคอลัมน์:

  • 12 คอลัมน์ระบุตัวบุคคลโดยตรง (ชื่อ SSN อีเมล โทรศัพท์ ที่อยู่ ข้อมูลธนาคาร): แทนที่ด้วยโทเค็นสอดคล้องกัน
  • 3 คอลัมน์ระบุตัวบุคคลโดยอ้อม (รหัสพนักงาน รหัสผู้จัดการ รหัสงาน): แทนที่ด้วยโทเค็นนามแฝงที่ตรงกันภายในไฟล์
  • 25 คอลัมน์เป็นข้อมูลรวม (กลุ่มเงินเดือน แผนก การดำรงตำแหน่ง เกรด): ไม่เปลี่ยนแปลง

เวลา: 8 นาทีสำหรับ 600,000 เซลล์

เอาต์พุต: เค้าโครง XLSX เดียวกัน 40 คอลัมน์ 15 ทำให้ไม่ระบุตัวตน 25 ไม่เปลี่ยนแปลง

บันทึกการตรวจสอบ: บันทึกระดับเซลล์ของทุกการดำเนินการพร้อมประเภทเอนทิตี คะแนนความมั่นใจ และสัญญาณคอลัมน์ที่ใช้

กฎ GDPR มาตรา 5 สามข้อ กระบวนการเดียว

การทำให้สเปรดชีตไม่ระบุตัวตนอย่างมีโครงสร้างตอบสนองกฎสามข้อพร้อมกัน

การลดข้อมูลให้น้อยที่สุด (มาตรา 5(1)(c)): เฉพาะคอลัมน์ที่จำเป็นสำหรับงานไปถึงผู้รับ คอลัมน์ระบุตัวตนถูกลบ

ข้อจำกัดการจัดเก็บ (มาตรา 5(1)(e)): ไฟล์ต้นฉบับอยู่สำหรับการเก็บรักษาทางกฎหมาย สำเนาที่สะอาดถูกสร้างขึ้นสำหรับการแชร์ด้วยความต้องการการเก็บรักษาที่สั้นกว่าหรือไม่มีเลย

ความสมบูรณ์และการรักษาความลับ (มาตรา 5(1)(f)): ไม่มีข้อมูลระบุตัวตนออกจากโซนควบคุม มีเพียงสำเนาที่สะอาดที่แชร์

แหล่งข้อมูล

บทความที่เกี่ยวข้อง

GDPR & การปฏิบัติตาม

เครื่องมือ PII แบบ Self-Hosted ล้มเหลวในการตรวจสอบ Compliance

spaCy 3.4.4 ให้ผลลัพธ์ NER ที่แตกต่างจาก spaCy 3.5.1 บริษัทการเงินค้นพบว่าเอกสาร 3% ถูก anonymize ต่างกันใน staging และ production

GDPR & การปฏิบัติตาม

Presidio พลาด Entity GDPR กว่า 220 รายการ

Presidio มาพร้อม recognizer เริ่มต้นประมาณ 40 รายการที่มุ่งเน้นตัวระบุสหรัฐฯ องค์กรยุโรปต้องการ IBAN, Codice Fiscale และอีกมากมาย

GDPR & การปฏิบัติตาม

Configuration Drift: ความเสี่ยง GDPR ที่ซ่อนอยู่

นักวิเคราะห์ A แทนที่ชื่อด้วยชื่อแฝง นักวิเคราะห์ B ทำให้ดำทึบ การตรวจสอบ GDPR ของคุณพบทั้งสองวิธีในชุดข้อมูลเดียวกัน Configuration drift ที่ทีมใช้การตั้งค่าที่ต่างกันโดยไม่ตั้งใจสร้างความเสี่ยงต่อการปฏิบัติตามกฎระเบียบ

พร้อมที่จะปกป้องข้อมูลของคุณหรือยัง?

เริ่มทำให้ PII เป็นนิรนามด้วยประเภทเอนทิตี273 ประเภทใน 48 ภาษา.