Bảo vệ

Cách chúng tôi bảo vệ dữ liệu tài chính của bạn

TL;DR: Bank Statement Parser xử lý toàn bộ dữ liệu cục bộ, ẩn danh PII mặc định, tăng cường phân tích XML chống tấn công XXE, chạy LLM cục bộ qua Ollama, và đi kèm phụ thuộc khóa hash SHA-256 và CycloneDX SBOM.

Bảo mật theo thiết kế

Bank Statement Parser được xây dựng để xử lý dữ liệu tài chính nhạy cảm. Mọi quyết định thiết kế đều ưu tiên bảo mật, quyền riêng tư và khả năng kiểm toán.

Không phụ thuộc cloud

Toàn bộ quá trình xử lý diễn ra cục bộ trong runtime của bạn. Các trình phân tích xác định không thực hiện cuộc gọi mạng nào. Pipeline PDF hybrid sử dụng Ollama cho suy luận LLM cục bộ — không có dữ liệu nào được gửi đến cloud API. Trình phân tích XML được cấu hình rõ ràng với no_network=True, resolve_entities=False, và load_dtd=False để ngăn chặn mọi truy cập ra bên ngoài.

Ẩn danh PII

Thông tin nhận dạng cá nhân (tên, IBAN, địa chỉ bưu chính) được tự động ẩn danh trong đầu ra CLI và chế độ streaming. Tính năng này được bật mặc định.

Bảo mật XML (Bảo vệ XXE)

Toàn bộ phân tích XML sử dụng lxml với cài đặt tăng cường:

Bảo mật tệp ZIP

iter_secure_xml_entries() xác thực mọi thành viên ZIP trước khi trích xuất:

Ngăn chặn Path Traversal

Xác thực đầu vào chặn các đường dẫn tệp nguy hiểm:

Xác minh số dư (Golden Rule)

Mọi kết quả trích xuất PDF đều được xác minh bằng phương trình: opening balance + credits − debits == closing balance. Kết quả được gắn nhãn VERIFIED, DISCREPANCY, hoặc FAILED. Các sai lệch có thể được xem xét tương tác với --type review.

Đầu ra xác định

Với các định dạng có cấu trúc (CAMT, PAIN.001, CSV, OFX, QFX, MT940), cùng một tệp đầu vào, trình phân tích tạo đầu ra giống byte mỗi lần chạy. Không ngẫu nhiên, không suy luận mô hình, không lấy mẫu heuristic. Điều này quan trọng cho:

Bảo mật chuỗi cung ứng

Xác minh cục bộ

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