ความปลอดภัย

เราปกป้องข้อมูลทางการเงินของคุณอย่างไร

สรุปสั้นๆ: Bank Statement Parser ประมวลผลข้อมูลทั้งหมดในเครื่อง ปกปิด PII ตามค่าเริ่มต้น เสริมความแข็งแกร่งให้การแยกวิเคราะห์ XML จากการโจมตี XXE รัน LLM ในเครื่องผ่าน Ollama และมาพร้อม dependencies ที่ล็อกด้วย SHA-256 hash และ CycloneDX SBOM

ความปลอดภัยโดยการออกแบบ

Bank Statement Parser สร้างขึ้นเพื่อประมวลผลข้อมูลทางการเงินที่ละเอียดอ่อน การตัดสินใจออกแบบทุกครั้งให้ความสำคัญกับความปลอดภัย ความเป็นส่วนตัว และการตรวจสอบ

ไม่พึ่งพาคลาวด์

การประมวลผลทั้งหมดเกิดขึ้นภายในเครื่องในรันไทม์ของคุณ Deterministic parsers ไม่ทำการเรียกเครือข่ายใดๆ ไปป์ไลน์ PDF แบบไฮบริดใช้ Ollama สำหรับ LLM inference ในเครื่อง — ไม่มีข้อมูลถูกส่งไปยัง cloud API XML parser ถูกกำหนดค่าอย่างชัดเจนด้วย no_network=True, resolve_entities=False และ load_dtd=False เพื่อป้องกันการเข้าถึงขาออกทั้งหมด

การปกปิด PII

ข้อมูลที่ระบุตัวบุคคลได้ (ชื่อ, IBAN, ที่อยู่ไปรษณีย์) จะถูกปกปิดโดยอัตโนมัติในเอาต์พุต CLI และโหมดสตรีม เปิดอยู่ตามค่าเริ่มต้น

ความปลอดภัย XML (การป้องกัน XXE)

การแยกวิเคราะห์ XML ทั้งหมดใช้ lxml พร้อมการตั้งค่าที่เสริมความแข็งแกร่ง:

ความปลอดภัยไฟล์ ZIP

iter_secure_xml_entries() ตรวจสอบสมาชิก ZIP ทุกรายการก่อนแตกไฟล์:

การป้องกัน Path Traversal

การตรวจสอบอินพุตจะบล็อกเส้นทางไฟล์ที่เป็นอันตราย:

การตรวจสอบยอดคงเหลือ (Golden Rule)

การดึงข้อมูล PDF ทุกครั้งจะถูกตรวจสอบด้วยสมการ: opening balance + credits − debits == closing balance ผลลัพธ์จะถูกแท็กเป็น VERIFIED, DISCREPANCY หรือ FAILED ความคลาดเคลื่อนสามารถตรวจสอบแบบโต้ตอบด้วย --type review

เอาต์พุตแบบ Deterministic

สำหรับรูปแบบที่มีโครงสร้าง (CAMT, PAIN.001, CSV, OFX, QFX, MT940) เมื่อได้รับไฟล์อินพุตเดียวกัน parser จะสร้างเอาต์พุตที่เหมือนกันทุกไบต์ทุกครั้งที่รัน ไม่มีการสุ่ม ไม่มีการ inference โมเดล ไม่มีการสุ่มตัวอย่างแบบ heuristic สิ่งนี้สำคัญสำหรับ:

ความปลอดภัยของ Supply Chain

ยืนยันในเครื่อง

python -m pytest                          # 718 tests, 100% branch coverage
python scripts/verify_locked_hashes.py    # SHA-256 hash verification
git log --show-signature -1               # Verify commit signature