الأمان

تشفير بمستوى مصرفي لحياتك الرقمية

بنية Zero-Knowledge

بُني ByteGuard على نموذج أمان Zero-Knowledge. لا نرى أبداً مفاتيح التشفير الخاصة بك ولا نصل إليها ولا نخزنها.

  • كلمة المرور الرئيسية: مفتاحك الشخصي لفتح التطبيق. لا يتم إرسالها أبداً ولا تخزينها عن بُعد.
  • المفتاح السري (Secret Key): عبارة استرداد من 12 كلمة (BIP39) تُنشأ عند إنشاء خزينتك. تُدمج مع كلمة المرور الرئيسية لأقصى أمان.
  • اشتقاق المفاتيح محلياً: يشتق Argon2id بتكلفة ذاكرة 64 ميجابايت و3 تكرارات المفتاح الرئيسي محلياً. ينشئ HKDF-SHA256 تسلسل المفاتيح.
  • بدون أبواب خلفية: إذا فقدت كلمة المرور الرئيسية والمفتاح السري معاً، لا نستطيع استعادة بياناتك. هذا بالتصميم.

تفاصيل التشفير

طبقات متعددة من التشفير تحمي كل بيانات حساسة.

  • تشفير على مستوى الحقل: كل حقل حساس (كلمات المرور، أرقام البطاقات، مفاتيح API) يُشفّر بشكل فردي بـ AES-256-GCM.
  • تسلسل المفاتيح: المفتاح الرئيسي → مفتاح تشفير المفاتيح (KEK) → مفتاح تشفير البيانات (DEK). لكل عنصر DEK خاص به.
  • IV فريد: كل عملية تشفير تستخدم متجه تهيئة فريد، مما يضمن أن النص العادي نفسه ينتج نصاً مشفراً مختلفاً.

تخزين البيانات

بياناتك تبقى على جهازك. المزامنة السحابية اختيارية ومشفرة دائماً.

  • محلي أولاً: جميع البيانات تُخزّن في قاعدة بيانات محلية مشفرة على جهازك.
  • مزامنة iCloud اختيارية: عند التفعيل، تُشفّر البيانات على الجهاز قبل رفعها إلى حاوية iCloud الخاصة بك عبر CloudKit.
  • حماية بيومترية: Face ID وTouch ID عبر Secure Enclave. البيانات البيومترية يعالجها iOS، ولا يصل إليها التطبيق.

ما لا نستطيع فعله

بنية Zero-Knowledge لدينا تعني:

  • لا نستطيع عرض بياناتك المخزنة أو الوصول إليها أو فك تشفيرها
  • لا نستطيع إعادة تعيين كلمة مرورك الرئيسية
  • لا نستطيع استعادة خزينتك بدون مفتاحك السري
  • لا نستطيع مشاركة بياناتك مع أي شخص — بما في ذلك جهات إنفاذ القانون
  • لا نستطيع إدراج أبواب خلفية في التشفير

توافق أمان الجهاز

تم تصميم ByteGuard للعمل بسلاسة مع ميزات الأمان المدمجة في Apple.

  • Apple Lockdown Mode: متوافق تمامًا مع أعلى مستوى حماية من Apple. جميع الميزات — بما في ذلك AutoFill ومزامنة iCloud والأدوات — تعمل بشكل طبيعي عند تفعيل وضع التأمين.
  • لا يعتمد على WebView: لا يستخدم ByteGuard أي محرك عرض ويب. لا تتم معالجة بيانات خزنتك عبر WebKit أبدًا، مما يقضي على فئة كاملة من نواقل الهجوم المستندة إلى المتصفح.
  • تكامل Secure Enclave: تتم المصادقة البيومترية بالكامل بواسطة Secure Enclave في iOS. لا يصل ByteGuard أبدًا إلى البيانات البيومترية ولا يخزنها.

Device-Level Protection

The biometric quick-unlock boundary is maintained jointly by iOS Keychain and Secure Enclave. The application never holds any Face ID/Touch ID-derived key.

  • iOS Keychain ACL: A copy of the Vault DEK is stored in Keychain with kSecAttrAccessibleWhenUnlockedThisDeviceOnly + kSecAccessControlBiometryCurrentSet. Unreadable when the device is locked or Face ID has not authenticated.
  • Secure Enclave Takes Over: The Keychain entry is encrypted by a device key inside Secure Enclave. When the app calls SecItemCopyMatching, iOS triggers Face ID; on success SE decrypts and returns the plaintext DEK — the app never touches any SE key.
  • Auto-Invalidation on Face ID Re-enrollment: biometryCurrentSet semantics: when the user removes/re-enrolls Face ID in system settings, iOS automatically deletes the Keychain entry. ByteGuard detects the invalidation at launch and forces Master Password re-entry.
  • Strict Mode (No Fallback): If biometryCurrentSet is unavailable (simulators, no enrolled biometrics), the DEK cache simply fails — never falls back to a less-protected Keychain entry. Fallback would be weaker than not enabling Face ID at all and would violate user intent.
  • Memory Zeroing (Vault DEK): On lock, suspension, or vault switch, the Vault DEK is overwritten three times (zero → random → zero) with a memory barrier defeating compiler optimization. Master Key / KEK are local variables inside the unlock function, released by Swift ARC (not explicitly zeroed). Argon2 internal buffers are zeroed by libsodium via sodium_memzero.
تحميل من App Store