الأمان والبنية

كيف بُني وعد الخصوصية فعلًا.

يقول بالس إن قياساتك الصحية الخام لا تغادر هاتفك أبدًا. هذا ادّعاء قوي وضيّق في آن، ولذلك تقول هذه الصفحة بالضبط ما الذي يغطّيه، وما الذي يغادر الهاتف رغم ذلك، وأين تعيش المفاتيح، وما الذي تحفظه خوادمنا، وما الذي ما زال بوسعنا نحن و Apple قراءته، وكيف تتحقّق من كل ذلك بنفسك.

آخر مراجعة مقابل الكود في ١٨ سبتمبر ٢٠٢٦ النطاق: تطبيق iOS و watchOS والخادم خلفه. مكتوب من كود الاثنين، لا من خارطة طريق.

الادّعاء، بصياغة دقيقة

نبضك وتغيّر نبضك ونومك وحركتك تُقرأ من Apple Health على آيفونك، وتُفسَّر على هذا الآيفون مقارنةً بخط أساسك المتحرك، وتتحوّل إلى جملة واحدة. لا يصل إلى خوادمنا أي قياس ولا درجة ولا رسم بياني ولا سجل، لأنه لا يوجد في الشيفرة مسار يرسل شيئًا من ذلك. أما الجملة نفسها فتسافر: هي مكتوبة لشريكك، ومشتقّة من بياناتك الصحية، وتصله عبر مساحتكما المشتركة في iCloud. وهذا الفارق هو موضوع الصفحة كلها.

هذا وعد أضيق من «نحن نحترم الخصوصية»، وهو الوعد الذي يستحق التحقّق. وبقية هذه الصفحة هي التحقّق.

أربعة أمور تترتّب عليه

  • لا نستطيع أن نعرض لك سجلّ صحتك في لوحة على الويب، لأننا لا نملكه.
  • لا نستطيع استعادة محادثتك إن فقدت مفتاحك وكل أجهزتك، لأن المفتاح لم يكن لنا يومًا.
  • لا نستطيع بناء ميزات سحابية فوق محتواك، لأن خوادمنا لا تقرأه.
  • أمر قضائي يصلنا يبلغ سجلّات تشغيلية لا سجلّات صحية: معرّفات مجهولة الهوية، ورموز إشعار، وإعدادات إشعار، وسجلّات خادم قصيرة العمر، وما أرسلته إلينا أنت بنفسك. ولا يبلغ قياسًا ولا النصّ المقروء لرسالة مشفَّرة، لأن كليهما ليس عندنا.

الطريق الذي يسلكه يومك

خمس خطوات. الثلاث الأولى تحدث على هاتفك، والرابعة وحدها هي التي تصل إلى أحد، والخامسة هي الإجابة الوحيدة التي قد تعود.

الحدّ المتقطّع هو جهازك. بالس لا يرسل القياسات الخام بداخله إلى Knightify أبدًا. ما يعبر الخط هو الجملة التي صارت إليها. هاتفك قياس قراءة تفسير لا يغادر هاتفك النبض · HRV · النوم · الحركة · الدورة جملة واحدة iCloud الخاص بك شريكك خادمنا إشعار بلا محتوى
الحدّ المتقطّع هو جهازك. بالس لا يرسل القياسات الخام بداخله إلى Knightify أبدًا. ما يعبر الخط هو الجملة التي صارت إليها.
  1. ٠١

    القياس

    تكتب Apple Watch، أو سوار WHOOP حين يصل هذا الدعم، القياسات في Apple Health على هاتفك. و Apple Health قاعدة بيانات على هاتفك، لا خدمة لدينا.

  2. ٠٢

    القراءة، بإذن

    يقرأ Pulse الأنواع التي سمحت بها في شاشة أذونات Health، وتلك وحدها. اسحب واحدًا منها ويواصل التطبيق العمل بما تبقّى.

  3. ٠٣

    التفسير على الجهاز

    يُقارَن اليوم بأسابيعك الأخيرة بكود يعمل على هاتفك أنت. لا خادم في هذه الخطوة ولا نموذج في أي موضع منها.

  4. ٠٤

    جملة واحدة تعبر

    الجملة الناتجة، ووسم مزاج عام، والاسم الذي اخترته تُزامَن إلى شريكك عبر iCloud، في مساحة مشتركة مع شخص واحد بالضبط. اسمك وصورتك مشفَّران من طرف إلى طرف. أما الجملة ووسم المزاج فليسا كذلك، فباستطاعة Apple قراءتهما حيث هما.

  5. ٠٥

    إجابة واحدة قد تعود

    في الصباح التالي يمكن لمن كانت اللمحة عنه أن يجيب إن كان حضور شريكه قد ساعد، باختيار واحد من أربعة خيارات ثابتة. لا يعبر عائدًا سوى ذلك الخيار، عبر المساحة المشتركة نفسها، بلا قياس وبلا نص حر خلفه.

كل جزء من البيانات وأين يقع

ثلاث قوائم: ما يبقى على جهازك، وما يعبر إلى المساحة التي تشاركها مع شريكك، وما يخزّنه تطبيقنا. وكل سطر يقول ما الذي يحميه، وأين تنتهي تلك الحماية.

على جهازك، لا على خوادمنا

في سلسلة مفاتيح iOS، غير مقروء إلا بعد فتح الهاتف مرة واحدة منذ تشغيله. وصفوف الصحة مستبعَدة عمدًا من نسختك الاحتياطية على iCloud. أما مفتاح المحادثة فهو الاستثناء الذي يتزامن، عبر سلسلة مفاتيح iCloud، لتستطيع أجهزتك أنت استخدامه.

  • النبض ونبض الراحة و HRV والنوم والخطوات ودقائق التمرين والوقوف ومعدل التنفّس وأكسجين الدم وجلسات التأمّل

    يُقرأ من Apple Health. يبقى سجلّ متحرّك لتسعين يومًا على الهاتف كي يرسم التطبيق منحنى.

  • بيانات الدورة الشهرية

    لا تُقرأ إلا إذا فعّلت الدعم المراعي للدورة («الوعي بالإيقاع»)، وهو معطّل افتراضيًا؛ ومن دونه تُحسب لمحتك دون أي مدخل من الدورة. مزامنة iCloud معطّلة له في الشيفرة، فالسجل نفسه لا يُزامَن أبدًا، والأعراض والملاحظات لا تغادر الجهاز إطلاقًا. أما المرحلة فلا تغادر إلا إذا فعّلت أيضًا المفتاح المنفصل لتقويم الدورة والحيض، وله صف خاص في الجدول أدناه.

  • فترات إشارات القلب غير المعتادة

    تُلاحَظ على الجهاز. لا يُشارَك شيء قبل أن توافق على تلك اللحظة بعينها، ويزيل مرشّح الأرقام ومفردات الدورة من الصياغة قبل أن يخرج أي شيء. ولا تُقرأ التمارين والطاقة النشطة إلا لاستبعاد الرياضة من هذا الفحص، ولا يسأل Pulse أكثر من ثلاث مرات في اليوم.

  • مفتاحك الخاص لهوية المحادثة

    يُولَّد على جهازك ويُحفظ في سلسلة مفاتيح iCloud لديك كي تستخدمه أجهزتك الأخرى. لا يُرفع إلينا أبدًا.

  • رمزا وصول وتحديث WHOOP

    فقط إن وصلت سوارًا، وهو ما يحتاج وصول دعم WHOOP أولًا. في سلسلة مفاتيح التطبيق، موسومان بأنهما لهذا الجهاز وحده فلا يتزامنان، ويُبطَلان لدى WHOOP عند فصل الاتصال.

  • سجلّ موافقتك، وقائمة إشعارات التطبيق نفسه

    سجلّ مؤرَّخ ومرقَّم بما وافقت عليه، يمكن سحبه في أي وقت. والسحب يوقف كل معالجة صحية فورًا.

ما الذي يعبر إلى شريكك

عبر iCloud الخاص بك، في مساحة خاصة مشتركة مع مشارك واحد محدّد بالاسم. المساحة ليست عامة: رابطها لا ينفع من ليست هويته على iCloud ضمن قائمة المشاركين.

ماذا الحماية
التلميح اليومي، وإيماءاته المقترحة، وتصنيف مزاج تقريبي، واسم العرض وصورتك، وتوقيتك المحلي إن شاركته، مع حالة «نائم على الأرجح» المباشرة؛ وحين تحجب مفاتيحك قراءةً ما، لمحة محايدة «لا جديد الآن» بدلًا منها منطقة iCloud المشتركة، للقراءة فقط بالنسبة لشريكك. اسمك وصورتك وتوقيتك المحلي مشفّرة طرفًا إلى طرف. أما التلميح وتصنيف المزاج فمشتقّان من بيانات صحية وغير مشفّرين كذلك، فتستطيع Apple قراءتهما. تنتهي التلميحات في نهاية اليوم. وحالة النوم تبقى ساعة واحدة وليست مشفّرة طرفًا إلى طرف هي الأخرى.
الرسائل والصور وصور GIF والرسائل الصوتية والإشارات والطلبات ومدوّنات «قصّتنا» ومواعيد التقويم وقائمة التسوّق والملاحظات المشتركة وإجابات سؤال اليوم مشفَّرة من طرف إلى طرف على جهازك. لا نستطيع قراءتها نحن ولا Apple.
مدخلات قائمتي المشاهدة والأمنيات: عنوان ونوع ورابط وغلاف وحالة، وعنوان المكان وموقعه على الخريطة لأمنية محفوظة من مكان حقيقي؛ إضافةً إلى اليوم الذي تبدآن العدّ منه نصّ ظاهر داخل مساحتكما المشتركة، فباستطاعة Apple قراءته. وليست بيانات صحية أبدًا. أما التعليقات والتفاعلات ورأي كل منكما فمشفَّرة من طرف إلى طرف.
سؤال اليوم وإجابتاكما تُشفَّر كل إجابة من طرف إلى طرف على جهازك كرسالة المحادثة؛ ولا يُقرأ منها سوى اليوم الذي تنتمي إليه. وتزول من المساحة المشتركة خلال ٤٨ ساعة.
مؤشّر الكتابة وإيصالات القراءة وإشارة «نمسك معًا» تُنقَل حيًّا ما دامت المحادثة مفتوحة، ولا تُخزَّن في أي مكان. وإشارة الإمساك نعم أو لا بلا أي محتوى.
تقويم دورتك وحيضك، إذا فعّلت ذلك المفتاح: المرحلة الحالية، وأيام هذه الدورة، والأيام المتوقعة للدورة القادمة، ونافذة الإباضة غير مشفّر داخل مساحتك المشتركة، فتستطيع Apple قراءته. هذا هو الصف الوحيد في هذا الجدول الذي يحمل بيانات صحية، ولهذا فمفتاحه منفصل عن كل مفتاح آخر، ومعطّل افتراضيًا، ويمسح التقويم من جهاز شريكك لحظة إيقافه. الأعراض والملاحظات التي تدوّنها لا تنتقل أبدًا.

ما تستطيع Apple قراءته هنا، وما لا تستطيع

مساحتكما المشتركة منطقة داخل iCloud، فكل ما في الجدول أعلاه محفوظ لدى Apple. المحادثة والصور وصور GIF والرسائل الصوتية والإيماءات والطلبات و«قصّتنا» وأحداث التقويم ومدوّنات Know Us وملاحظات «ما لم يُقل» التي تختار إرسالها وما يُقال رداً عليها وتعليقات عنصر في قائمة المشاهدة تصل إلى هناك نصًّا مشفَّرًا أنتجه هاتفك، ولا تستطيع Apple فتحه أكثر مما نستطيع نحن. أما جملة اليوم، ووسم المزاج بجانبها، وسؤال اليوم بإجابتيه، وعناصر قائمة المشاهدة وقائمة الأمنيات الظاهرة، وتقويم الدورة المشترك إن كنت قد فعّلت ذلك المفتاح، فتحميها قواعد المشاركة على المساحة لا ذلك التشفير، أي أن Apple قادرة تقنيًا على قراءتها. هذا هو الحدّ بين الأمرين، ولهذا لا تقول هذه الصفحة في أي موضع إن أحدًا لا يرى شيئًا.

ما يخزّنه تطبيقنا عن قصد

لا يملك التطبيق نظام حسابات، فلا يوجد عندنا ملفّ شخصي ولا أرشيف رسائل ولا سجلّ صحي. وما يلي هو ما يحتفظ به التطبيق عن قصد. أما آثار التشغيل المعتادة، من سجلّات تقنية وطوابير ومن حالة المُرحّل التي تحتاجها محادثة مفتوحة، فموجودة كما في أي خدمة مستضافة، والسطر الأخير يقول ذلك بدل أن يتركك تفترض العكس.

السجلّ لماذا يوجد يبقى حتى
معرّف iCloud مستعار، ورمز إشعارات، والمنصة، وثلاثة مفاتيح تشغيل وإيقاف للإشعارات، وبصمة للمفتاح الذي لا يملكه إلا أنت وشريكك؛ وكذلك، فقط إذا شغّلت إشعارات الإعلانات، هذا الاختيار ولغة تطبيقك كي يصل الإشعار إلى الهاتف الصحيح. تحذف حسابك من التطبيق، أو تُبلغ خدمة الإشعارات لدى Google أو Apple بأن الرمز غير صالح، أو لا يجدّده هاتفك منذ ١٨٠ يومًا.
رسالة نموذج الاتصال: اسمك وبريدك وبلدك اختياريًا وما كتبته كي يردّ عليك إنسان. تنتهي المحادثة. تُرسل بالبريد إلى صندوقنا، ولا يُسجَّل منها إلا الموضوع.
كعكة جلسة الموقع ورمز CSRF كي يعمل الموقع. ضرورية تمامًا، ولا توجد كعكة تحليلات ولا إعلانات. تنتهي جلسة المتصفّح.
حسابات إدارية لهذا الموقع وسجل تسجيلات دخولهم كي ننشر هذه الصفحات. لا علاقة لها بالتطبيق، فهو بلا تسجيل دخول. يُحذف الحساب. يُحتفظ بسجل الدخول ١٢ شهراً.
فكرة ميزة أُرسلت من صفحة الميزات: العنوان وما أضفته أنت، من وصف ورابط واسم وبريد إلكتروني ليقرأها إنسان ويردّ عليك ويعرف ما سبق اقتراحه. تطلب منا حذفها، أو ينتهي أمر الفكرة.
رموز Live Activity، وسجلّات تقنية قصيرة العمر، وحالة المُرحّل التي تحتاجها محادثة مفتوحة لتصل إيماءة إلى Dynamic Island، ولتشتغل الصفحة ويُفحص سوء الاستخدام، ولتتحدّث محادثتان مفتوحتان في اللحظة نفسها. تزول الرموز عند إيقاف الميزة أو حذف الحساب أو بعد ١٨٠ يومًا دون تجديد. وتُحذف السجلّات بعد ١٤ يومًا. أما الإشارات المُرحّلة فلا تُكتب أصلًا.
تقرير عطل، فقط إذا قرأته وضغطت إرسال: إصدار التطبيق وiOS، طراز الجهاز، اللغة، آخر تبويب، تفاصيل تقنية، وأي ملاحظة تضيفها حتى نجد السبب ونصلحه. لا يحمل أبداً معرّف iCloud ولا اسماً ولا قيمة صحية ولا رسالة. ٩٠ يوماً، ثم يُحذف تلقائياً.
عدد مرات فتح كل إصدار من التطبيق: مجموع يومي لكل build ولكل ساعة من الأسبوع، دون معرّف ودون سجل لكل هاتف لنعرف الإصدارات التي ما زالت قيد الاستخدام ومتى يمكن إيقاف إصدار قديم. حتى ١٣ شهراً، ثم تُحذف المجاميع اليومية تلقائياً.
فقط إذا شغّلت «ساعد في تحسين Pulse»: قائمة يومية بأعداد مجهولة (أي الشاشات والإجراءات استُخدمت وكم مرة) تُضاف إلى مجموع يومي لنرى أي أجزاء من Pulse تُستخدم. لا يُرسل معرّف ولا ختم زمني ولا محتوى، فلا يمكن ربط العدّ بك ولا استرجاعه. حتى ١٣ شهراً كمجاميع يومية. أوقف الإعداد ولن يُرسل شيء بعدها.

ما يغيب عمدًا: أي قيمة صحية، وأي نصّ رسالة، وأي اسم من التطبيق، وأي موقع، وأي معرّف إعلاني. والمعرّفات مجهولة الهوية أسماء مستعارة لا إخفاءً تامًّا: زوج منها يُرينا أن حسابين مرتبطان، وهذا بعينه حدّ البيانات الوصفية المذكور أدناه.

نموذج التشفير

مسمّى لا ملمَّح إليه، كي يمكن الجدال فيه.

الاتفاق على المفتاح
Curve25519 عبر CryptoKit من Apple. يولّد كل طرف زوج مفاتيح هوية على جهازه، ويتفق الطرفان على سرّ مشترك مباشرة. ولا تمرّ مادة مفاتيح عبر خوادمنا في أي لحظة.
تشفير الرسائل
AES-GCM عبر CryptoKit، وهو يوثّق كما يشفّر: النصّ المعدَّل يفشل في الفتح بدل أن يُفكّ إلى شيء آخر.
أين تعيش المفاتيح
مفتاحك الخاص في سلسلة مفاتيح iCloud لديك، مرتبط بحساب Apple الخاص بك ومتاح لأجهزتك أنت. لا نملك نسخة ولا وسيلة لطلبها. أما قراءات الصحة المخزَّنة محليًا فتقع في سلسلة مفاتيح الجهاز تحت فئة «هذا الجهاز فقط»، وهو ما يبقيها خارج نسختك الاحتياطية على iCloud.
النقل
تسافر الحزم المشفَّرة عبر CloudKit من Apple. وما دمتما تفتحان المحادثة، يمكن للبايتات نفسها، المشفَّرة أصلًا، أن تسلك مسارًا أسرع عبر مُرحّلنا اللحظي. وهو يوقّع ويمرّر ولا يخزّن شيئًا. وقد تنتقل البايتات المختومة لرسالة الدردشة أيضًا داخل إشعارها، عبر خادمنا وFirebase Cloud Messaging من Google، كي يتمكّن هاتف شريكك من فتحها قبل فتح التطبيق؛ ولا يستطيع أيٌّ منهما قراءتها، ولا يحتفظ بها خادمنا.
الإشعارات
الجزء الظاهر من الإشعار بلا محتوى عن قصد: عنوان ونصّ ثابتان يكتبهما خادمنا ونوع، لا الرسالة أبدًا. وقد يحمل إشعار الدردشة تلك الرسالة مختومةً أيضًا، كما ورد تحت النقل، ولا يستطيع أحد بين الهاتفين فتحها. ولا يُكتب طلب شيء خاص على شاشة القفل حيث يقرأه من يقف بجانبك.
تسجيل الدخول إلى WHOOP
يتحدّث هاتفك إلى WHOOP مباشرة. ولا يؤدّي خادمنا إلا تبادل الرمز، لأن WHOOP يطلب سرًّا للعميل، والسرّ الذي يُشحن داخل تطبيق iOS يقرأه كل من ينزّله. ولا يُخزَّن من ذلك التبادل شيء: لا رمز ولا معرّف مستخدم في WHOOP ولا صفّ في جدول. وتهبط إعادة التوجيه على نطاق طالب به هذا التطبيق عبر Associated Domains، فلا يستطيع تطبيق آخر على الجهاز اعتراض رمز التفويض.

من المدوّنة: ماذا يعني التشفير من طرف إلى طرف في تطبيق للثنائي 

من غيرنا يستلم شيئًا

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

الجهة ما تستلمه متى
Apple شيئان مختلفان داخل iCloud الخاص بك: حزم مشفَّرة لا تستطيع Apple فتحها، وسجلّات ظاهرة في المساحة المشتركة تستطيع قراءتها، أي جملة يومك ووسم المزاج وعناصر قائمة المشاهدة وقائمة الأمنيات واليوم الذي تبدآن العدّ منه. إضافةً إلى تسليم الإشعارات. وفقط حين تستخدمهما: خرائط Apple (عمليات البحث عن الأماكن التي تكتبها، والمنطقة التي تخطّطان فيها مواعيدكما) وواجهة iTunes Search API (عنوان عنصر في قائمة المشاهدة، حين يبحث هاتفك عن غلاف). دائمًا. فهناك تعيش مساحتكما المشتركة.
Google (Firebase Cloud Messaging) رمز إشعار، وعنوان ونص ونوع إشعار خالٍ من المحتوى؛ وفي رسالة الدردشة ربما تلك الرسالة أيضًا، مختومةً بتشفير من طرف إلى طرف لا تستطيع Google فتحه. كما أن Firebase Crashlytics مرتبط، لكنه يسجّل العطل على هاتفك فقط ولا يرسل التقرير إلا إذا ضغطت «إرسال» حين يسألك التطبيق بعد العطل: تتبّع المكدّس، وطراز الجهاز، وإصدار iOS، ومعرّف تثبيت عشوائي؛ ولا يرسل أبدًا بيانات صحية أو محتوى رسائل أو بيانات اتصال. تحليلات Firebase وإعلاناتها معطّلة في النسخة. عند إرسال إشعار إليك، وبعد العطل فقط إذا ضغطت «إرسال».
GIPHY كلمات بحثك عن صور GIF. أما الصورة التي ترسلها فتسافر مشفَّرة من طرف إلى طرف كأي رسالة. فقط ما دام بحث GIF مفتوحًا. وإن لم تفتحه قط فلا يُرسَل شيء.
WHOOP تسجيل دخولك أنت وقياساتك أنت، يقرأها هاتفك من WHOOP مباشرة. فقط إن وصلت سوارًا، حين يصل هذا الدعم.
Fastmail رسالة الاتصال التي كتبتها إلينا. فقط إن كتبت إلينا.

تأكّد غيابه من كلتا قاعدتي الكود

  • لا حزمة تحليلات من أي نوع
  • لا حزمة إعلانات ولا إسناد
  • لا معرّف إعلاني ولا طلب إذن تتبّع، لأنه لا شيء يُتتبَّع
  • لا يوجد أي SDK للتحليلات أو إعادة تشغيل الجلسات أو الإحالة. تقارير الأعطال هي الاستثناء التشخيصي الوحيد، وهي مذكورة في الجدول أعلاه بدل أن تُحذف بصمت من هذه القائمة. العدّادان الخاصان بنا في الجدول أعلاه ليسا SDK ولا يحملان معرّفاً ولا يرسلان شيئاً إلى طرف ثالث.
  • لا معالج مدفوعات ولا اشتراكات
  • لا نموذج توليدي ولا نموذج لغوي يكتب كلماتك أو يقرؤها، لا في التطبيق ولا على الخادم. وإجراء «ترجمة» الاختياري على الرسالة يستخدم الترجمة المدمجة من Apple.

ما الذي لا يحميك منه هذا

الجزء الذي تتركه أغلب الصفحات، وهو هنا الأطول عن قصد. لا شيء مما يلي بلاغ عن خلل؛ كله إما مقايضة مقصودة وإما حدّ معروف نفضّل أن تسمعه منا لا أن تكتشفه بنفسك.

  • جملة اليوم مشتقّة من بياناتك الصحية، وهي تغادر هاتفك

    لا بدّ من ذلك: هي مكتوبة لشريكك. تسافر داخل مساحتكما المشتركة في iCloud إلى جانب وسم المزاج، وليست مشفَّرة إضافيًا من طرف إلى طرف كما المحادثة، أي أن Apple قادرة تقنيًا على قراءتها. نقول ذلك صراحةً لأن «يُفسَّر على جهازك» يسهل أن يُسمَع بمعنى «لا يخرج عن صحتك شيء أبدًا»، والصحيح هو الأول فقط. أما ما لا يسافر فهو القياس الذي خلف الجملة: لا نبض، ولا تغيّر نبض، ولا ساعات نوم. القيمة الصحية الوحيدة التي يمكن أن تسافر بمفردها هي تقويم الدورة، وله مفتاح منفصل معطّل افتراضيًا، وصف خاص به في الجدول أعلاه.

  • نرى البيانات الوصفية، والتشفير لا يلغيها

    نرى أن حسابًا موجود، وأن حسابين مرتبطان، وأن رسالة بحجم ما تحرّكت بينهما في وقت ما، والرمز الذي تحتاجه Apple للتسليم. نحتفظ بأقلّ ما نستطيع ولا نبيع شيئًا، لكن «لا نستطيع قراءة رسائلكما» و«لا نعرف عنكما شيئًا» جملتان مختلفتان، والأولى وحدها صادقة عند أي أحد.

  • النسخ في تقويمٍ ما خارج التشفير

    إذا نسخت خططكما إلى تقويم، يكتب Pulse مُدخلات تقويم عادية: العناوين والأوقات والأماكن والملاحظات، مقروءة. والتقويم الذي يتزامن مع iCloud أو Google أو Outlook يخزّنها لدى تلك الخدمة، ويستطيع رؤيتها كل من تشاركه إياه. يسأل Pulse قبل أن يكتب في تقويم كهذا، لكن ما إن تصبح النسخة هناك حتى تسري عليها قواعد ذلك التقويم لا قواعدنا. ونقول ذلك صراحة لأن التقويم المشترك نفسه مشفَّر من طرف إلى طرف، وقد يفترض القارئ بحقّ أن النسخة كذلك أيضًا.

  • بعض المدخلات المشتركة ظاهرة عن قصد

    مدخلات قائمتي المشاهدة والأمنيات، أي عنوان ونوع ورابط وحالة، وعنوان المكان وموقعه على الخريطة لأمنية محفوظة من مكان حقيقي، تتزامن سجلّات ظاهرة داخل مساحتكما، لأنها تتدفّق قبل تبادل المفاتيح الذي يحمي المحادثة. وكذلك اليوم الذي تبدآن العدّ منه. وباستطاعة Apple قراءتها، ولا تحوي بيانات صحية أبدًا. أما التعليقات والتفاعلات على عناصر قائمة المشاهدة فمشفَّرة.

  • Apple تقع تحت هذا كله

    مساحتكما المشتركة منطقة في iCloud، ومفاتيحك في سلسلة مفاتيح iCloud، وقياساتك في Apple Health. السجلّات المشفَّرة مبهمة على Apple تمامًا كما هي مبهمة علينا. أما بقية المساحة المشتركة فليست كذلك، كما يصف السطران أعلاه. استخدام بالس يعني الوثوق بـ Apple إلى هذا الحدّ، وأي بنية تقول غير ذلك إنما تصف تطبيقًا آخر.

  • لا ندّعي forward secrecy

    مفتاح المحادثة يأتي من اتفاق Curve25519 بين مفتاحَي هويتكما، لا من سلسلة مفاتيح متجدّدة لكل رسالة كما في تطبيق مراسلة متخصّص. ولذلك لا ندّعي forward secrecy: مفتاح خاص يُؤخذ من جهاز يمكنه فتح الرسائل التي حماها، لا الرسالة التالية وحدها. نفضّل تسمية الحدّ على أن ندع عبارة «مشفَّر من طرف إلى طرف» تحمل خاصية لم نبنِها.

  • مفاتيحك معلّقة بحساب Apple الخاص بك

    مفتاحك الخاص يعيش في سلسلة مفاتيح iCloud كي تبلغه أجهزتك أنت. هذا ما يجعل هاتفًا جديدًا يعمل دون أن نحمل نحن نسخة منه أبدًا، وهو في الوقت نفسه اعتماد: من يسيطر على حساب Apple الخاص بك ويستطيع إضافة جهاز إليه يقف في موضع لا نملك فيه عونًا، لأنه لا كلمة مرور لنا في الطريق. أبقِ التحقّق بخطوتين مفعّلًا على ذلك الحساب.

  • الاقتران يترك أثرًا عامًا قصيرًا

    ما دامت دعوة مفتوحة، يبقى سجلّ يحمل معرّف iCloud مجهول الهوية والاسم الذي اخترته ورمزًا قصيرًا مقروءًا لمستخدمي حاوية iCloud الخاصة بالتطبيق المسجَّلين. تنتهي الرموز بعد ٤٨ ساعة وتُمسح السجلّات عند القبول وعند فصل الارتباط وعند حذف الحساب. أما المساحة المشتركة نفسها فليست مكشوفة هكذا: هي محصورة بهوية شريكك على iCloud، فالرابط المسروق لا يفتح شيئًا.

  • نقطة الإشعارات يحرسها مفتاح يُشحن داخل التطبيق

    أي أنه ليس سرًّا حقيقيًا. أسوأ الحالات أن يجعل أحدهم إشعارًا بلا محتوى يظهر على هاتف يعرف معرّفه المجهول سلفًا؛ والنقطة تعيد عدد مرات التسليم ولا تكشف شيئًا عن الشخص. وهي محدودة المعدّل، وتحصينها بإثبات لكل جهاز مدرَج على القائمة لا منجَز.

  • أجهزتك أنت، ومن حولها من الناس

    من يستطيع فتح هاتفك يستطيع قراءة رسائلك، وهذا صحيح في كل تطبيق مراسلة. فعّل قفل Face ID داخل التطبيق إن كان ذلك يعنيك. وبالمثل، التشفير من طرف إلى طرف يحمي الخطّ لا الشخص الذي اخترت أن ترسل إليه.

  • الشريك ليس دائمًا شخصًا آمنًا

    بُني بالس لشخصين اختار كلٌّ منهما الآخر، ولا شيء فيه يفرّق بين شريك قلق عليك وشريك يسيطر عليك. إن كان أحد يضغط عليك لتثبيت التطبيق، أو لإعادة تشغيل المشاركة، أو لتسليم هاتفك، فتلك ليست مشكلة يحلّها التشفير. الإيقاف المؤقت وفصل الارتباط على بُعد لمسة، والإيقاف يمكن أن يكون غير مرئي، ولا تدين لأحد بتفسير لاستخدام أيٍّ منهما.

  • الإيقاف المؤقت يوقف ما هو آتٍ، لا ما وصل

    الإيقاف المؤقت يوقف كل جديد، ويستطيع ذلك دون إخبار شريكك. لكنه لا يمتدّ إلى الوراء: جملة أو رسالة وصلت تبقى على جهازه، ولا زرّ عندنا يستردّها. وفصل الارتباط يزيل السجلّات المشتركة وللسبب نفسه لا يستطيع إفراغ هاتفه. هكذا يتصرّف كل تطبيق مراسلة، ومن الأفضل أن تعرف ذلك قبل اليوم الذي تحتاجه فيه.

  • لا تدقيق مستقل بعد

    المراجعة التي بُنيت عليها هذه الصفحة أجريناها نحن، على كودنا نحن، في التواريخ المذكورة أدناه. هذا أكثر من نيّة وأقلّ من تدقيق خارجي، وتسميته بغير ذلك ستكون أول جملة غير صادقة في الصفحة. ننوي أن نطلب مراجعة مستقلة، وسنضع تاريخها هنا حين تحدث.

  • يمكن أن ينتهي اتصال دون أن ينهيه أي منكما

    يراقب Pulse المساحة المشتركة لشريكك، لأن الوداع الصريح قد يضيع: قد ينهيان الاتصال بينما هاتفك غير متصل، وبدون هذا الفحص سيبقى الجهاز «متصلًا» بلا أحد إلى الأبد. لذا فإن مساحة مشتركة تظل غير قابلة للوصول تُعامل في النهاية كاتصال انتهى، مع بقاء بياناتك. نذكر هذا هنا لأنه قرار يتخذه التطبيق نيابة عنك، ولأننا أخطأنا فيه خطأً فادحًا مرة: كانت نسخة أقدم تتصرف بعد ثلاثة فحوص، نحو دقيقة، وبما أن الإنهاء على هاتف واحد يزيل تحديدًا ما يراقبه الهاتف الآخر، كان انقطاع قصير قادرًا على فصل الشخصين خلال دقائق. صار الأمر يتطلب سبعة أيام متصلة، ورؤية واحدة تعيد الساعة إلى الصفر، وما لا يستطيع التطبيق التأكد منه، ومنه كونك غير متصل، لا يُحسب أصلًا.

كيف تتحقّق من هذا بنفسك

لا ينبغي أن تضطرّ إلى تصديقنا، وعلى iOS لست مضطرًّا إلى ذلك في الغالب.

  1. ٠١

    فعّل تقرير خصوصية التطبيقات

    في إعدادات iOS، تحت الخصوصية والأمان، يسجّل تقرير خصوصية التطبيقات النطاقات التي يتّصل بها كل تطبيق والمستشعرات التي يلمسها. استخدم Pulse أسبوعًا واقرأ ما يسرده. أنت تبحث عن غياب نطاقات التحليلات والإعلانات.

  2. ٠٢

    اقرأ شاشة أذونات Health

    الإعدادات، ثم Health، ثم الوصول إلى البيانات والأجهزة، ثم Pulse. تعرض كل نوع يستطيع التطبيق قراءته وكتابته. اسحب أيًّا منها وشاهده يواصل العمل بأقلّ.

  3. ٠٣

    راجع بطاقة الخصوصية في App Store

    تشترط Apple أن تطابق البطاقة الكود، وبطاقتنا تعلن اسمًا ومعرّف مستخدم مجهول الهوية ورمز جهاز، جميعها موسومة كوظيفة للتطبيق، ولا شيء منها موسوم كتتبّع.

  4. ٠٤

    راقب حركة الشبكة بنفسك

    إن كنت ممّن يملكون وكيل شبكة، وجّهه إلى التطبيق. سترى iCloud ونقطة الإشعارات لدينا، ومُرحّلنا ما دامت محادثة مفتوحة، و GIPHY إن فتحت بحث الصور المتحركة، وخرائط Apple حين تبحث عن مكان، وبحث iTunes من Apple حين تبحث قائمة المشاهدة عن غلاف، و WHOOP إن كنت قد وصلت سوارًا. وما لن تراه هو قياس.

  5. ٠٥

    اسألنا سؤالًا محدّدًا

    أسئلة الخصوصية الغامضة تلقى إجابات غامضة في كل مكان. أما سؤال محدّد عن تدفّق بعينه فيلقى منّا إجابة محدّدة، وإن كانت الإجابة محرجة فستأتي مع ذلك.

متى روجِع هذا آخر مرة

كل سطر إما فحص للشيفرة المنشورة مقابل ما تدّعيه هذه الصفحة والسياسة، وإما تصحيح لتلك الادّعاءات نفسها، مع ما وُجد وما تغيّر.

  1. ٢ يوليو ٢٠٢٦

    مراجعة كاملة للمستودعين. وُجد وأُصلح: قائمة جهات مستقبِلة ناقصة، وادّعاء «لا نخزّن شيئًا» لم يكن صحيحًا بشأن سجلّ الإشعارات، وحذف حساب لم يكن يزيل ذلك السجلّ. وصُحّحت بطاقة الخصوصية في App Store في الجولة نفسها.

  2. ٢٤ يوليو ٢٠٢٦

    مراجعة المُرحّل اللحظي وميزتين جديدتين. أُفصح عن المُرحّل بوصفه مسار نقل إضافيًا، وذُكر صراحةً أن سؤال اليوم ليس مشفَّرًا من طرف إلى طرف كالمحادثة.

  3. ٢٩ أغسطس ٢٠٢٦

    مراجعة قائمة المشاهدة المشتركة واستيراد WHOOP. أُضيف WHOOP جهةً مستقبِلة بالاسم لمن يصلون سوارًا، ووُثّق أن معاينات الروابط وصور الأغلفة يجلبها جهاز المرسِل وحده.

  4. ١٣ سبتمبر ٢٠٢٦

    مراجعة نصوص الموقع كله، لا فحص جديد للشيفرة، ولذلك بقي التاريخ أعلاه كما هو. صُحّحت ادّعاءات صارت أوسع من البنية: جملة اليوم وُصفت كأنها تبقى على الجهاز، وسؤال اليوم وُصف في صفحة الميزات بأنه مشفَّر من طرف إلى طرف كالمحادثة، وقائمة بيانات الخادم سُمّيت كاملة وهي تخلو من أفكار الميزات ورموز Live Activity، وجواب الأمر القضائي أوحى بأننا لا نملك شيئًا البتة. وصار ما تراه Apple في المساحة المشتركة صريحًا، وأُضيفت حدود forward secrecy وحساب Apple والضغط من شخص قريب وزرّ الإيقاف المؤقت.

وجدت شيئًا؟

الإفصاح المسؤول مُرحَّب به ويُنسب لصاحبه. اكتب إلى [email protected] بتفاصيل تكفي لإعادة إنتاج المشكلة، وامنحنا مهلة معقولة قبل النشر. لا نشغّل مكافآت مدفوعة، فنحن أصغر من أن يكون ذلك وعدًا صادقًا، لكننا لن نرسل إليك محاميًا أيضًا.

جهة اتصال الأمان [email protected] نسخة يقرأها الحاسوب على /.well-known/security.txt

اقرأ بقيّته.

تحمل سياسة الخصوصية الصيغة القانونية لكل ما سبق، بما في ذلك حقوقك وكيفية ممارستها.

Pulse

مجانًا · آيفون · ووتش اختيارية

تنزيل