قاعدة المعرفة
التشفير أثناء التخزين
كل حقل من الرسالة مختوم قبل كتابته (النصّ والموضوع والعناوين وبايتات المرفقات)، فتكون نسخة قاعدة البيانات نصًّا مشفَّرًا لا بريدًا.
ليس بعد
لا تُختم بهذه الطريقة اليوم إلا بيانات الاعتماد التي تسلّمنا إيّاها؛ أما النصوص والمواضيع والمرفقات فتُخزَّن كما وصلت، والمغلَّف الذي سيختمها مبنيّ لكنه موصول عمدًا بلا شيء.
التفاصيل
- لم يُشحَن. شيء واحد يُختم قبل كتابته ولا شيء غيره: سرّ توقيع الـ webhook. وهو مختوم بمفتاح مشتقّ خاص به حتى لا يُفتح نصّ مشفَّر انتُزع من جدول على أنه جدول آخر، وذلك هو الموضع الوحيد في الشيفرة الذي يُختم فيه أي شيء على الإطلاق. ولا يمرّ به أي نصّ رسالة أو موضوع أو جهة اتصال أو ملاحظة أو مُدخَل تقويم أو مرفق.
- إنه ادّعاء مختلف عن الادّعاءين المحيطين به، والفرق هو في من يحمل المفتاح. فالتشفير من طرف إلى طرف يعني أن المفتاح لك وأن البريد غير قابل للقراءة هنا؛ أما التشفير أثناء التخزين فيعني أن البريد يُختم في طريقه إلى التخزين بمفتاح يشتقّه هذا الخادم، فيكون تفريغ قاعدة البيانات، أو نسخة احتياطية ضلّت طريقها، أو استعلام ما كان ينبغي لأحد تشغيله، نصًّا مشفَّرًا، بينما يظلّ الخادم نفسه قادرًا على فتحه للترتيب في سلاسل والبحث والتلخيص. الأول يحميك منّا. والثاني يحميك من الجميع، وهو الذي لا يزال يحدث للآخرين.
- ما هو صحيح اليوم يستحق أن يُقال صراحةً بدل ترك استنتاجه: البريد مخزَّن على بنية تحتية تشفّر أقراصها، ولا تقع فوق ذلك أي طبقة من عندنا، ونحن نحمل المفاتيح، فالخادم يستطيع قراءة ما يخزّنه، والميزات التي تبحث في بريدك وتلخّصه تفعل ذلك بالضبط. وقد قالت صفحة الخصوصية ذلك بهذه الكلمات منذ كُتبت، وستظل تقوله حتى يُشحن هذا.
- «كل حقل» يعني أكثر من النصّ. فالموضوع، وقائمة المُرسِل والمستلمين، والمقتطف الذي يعرضه عرض القائمة، تجلس في أعمدة مفهرسة عادية، وكذلك الملخّصات المولَّدة من رسالة، والملاحظات التي ترفقها بسلسلة، وأسماء جهات الاتصال، وعناوين أحداث التقويم ومواقعها، واسم كل ملف ونوعه. فبطاقة تقول «مشفَّر» بينما يبقى سطر الموضوع في الوضوح ستكون القفل الذي يرفض هذا المنتج رسمه في كل مكان آخر.
- ما يكلّفه ذلك كان السؤال المفتوح، وشقّ البحث منه صار له الآن رقم بدل الجدال. فالبحث اليوم استعلام على أول 4,000 حرف من أحدث رسالة في كل سلسلة، محفوظة كنصّ عادي. وإذا خُتمت صارت فكّ تشفير ومسحًا داخل مخزن صندوق البريد الذي يحمل المفتاح أصلًا، يُؤخذ على دفعات لا صفًّا صفًّا: وعلى مجموعة نصوص اصطناعية يقع ذلك بين 100 و400 ميلّي ثانية تقريبًا عبر 50,000 محادثة، وبعد نحو 200,000 يحتاج إلى نتائج تصل تدريجيًّا لا دفعة واحدة. وقد قيس ذلك على جهاز تطوير مقابل بريد مولَّد، لا على صندوق بريد حيّ، فهو شكل الكلفة لا وعد بشأن صندوقك. وبذلك تبقى المطابقة على أي جزء من كلمة كما هي الآن تمامًا، ولا حاجة إلى كتابة فهرس من تجزئات الكلمات على القرص ليرفعه أحد لاحقًا. والنصّ نفسه هو ما يقرأه المُلخِّص، وممرّ النصّ في مقيّم التصيّد، وفحص الكتابة بالذكاء الاصطناعي، وأي قاعدة تطابق على الكلمات، وكلٌّ منها يفتحه بالطريقة نفسها، وهذا هو الشكل الصادق لهذا الادّعاء: مختوم في وجه نسخة من قاعدة البيانات، غير مختوم أبدًا في وجه الخادم.
- قبل ختم أي شيء لا يمكن تعويضه، يجب أن يحمل المغلّف نسخته الخاصة ومعرّف مفتاحه. فكل مفتاح مشتقّ يتدلّى اليوم من سرّ واحد، وتدويره يكلّفك أسرار توقيع الـ webhooks؛ ولو خُتمت النصوص بالطريقة نفسها لكلّفك تدويره البريد. ذلك الجزء مبنيّ، ولم يُختم به شيء. وكل مغلّف يصنعه يحمل نسخته الخاصة ومعرّف المفتاح الذي صنعه، مقروءَين قبل أن يحاول أحد فتحه، ويربط نفسه بالصفّ الذي ينتمي إليه بالضبط: فقيمة انتُزعت من صفّ وأُسقطت في آخر لا تُفتح، وتقول إنها نُقلت بدل أن تفشل كمفتاح خاطئ. ولا شيء يستدعيه بعد، وذلك هو الغاية من بنائه أولًا. فالصيغة هي الالتزام؛ أما تبنّيها، حقلًا بعد حقل، فهو الجزء الذي يبقى قابلًا للتراجع.
- جملة واحدة تحدّد ما يُختم، حتى يمكن تطبيقها على عمود لم يفكّر فيه أحد بعد: اختم كل ما كتبه إنسان أو اختاره، واترك كل ما اختارته الآلة. فالموضوع والنصّ وملاحظة السلسلة واسم جهة الاتصال وعنوان حدث التقويم واسم الملف وقاعدة كتبتها بنفسك: كل ذلك جاء منك. أما معرّف الرسالة وحالة الطابور وعدد المحاولات ومعرّف الصفّ: فتلك وُلّدت هنا، وختمها لا يشتري شيئًا ويكلّف كل استعلام يقرأها. ويقع فوق ذلك استثناءان. فالقيمة التي لا رجعة فيها أصلًا، كتجزئة أو ملخّص رمز، لا يجعلها ختمها أكثر أمانًا. والقيمة المنشورة عن قصد تبقى مقروءة، لأن ختمها سيختم الشيء الوحيد الذي وُجدت لتسلّمه.
- ثلاثة أشياء تبقى مقروءة بموجب تلك القاعدة، وكلٌّ منها شيء يقوم عليه صندوق البريد لا زاوية تُركت ناقصة. الطوابع الزمنية، لأنها مفتاح الفرز ومؤشّر الترقيم، وصندوق بريد لا يستطيع الترتيب بالتاريخ ليس صندوق بريد. ونطاقك، لأن الاستعلام الذي يقرؤه هو الطريقة التي تجد بها رسالة واردة المستأجر الذي تنتمي إليه، قبل أن يسجّل أحد دخوله وقبل أن يكون أي مفتاح في اليد. والمفاتيح المنشورة، لأن المُرسِل يبحث عن مفتاحك. وكلٌّ من هذه يقول شيئًا عن شكل الحساب، ولا شيء منها محتوى بريدك.
- الختم بمفتاح يشتقّه الخادم هو الدرجة الأولى وهي التي تُبنى. أما الثانية، أي الختم بمفتاحك أنت عند وصول البريد بحيث لا يفتحه أي مفتاح هنا، فتغيير أكبر ومنتج مختلف: إذ يغادر النصّ البحثَ وميزات الذكاء الاصطناعي نهائيًّا، وتنتقل حضانة المفاتيح وعبارة الاسترداد بينك وبين بريدك أنت. وذلك قرار يُتّخذ عن عمد لا مفتاح يُقلَب، وستذكر هذه البطاقة أيّهما شُحن بدل الخلط بينهما.