ลบ PII ออกจาก PDF ผ่าน Connect
ลบ PII ออกจาก PDF ผ่าน Connect
หัวข้อที่มีชื่อว่า “ลบ PII ออกจาก PDF ผ่าน Connect”ภาพรวมโดยย่อ
หัวข้อที่มีชื่อว่า “ภาพรวมโดยย่อ”สูตรนี้ใช้เครื่องมือปิดบังที่ NextPDF Connect เปิดให้ใช้งาน เพื่อลบข้อมูลที่ระบุตัวบุคคลได้ (personally identifiable information, PII) ที่ตรวจพบออกจากชั้นข้อความของเอกสาร เครื่องมือเหล่านี้อยู่ใน ระดับ Enterprise โดย ToolRegistry จะสร้าง redact_pdf, zone_redact_pdf และ deidentify_pdf ด้วยการตรวจหาคลาสความเป็นส่วนตัวระดับ Enterprise (RedactionEngine + PiiDetector) ผ่าน class_exists() เครื่องมือแต่ละตัวจะถูกลงทะเบียนภายใต้ระดับ enterprise เฉพาะเมื่อคลาสเหล่านั้น autoload ได้เท่านั้น ในการติดตั้งที่มีเฉพาะ open-source เครื่องมือเหล่านี้จะไม่มีอยู่ การเรียกใช้จะล้มเหลวด้วยข้อผิดพลาด unknown-tool แทนการลดทอนการทำงานอย่างเงียบๆ เครื่องมือทั้งสามตัวประกาศ destructiveHint: true การแก้ไขนี้เขียนทับเนื้อหาของหน้าและไม่สามารถย้อนกลับได้จากเอกสารที่แก้ไขแล้ว
หน้านี้อธิบายพฤติกรรมของเครื่องมือผ่านพื้นผิวการเรียกใช้ของ Connect เวิร์กโฟลว์การปิดบังไม่ได้รับประกันว่าเอกสารจะปราศจากข้อมูลส่วนบุคคลหลังเรียกใช้ การตรวจจับทำงานเฉพาะบนชั้นข้อความที่สกัดได้เท่านั้น และผู้ที่นำไปใช้งานยังคงมีหน้าที่ตรวจสอบผลลัพธ์
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”composer require nextpdf/serverเครื่องมือปิดบังจะลงทะเบียนเฉพาะเมื่อติดตั้งโมดูลความเป็นส่วนตัวระดับ Enterprise ควบคู่ไปกับเซิร์ฟเวอร์เท่านั้น โมดูลนี้มาพร้อมกับ nextpdf/premium โปรดตรวจยืนยันว่าเครื่องมือมีอยู่ในการนำไปใช้งานที่กำลังทำงานอยู่ ก่อนพึ่งพาเครื่องมือนั้น:
./vendor/bin/nextpdf-mcp <<'EOF'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"c","version":"1.0.0"}}}{"jsonrpc":"2.0","method":"notifications/initialized"}{"jsonrpc":"2.0","id":2,"method":"tools/list"}EOFหาก redact_pdf ขาดหายไปจากผลลัพธ์ของ tools/list แสดงว่าคลาสความเป็นส่วนตัวระดับ Enterprise ไม่ได้ทำงานในการติดตั้งนี้ ดู /connect/tool-catalog/ เพื่อเรียนรู้ว่ารีจิสทรีคำนวณชุดเครื่องมือต่อระดับขณะบูตอย่างไร
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”เครื่องมือสามตัวครอบคลุมกลยุทธ์การปิดบังสามแบบ ทั้งหมดเป็นเครื่องมือระดับ Enterprise และทั้งหมดระบุคำใบ้แบบทำลายข้อมูล (destructive hint):
redact_pdf— ตรวจจับและลบข้อมูลส่วนบุคคลออกจากเนื้อหาข้อความล้วนของเอกสารด้วยตัวตรวจจับในตัว แล้วส่งคืนเนื้อหาที่แก้ไขแล้วและรายงานแบบมีโครงสร้างzone_redact_pdf— ใช้การปิดบังตามโซนที่อิงพิกัดกับเนื้อหาข้อความล้วน ใช้เครื่องมือนี้เมื่อทราบพื้นที่จากตำแหน่งมากกว่าจากรูปแบบdeidentify_pdf— ใช้กลยุทธ์การทำให้ไม่สามารถระบุตัวตนได้ (de-identification) อย่างเป็นระบบ (ปิดบังหรือกำจัด) กับเอนทิตีที่ตรวจพบทั้งหมด
การลบเนื้อหาออกจากสตรีมเนื้อหาของหน้าเป็นการแก้ไขสตรีมนั้นแบบทำลายข้อมูล ไบต์ที่ได้รับผลกระทบจะถูกเขียนทับและไม่สามารถกู้คืนได้จากเอกสารที่แก้ไขแล้ว (ISO 32000-2 §14.11) ตามการออกแบบ รายงานจะบันทึกจำนวนอักขระและตำแหน่งของการลบแต่ละครั้ง โดยไม่บันทึกข้อความจริงที่ถูกลบ
พื้นผิว API
หัวข้อที่มีชื่อว่า “พื้นผิว API”แพ็กเกจ Enterprise ที่นิยามเครื่องมือแต่ละตัวยังจัดเตรียมสคีมาคำขอและคำตอบที่แน่นอนของเครื่องมือนั้นไว้ด้วย หน้านี้อธิบายสัญญาการเรียกใช้ของ Connect ไม่ใช่รายการพารามิเตอร์แบบตายตัว ชื่อเครื่องมือที่ต้องตรวจสอบกับรีจิสทรีที่กำลังทำงานอยู่ ได้แก่ redact_pdf, zone_redact_pdf และ deidentify_pdf ทั้งหมดอยู่ในหมวด document พร้อม destructiveHint: true แค็ตตาล็อกที่เป็นแหล่งอ้างอิงอย่างเป็นทางการคือ /connect/tool-catalog/ สูตรนี้ไม่ระบุจำนวนเครื่องมือซ้ำ เพราะค่านั้นเป็นคุณสมบัติขณะรันไทม์ของการนำไปใช้งาน
ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นใช้งานอย่างรวดเร็ว”ตรวจจับและลบเนื้อหาผ่าน Model Context Protocol (MCP) (tools/call) อาร์กิวเมนต์ด้านล่างแสดงรูปแบบการเรียกใช้ สคีมาอาร์กิวเมนต์ที่ถือเป็นแหล่งอ้างอิงคือสคีมาที่ tools/list ส่งคืนในการนำไปใช้งานของคุณ:
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "redact_pdf", "arguments": { "source": "/var/lib/nextpdf/in/employee-directory.pdf" } }}การเรียกใช้ที่สำเร็จจะส่งคืนรายงาน สำหรับการลบแต่ละครั้ง รายการจะบันทึกหน้า ป้ายหมวดหมู่ จำนวนอักขระเดิม และกรอบขอบเขต ไม่ใช่ข้อความจริงที่ถูกลบ
ตัวอย่างโค้ด — โปรดักชัน
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — โปรดักชัน”ให้ถือว่าการเรียกใช้การปิดบังเป็นการดำเนินการแบบทำลายข้อมูล และตรวจสอบรายงานก่อนปล่อยเอกสารออกไป เมื่อใช้ผ่านทรานสปอร์ตบนเครือข่าย ให้จัดการความล้มเหลวของทรานสปอร์ตและข้อผิดพลาดระดับเครื่องมือเป็นกรณีแยกกัน:
curl -sS -X POST https://connect.example.com/v1/tools/redact_pdf \ -H 'Authorization: Bearer '"$NEXTPDF_CONNECT_TOKEN" \ -H 'Content-Type: application/json' \ -d '{"source":"/var/lib/nextpdf/in/legal-discovery-batch.pdf"}' \ -o /tmp/redaction-report.json -w '%{http_code}' > /tmp/redaction-statusstatus="$(cat /tmp/redaction-status)"if [ "$status" != "200" ]; then # 4xx/5xx is a normal HTTP outcome the caller inspects, not a transport # failure. A connection error (curl non-zero exit) is the separate case. echo "redact_pdf returned HTTP $status; inspect the body, do not release the document" >&2 exit 1fiปล่อยเอกสารที่แก้ไขแล้วออกไปก็ต่อเมื่อมนุษย์หรือกลไกควบคุมปลายทางได้ตรวจสอบรายงานแล้วเท่านั้น การหน่วงการปล่อยเอกสารไว้จนหลังการตรวจสอบเป็นการวางกลไกควบคุมไว้ตรงจุดที่การแก้ไขแบบอัตโนมัติทำให้เกิดความเสี่ยงจากข้อมูลตกค้าง (IEC 31010:2019)
กรณีขอบและจุดที่ควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบและจุดที่ควรระวัง”- PDF ที่สแกนมาและไม่มีชั้นข้อความ การตรวจจับทำงานบนชั้นข้อความที่สกัดได้ หน้าที่มีเฉพาะรูปภาพจะได้ผลการลบเป็นศูนย์ และไม่ถือเป็นข้อผิดพลาด หากเนื้อหาถูกแปลงเป็นภาพแรสเตอร์ ให้รันการรู้จำอักขระด้วยแสง (optical character recognition, OCR) บนเอกสารก่อนการปิดบัง
- แหล่งที่มาที่เข้ารหัสไว้ ระบุรหัสผ่านของเอกสารผ่านสคีมาอาร์กิวเมนต์ของเครื่องมือ หากไม่มีรหัสผ่าน การเรียกใช้จะล้มเหลวแทนการประมวลผลเอกสารเพียงบางส่วน
- ไม่มีเครื่องมือ ในการติดตั้งที่มีเฉพาะ open-source คลาสความเป็นส่วนตัวระดับ Enterprise จะไม่ทำงานและ
redact_pdfจะไม่ถูกลงทะเบียน ดังนั้นการเรียกใช้จึงล้มเหลวด้วยข้อผิดพลาด unknown-tool นี่เป็นขอบเขตที่ตั้งใจไว้ ไม่ใช่การลดทอนการทำงาน - การตรวจจับที่ซ้อนทับกัน เมื่อมีตัวตรวจจับมากกว่าหนึ่งตัวจับคู่พื้นที่เดียวกัน เครื่องมือจะลบพื้นที่นั้นเพียงครั้งเดียวและขจัดรายการซ้ำในรายงาน
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”งบประมาณด้านประสิทธิภาพใน front-matter เป็นเพดานสำหรับเอกสาร ไม่ใช่การรับประกันระดับบริการ เอกสารขนาดใหญ่จะถูกประมวลผลทีละหน้า ควรวางแผนเรียกใช้ซ้ำกับชุดย่อยของช่วงหน้าแทนการเพิ่มไทม์เอาต์ระดับส่วนกลาง
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”ถิ่นที่ตั้งของข้อมูลและการลดความเสี่ยง PII
หัวข้อที่มีชื่อว่า “ถิ่นที่ตั้งของข้อมูลและการลดความเสี่ยง PII”โฮสต์ของ Connect ประมวลผลข้อความของเอกสารภายในกระบวนการเดียวกัน รายงานจงใจไม่ใส่ข้อความที่ถูกลบ และรายงานเฉพาะจำนวนกับตำแหน่งเท่านั้น ดังนั้นรายงานจึงไม่นำข้อมูลส่วนบุคคลที่กล่าวถึงกลับเข้ามาอีก ถิ่นที่ตั้งของข้อมูลในระดับการนำไปใช้งานสำหรับอินพุตและเอาต์พุตที่แก้ไขแล้วเป็นความรับผิดชอบของผู้ผสานรวมระบบ ไม่ใช่คุณสมบัติของเครื่องมือ
เทเลเมตรีที่ปลอดภัยและการกรองข้อมูลออกจากบันทึก
หัวข้อที่มีชื่อว่า “เทเลเมตรีที่ปลอดภัยและการกรองข้อมูลออกจากบันทึก”ห้ามบันทึกพาธของเอกสารต้นทางหรือเนื้อหารายงานในระดับบันทึกที่ส่งออกไปภายนอก ให้บันทึกเฉพาะชื่อเครื่องมือ request id และผลลัพธ์ pass/fail เท่านั้น
แบบจำลองภัยคุกคาม
หัวข้อที่มีชื่อว่า “แบบจำลองภัยคุกคาม”การปิดบังที่ครอบข้อความไว้ในเชิงภาพแต่ไม่ได้ลบข้อความนั้นออกยังทำให้ข้อมูลถูกสกัดได้ เครื่องมือเหล่านี้เขียนทับสตรีมเนื้อหาที่ได้รับผลกระทบแทนที่จะวางสี่เหลี่ยมทับ การกู้คืนไบต์ที่ถูกลบจากเอกสารที่แก้ไขแล้วไม่สามารถทำได้ (ISO 32000-2 §14.11) ความเสี่ยงตกค้างยังคงมีอยู่เมื่อตัวตรวจจับพลาดเนื้อหา เช่น รูปแบบที่อยู่นอกกฎเกณฑ์ของตัวตรวจจับ หรือข้อความที่มีอยู่ในรูปภาพแรสเตอร์เท่านั้น เวิร์กโฟลว์ลดความเสี่ยงดังกล่าวด้วยการบังคับตรวจสอบรายงาน ไม่ใช่ด้วยการอ้างว่าทำได้ครบถ้วนสมบูรณ์
พฤติกรรมในโหมด FIPS
หัวข้อที่มีชื่อว่า “พฤติกรรมในโหมด FIPS”การปิดบังไม่ได้ดำเนินการด้านการเข้ารหัสลับใดๆ และไม่ได้รับผลกระทบจากนโยบายโหมด Federal Information Processing Standards (FIPS) บนโฮสต์
ความสอดคล้องตามมาตรฐาน
หัวข้อที่มีชื่อว่า “ความสอดคล้องตามมาตรฐาน”| ข้อกล่าวอ้าง | ข้อกำหนด | รหัสอ้างอิง (reference_id) |
|---|---|---|
| การลบเนื้อหาเป็นการเขียนทับสตรีมเนื้อหาที่ได้รับผลกระทบ | ISO 32000-2 §14.11 | |
| การปิดบังจะทำเครื่องหมายก่อนแล้วจึงลบ การลบนั้นเป็นการแก้ไขเนื้อหา | ISO 32000-2 §14.11 | |
| วางกลไกควบคุมไว้ ณ จุดที่การแก้ไขแบบอัตโนมัติทำให้เกิดความเสี่ยง | IEC 31010:2019 |
การรองรับเครื่องมือปิดบังไม่ได้รับประกันว่าเอกสารที่ประมวลผลแล้วปราศจากข้อมูลส่วนบุคคล การตรวจสอบโดยอิสระเป็นสิ่งที่ใช้ตัดสินเรื่องนั้น
บริบทเชิงพาณิชย์
หัวข้อที่มีชื่อว่า “บริบทเชิงพาณิชย์”เครื่องมือปิดบังเป็นเครื่องมือระดับ Enterprise เครื่องมือเหล่านี้จะลงทะเบียนเฉพาะเมื่อติดตั้ง nextpdf/premium ควบคู่ไปกับเซิร์ฟเวอร์เท่านั้น ดูลิงก์ conversion ใน front-matter
รายละเอียดเฉพาะของ Connect
หัวข้อที่มีชื่อว่า “รายละเอียดเฉพาะของ Connect”ความพร้อมใช้งานของทรานสปอร์ต (MCP / REST / gRPC)
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานของทรานสปอร์ต (MCP / REST / gRPC)”สามารถเรียกใช้เครื่องมือในแบบเดียวกันผ่านทุกทรานสปอร์ตที่ใช้ตัวดำเนินการเครื่องมือร่วมกัน ได้แก่ MCP tools/call, เอนด์พอยต์เครื่องมือ REST และบริการ gRPC สคีมาอาร์กิวเมนต์ไม่ขึ้นกับทรานสปอร์ต สคีมานี้คือสคีมาที่ส่งคืนโดย tools/list (MCP) หรือตัวบรรยายบริการ (gRPC)
ระดับความเสี่ยง HITL
หัวข้อที่มีชื่อว่า “ระดับความเสี่ยง HITL”เครื่องมือทั้งสามตัวประกาศ destructiveHint: true เมื่อผู้ดำเนินการยกระดับเครื่องมือขึ้นเป็นระดับความเสี่ยง approval_required ผ่านการเขียนทับการตั้งค่า การเรียกใช้จะถูกควบคุมผ่าน ConfirmationGate การเขียนทับสามารถยกระดับความเสี่ยงได้เท่านั้น ไม่สามารถลดระดับลงได้ ดู /connect/hitl-risk-tiers/
ซองข้อมูล JSON ของเกตยืนยัน
หัวข้อที่มีชื่อว่า “ซองข้อมูล JSON ของเกตยืนยัน”เมื่อเครื่องมือถูกควบคุมด้วยเกตและถูกเรียกใช้โดยไม่มีโทเค็นที่ถูกต้อง เกตจะส่งคืนซองข้อมูล challenge ในรูปแบบนี้:
{ "allowed": false, "challenge": "<human-readable text>", "token": "confirm_<nonce>" }ผู้เรียกใช้จะเรียกใช้เครื่องมือตัวเดิมอีกครั้งโดยตั้งค่า arguments._confirmation_token เป็นโทเค็นที่ออกให้ โทเค็นผูกกับชื่อเครื่องมือ nonce และ TTL 300 วินาที — ไม่ใช่อาร์กิวเมนต์ — และใช้ได้เพียงครั้งเดียว
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- /connect/tool-catalog/ — รีจิสทรีคำนวณชุดเครื่องมือต่อระดับอย่างไร
- /connect/hitl-risk-tiers/ — แบบจำลองความเสี่ยงสี่ระดับและเกต
- /cookbook/connect/extract-text-content/ — ดูตัวอย่างข้อความที่สกัดได้ก่อนการปิดบัง
- /cookbook/connect/digital-signature/ — ลงลายเซ็นเอกสารที่แก้ไขแล้วเพื่อสร้างห่วงโซ่การดูแลหลักฐาน (chain-of-custody)