حماية

كيف نحمي بياناتك المالية

ملخص: يعالج Bank Statement Parser جميع البيانات محليًا، وينقّح PII افتراضيًا، ويُقوّي تحليل XML ضد هجمات XXE، ويُشغّل نماذج LLM محليًا ع��ر Ollama، ويأتي مع تبعيات مقفلة بـ SHA-256 hash وCycloneDX SBOM.

الأمان بالتصميم

صُمم Bank Statement Parser لمعالجة البيانات المالية الحساسة. كل قرار تصميمي يُعطي الأولوية للأمان والخصوصية وقابلية التدقيق.

صفر اعتماد على السحابة

تتم جميع المعالجة محليًا داخل بيئة التشغيل الخاصة بك. المحللات الحتمية لا تُجري أي اتصال بالشبكة. خط أنابيب PDF الهجين يستخدم Ollama للاستدلال المحلي بنماذج LLM — لا تُرسل بيانات إلى APIs سحابية. محللات XML مُعدة صراحةً بـ no_network=True وresolve_entities=False وload_dtd=False لمنع أي وصول صادر.

تنقيح PII

المعلومات الشخصية (الأسماء وأرقام IBAN والعناوين البريدية) تُنقّح تلقائيًا في مخرجات CLI ووضع البث. مفعّل افتراضيًا.

أمان XML (حماية XXE)

جميع عمليات تحليل XML تستخدم lxml بإعدادات مُقوّاة:

أمان أرشيف ZIP

iter_secure_xml_entries() يتحقق من كل عضو ZIP قبل الاستخراج:

منع اجتياز المسار

التحقق من المدخلات يحظر مسارات الملفات الخطرة:

التحقق من الرصيد (القاعدة الذهبية)

كل استخراج PDF يُتحقق منه بالمعادلة: opening balance + credits − debits == closing balance. النتائج تُصنّف كـ VERIFIED أو DISCREPANCY أو FAILED. يمكن مراجعة التناقضات تفاعليًا بـ --type review.

المخرجات الحتمية

للتنسيقات المنظمة (CAMT، PAIN.001، CSV، OFX، QFX، MT940)، بنفس ملف الإدخال ينتج المحلل مخرجات متطابقة بالبايت كل مرة. لا عشوائية، لا استدلال نموذجي، لا أخذ عينات. هذا حاسم لـ:

أمان سلسلة التوريد

التحقق محليًا

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