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

عندما جعلنا Premium قابلًا للشراء، افترضنا أن الجانب القانوني بضع صفحات من النص في تذييل الموقع. وكان ذلك خطأً. بعض الالتزامات لا يمكن كتابتها في نص أصلًا، لأنها تحدد كيف يجب أن تُبنى الميزة.
أربعة أمثلة اتضح فيها ذلك بشكل خاص. ولنوضح من البداية ما هذا المقال: وصف لطريقة تطبيقنا، لا استشارة قانونية. القواعد أدناه من القانون الألماني، حيث يعمل AlphaCloud.
زر الإلغاء الذي لا يجوز أن يتطلب تسجيل دخول
تُلزم المادة 312k من القانون المدني الألماني العقود المبرمة عبر الإنترنت بتوفير طريقة للإلغاء يمكن الوصول إليها مباشرة. وينتج عن ذلك متطلبات لا يمكنك إضافتها لاحقًا بالصياغة:
- يجب أن تعمل الصفحة دون تسجيل الدخول
- يجب أن تكون موجودة في تذييل كل صفحة
- تحتاج إلى خطوتين: الإدخال، ثم التأكيد عبر زر واضح التسمية لا لبس فيه
- يجب إرسال تأكيد استلام بصيغة نصية
النقطة الأخيرة هي التي تحدد البنية. الإلغاء إعلان من طرف واحد، ويسري بمجرد استلامه. لذلك يجب تسجيله وتأكيده دائمًا، أيًّا كان مصدره.
النموذج يجب ألا يرفضك أبدًا
هنا كاد النهج البديهي أن يكلفنا خطأً.
النهج البديهي: لا تقبل الإلغاء إلا إذا تطابق معرّف السيرفر والبريد الإلكتروني مع اشتراك نشط. يبدو معقولًا، وهو خاطئ مرتين.
أولًا، كان سيغلق الباب أمام عميل حقيقي أخطأ في كتابة بريده الإلكتروني أو أعطى عنوانًا مختلفًا. لن يُعتبر إلغاؤه مستلَمًا، ويتجدد الاشتراك، وبيده دليل على أنه حاول.
ثانيًا، وهذا هو الجزء الأكثر إزعاجًا: رسالة الخطأ نفسها ستكون إجابة. من يتلقى «لم يُعثر على اشتراك» يعرف أن هذا السيرفر لا يدفع. معرّف سيرفر Discord ليس سرًا، فأي عضو يستطيع قراءته. وكان النموذج سيصبح أداة لاستطلاع سيرفرات الآخرين.
الحل يفصل بين أمرين يبدوان كأنهما أمر واحد:
| الشرط | |
|---|---|
| استلام الإعلان | غير مشروط، يُسجَّل ويُؤكَّد دائمًا |
| تنفيذ الإلغاء | فقط عندما يتطابق البريد الإلكتروني المُرسَل مع المشتري المسجّل لدينا |
كل ما عدا ذلك يصل إلى قائمة انتظار ويراجعه إنسان. وهذا جائز لأن الفقرة 2 من المادة 312k تسمح صراحةً بطلب بيانات للتعريف. الممنوع فقط هو تسجيل الدخول قبل ذلك.
وللسبب نفسه، لا يجوز للرد العلني أن يذكر تاريخ الانتهاء إلا بعد تأكيد الهوية. وإلا يصبح التأكيد من جديد أداة لاستخراج المعلومات.
الانسحاب الذي يتطلب تسجيل الدخول عمدًا
بجانبه مباشرةً توجد ميزة بنيناها بالطريقة المعاكسة: الانسحاب مع استرداد نسبي موجود خلف تسجيل الدخول.
وهذا ليس تناقضًا. المادة 312k تتناول الإلغاء لا الانسحاب، ولا يوجد أي التزام بتوفير نموذج انسحاب عبر الإنترنت أصلًا، ما دام الطريق غير الرسمي مفتوحًا. والفرق هو العاقبة: الإلغاء يؤثر في المستقبل، أما الاسترداد فيحرّك المال الآن، ولا يمكن استعادته.
ثلاث قواعد تنتج عن ذلك، ولا نتهاون فيها:
لا سبب إلزامي. تمنح الفقرة 1 من المادة 355 حق الانسحاب صراحةً دون ذكر الأسباب. الحقل اختياري ويجب أن يبقى اختياريًا، مهما كان الحقل الإلزامي مغريًا للإحصاءات.
بعد 14 يومًا يُرفض الطريق الآلي فقط، لا الإعلان أبدًا. تمتد المهلة إلى اثني عشر شهرًا وأربعة عشر يومًا إذا لم يُبلَّغ العميل بشكل صحيح. لذلك قد يكون الرد الشامل «فات الأوان» خاطئًا.
الحماية من الدفع مرتين متشائمة. تُوضع العلامة قبل تنفيذ الاسترداد. وإذا فشل الاسترداد بعدها، تبقى العلامة ويتولى إنسان الأمر. الدفع مرتين هو النتيجة الوحيدة التي لا يمكن علاجها.
الرسالة الخاصة في Discord ليست وسيطًا دائمًا
تشترط الفقرة 3 من المادة 312f تأكيدًا للعقد على وسيط دائم، ويجب أن يتضمن الموافقة التي أُعطيت.
أرسلنا في البداية رسالة خاصة على Discord، لأنها القناة التي يتواجد فيها عملاؤنا أصلًا. وهذا لا يفي بالشرط. الرسالة الخاصة تعيش على منصة لا نتحكم فيها، وليست قابلة للتخزين ولا غير قابلة للتعديل بالمعنى الذي يقصده النص.
لذلك أُضيف بريد إلكتروني، ومعه تبعية غير مريحة: إذا لم تُضبط بيانات اعتماد البريد، فإن الإرسال يكتب تحذيرًا في السجل فقط، ويبقى الالتزام غير مُنفَّذ. التزام قانوني معلّق على متغير بيئة حالةٌ تستحق أن تكون على دراية بها.
لا ضريبة قيمة مضافة، ويجب أن يُقرأ ذلك بالشكل نفسه في كل مكان
AlphaCloud منشأة صغيرة وفق المادة 19 من قانون ضريبة القيمة المضافة الألماني. الأسعار أسعار نهائية، ولا تُعرض ضريبة القيمة المضافة أبدًا.
يبدو هذا كحاشية، وهو في الحقيقة مهمة اتساق عبر مواضع كثيرة: صفحة الأسعار، ونافذة الدفع، والشروط، وسياسة الخصوصية، وتذييل الفاتورة، والإعدادات لدى مزوّد الدفع، كلها يجب أن تقول الشيء نفسه. كانت لدينا عبارة «غير شاملة ضريبة القيمة المضافة» قائمة لفترة طويلة، وكانت ببساطة خاطئة.
والذكاء الاصطناعي
منذ أغسطس 2026 تسري التزامات الشفافية في قانون الذكاء الاصطناعي الأوروبي بالكامل. ومن يتحدث مع نظام ذكاء اصطناعي يجب أن يتمكن من إدراك ذلك، في موعد أقصاه أول تفاعل.
أهم جملة بالنسبة لنا من تلك المراجعة: صفحة قانونية في التذييل على الأرجح لا تفي بذلك. يجب أن يحدث الإفصاح حيث يحدث التفاعل، أي في رسالة Discord نفسها. لهذا يعرّف دعم التذاكر بالذكاء الاصطناعي لدينا بنفسه دون أن يُطلب منه، وله زر ظاهر لإيقافه. تقييمنا المفصّل موجود في شفافية الذكاء الاصطناعي.
الخيط المشترك
الأمثلة الأربعة كلها لها الشكل نفسه: بدا الالتزام كنص، وكان في الحقيقة متطلبًا على البنية. تسجيل دخول في المكان الخطأ، ورسالة خطأ تكشف أكثر مما ينبغي، وتأكيد في القناة الخطأ، وترتيب يسمح بالدفع مرتين.
لذلك نقرأ النصوص القانونية الآن كمواصفات تقنية، ونتحقق في الاتجاه الآخر أيضًا: هل يفعل الكود فعلًا ما تقوله شروطنا؟ وعند هذا السؤال بالذات وجدنا اختلافين حقيقيين، وعنهما مقال منفصل.
مقالات أخرى
لماذا يبقى كل شيء تقريبًا في AlphaCloud مجانيًا
معظم بوتات Discord تحجب أكثر ميزاتها فائدة خلف اشتراك. نحن لا نفعل ذلك عمدًا، وهذا له علاقة بالكرم أقل مما يبدو.
خلف الكواليسمراقبة 4000 سيرفر Discord: Grafana وPostHog وما أظهراه لنا
حلقة تسببت بصمت في نصف حركة البيانات لدينا، وثلاثة ملايين طلب عديم الفائدة يوميًا، وهجوم انتهى بعد دقيقة واحدة. ما الذي تراه مراقبتنا، وما الذي لا تراه عمدًا.
خلف الكواليسما الذي علّمنا إياه تشغيل بوت على أكثر من 2000 سيرفر Discord
أربعة أشياء تعمل على نطاق واسع بشكل مختلف عما تفترضه أثناء كتابة الكود.