نموذج التهديد
نفترض سرقة الجهاز، اعتراض حركة الشبكة، والتعرّض العَرَضي عبر النسخ الاحتياطية أو المزامنة السحابية. نفترض أنّ بيانات اعتماد المستخدم قد تُختَرَق. لا نفترض خصومًا على مستوى الدول مع وصول مادّي إلى أجهزة مفتوحة — Fluera ليست أداة خصوصية، بل أداة دراسة.
ضمن هذا النموذج، ثلاثة ضمانات:
- البيانات المحلّية غير قابلة للقراءة بدون المفتاح. الجهاز المسروق يُنتج كتلة مشفّرة.
- البيانات المُزامَنة محميّة في النقل وفي حالة سكون على بنية أوروبية. تُحفَظ على خوادم في الاتّحاد الأوروبي (Supabase، eu-north-1)؛ المزامنة ليست مشفّرة من طرف إلى طرف، ويمكن لـFluera بصفتها المتحكِّمة في البيانات الوصول إليها، لكنّها لا تبيعها أبدًا ولا تستخدمها للإعلانات.
- التحليلات اشتراكية ومجهولة الهوية. حتى في حال اختراق كامل، التحليلات لا تستطيع ربط مستخدم بمحتواه.
في حالة سكون: SQLCipher، AES-256
كلّ دفتر Fluera يعيش في قاعدة SQLite محلّية مشفَّرة بـSQLCipher — امتداد مُتَحقَّق منه على نطاق واسع، يُشفِّر بشكل شفّاف كلّ صفحة من قاعدة البيانات بـAES-256-CBC ويُجري فحص سلامة HMAC-SHA512 على كلّ صفحة.
اشتقاق المفتاح يستخدم PBKDF2 مع SHA-256، 256000 تكرار (متوافق مع OWASP). كلمة المرور تُحفَظ في Keychain المنصّة — Keychain على iOS/macOS، Keystore على Android، DPAPI على Windows، libsecret على Linux. لا تُرسَل أبدًا إلى خوادمنا.
في النقل: TLS 1.3
كلّ حركة الشبكة هي TLS 1.3 بمجموعات شيفرات حديثة.
بين الأجهزة: مزامنة سحابية في الاتّحاد الأوروبي
عند التفعيل، تُخزِّن المزامنة السحابية دفاترك على بنية في الاتّحاد الأوروبي (Supabase، eu-north-1)، مشفّرة في النقل (TLS) وفي حالة سكون على مستوى البنية التحتية. هذه المزامنة ليست مشفّرة من طرف إلى طرف: يمكن لـFluera بصفتها المتحكِّمة في البيانات الوصول إلى المحتوى المُزامَن، لكنّها لا تبيعه أبدًا ولا تستخدمه للإعلانات. المزامنة اشتراكية لكلّ دفتر — يمكنك إبقاء بعضها محلّيًّا فقط ومزامنة بعضها الآخر.
التعاون P2P: مباشر، مشفَّر
التعاون في الوقت الفعلي يستخدم WebRTC DataChannel بتشفير DTLS-SRTP. Supabase Realtime يَعمل فقط كوسيط إشارات — إعداد الاتّصال — وليس مرحِّلًا لحركة اللوحة الفعلية. بعد المصافحة، تتدفّق تعديلات اللوحة P2P. الخادم لا يراها.
استدعاءات AI: عبر بروكسي، لا بشكل مباشر أبدًا
تُخدَم استدعاءات نماذج Google Gemini (Socratic Mode، Ghost Map، LaTeX OCR، Exam Session) عبر Google Vertex AI وتُعالَج داخل الاتّحاد الأوروبي (europe-west4 في هولندا / europe-west1 في بلجيكا) عبر بروكسي يحفظ بيانات الاعتماد على جانب الخادم. أجهزة العميل لا ترى المفتاح أبدًا. البروكسي يُطبِّق حدودًا حسب الخطّة ويُسجِّل مدّة الاستدعاء للمحاسبة — لا محتوى اللوحة.
التحليلات: اشتراكية، مُجزَّأة، قائمة على قائمة سماح
تحليلات المنتج معطَّلة افتراضيًّا. عند التفعيل، الأحداث محصورة في قائمة سماح على جانب الخادم (بدء/نهاية الجلسة، استدعاء الميزة، مدّة استدعاء AI — لا محتوى). معرّف المستخدم تجزئة SHA-256 على الجهاز؛ المعرّف بالنصّ العادي لا يغادر العميل أبدًا. تُحفَظ الأحداث 180 يومًا، ثمّ تُجمَّع أو تُحذَف.
سجلّ التدقيق (الحسابات المؤسّسية)
كلّ وصول إلى الدفاتر المشتركة — مَن، من أيّ جهاز، متى — يُكتَب في سجلّ تدقيق إلحاقي فقط. يمكن للمسؤولين تصدير السجلّات إلى CSV أو JSON لتدقيقات الالتزام. تُكتَب السجلّات مرّة واحدة: الحذف يتطلّب سببًا موثَّقًا ويُسجَّل بدوره.
الاستعادة وفقدان المفتاح
إن فقدت كلمة المرور، تصبح البيانات المشفّرة غير قابلة للاستعادة. هذا متعمَّد — البديل سيكون مسار استعادة يُضعف بالضرورة نموذج التشفير. للحسابات المؤسّسية، يمكن إعداد مفتاح استعادة اختياري يحفظه المسؤول؛ مساومة موثَّقة تختارها المؤسّسة بوعي.
الإفصاح المسؤول
باحثو الأمان مرحَّب بهم. أبلِغ عن ثغرة على lorenco@fluera.dev بتشفير PGP (المفتاح منشور على ملفّنا في GitHub). نؤكّد خلال 24 ساعة، نُصلح المشكلات الحرجة خلال 72، ونذكر المُبلِّغين في قاعة المشاهير ما لم يُفضّلوا الإخفاء.
النطاق: تطبيق Fluera (كلّ المنصّات)، خدمة المزامنة، بروكسي AI، وهذا الموقع التسويقي. خارج النطاق: خدمات الطرف الثالث (Supabase، Google، Apple، Sentry، RevenueCat) — أبلِغ المورِّدين المعنيين.
التقييمات الخارجية
لا تملك Fluera حاليًّا شهادتي SOC 2 أو ISO 27001. هما في خارطة طريق Enterprise وستُعلَنان علنًا عند اكتمالهما. نُفضّل ألّا نُعلِن عن ضوابط لم نتحقّق منها بشكل مستقلّ.
قائمة المعالجين الفرعيين علنية ومحدَّثة. اتفاقية معالجة البيانات متاحة عند الطلب على lorenco@fluera.dev.