ความเสถียร: เบต้า
ลบ PII ออกจาก PDF
ภาพรวมโดยย่อ
หัวข้อที่มีชื่อว่า “ภาพรวมโดยย่อ”สูตรนี้ใช้เครื่องมือปิดบังที่ 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) บนโฮสต์
ความสอดคล้องตามมาตรฐาน
หัวข้อที่มีชื่อว่า “ความสอดคล้องตามมาตรฐาน”| ข้อกล่าวอ้าง | ข้อกำหนด |
|---|---|
| การลบเนื้อหาเป็นการเขียนทับสตรีมเนื้อหาที่ได้รับผลกระทบ | 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)