// MISLAK — Legal pages: Privacy Policy & Terms (Arabic, RTL)
const { useState: useLS, useEffect: useLE, useRef: useLR } = React;

/* ----------------------------- CONTENT ----------------------------- */
const LEGAL = window.LEGAL_AR = {
  privacy: {
    id: "privacy",
    route: "#/privacy",
    eyebrow: "قانوني · الخصوصية",
    crumb: "سياسة الخصوصية",
    title: <>سياسة الخصوصية<br/>وحماية البيانات.</>,
    updated: "1 يونيو 2026",
    version: "v2.4",
    intro: "تلتزم «مسلاك» — المملوكة لـ شركة سحابة موجة للاتصالات وتقنية المعلومات (سجل تجاري رقم 7054378745) — بحماية خصوصية عملائها والمستخدمين النهائيين. توضّح هذه السياسة أنواع البيانات التي نجمعها أثناء تقديم خدمات الاتصالات الذكية، وكيف نستخدمها ونحميها، وحقوقك تجاهها بموجب نظام حماية البيانات الشخصية في المملكة العربية السعودية ولوائحه التنفيذية الصادرة عن الهيئة السعودية للبيانات والذكاء الاصطناعي (سدايا).",
    sections: [
      { id: "overview", title: "نظرة عامة وصفة المعالجة", blocks: [
        "تنطبق هذه السياسة على منصة مسلاك وتطبيقاتها وواجهات البرمجة (API) وجميع الخدمات المرتبطة بها.",
        "تعمل مسلاك بصفتين مختلفتين فيما يتعلق بالبيانات:",
        { list: [
          { b: "مُتحكِّم في البيانات", t: "فيما يخص بيانات حسابك (الاسم، البريد، الفوترة، بيانات تسجيل الدخول، سجلات الاستخدام)." },
          { b: "مُعالِج للبيانات", t: "فيما يخص بيانات عملائك النهائيين الذين تتواصل معهم عبر المنصة (محادثات واتساب، تسجيلات المكالمات، جهات الاتصال). أنت المُتحكِّم في هذه البيانات." },
        ]},
        "باستخدامك للمنصة فإنك تقرّ بأنك قرأت هذه السياسة وفهمتها. إذا كنت تستخدم مسلاك بالنيابة عن جهة عملك، فأنت تؤكد أنك مخوّل بقبول هذه السياسة باسمها.",
      ]},
      { id: "data", title: "البيانات التي نجمعها", blocks: [
        "نقتصر على جمع البيانات اللازمة لتشغيل الخدمة وتحسينها، وفق مبدأ تقليل البيانات:",
        { list: [
          { b: "بيانات الحساب", t: "الاسم الكامل، اسم المنشأة، رقم السجل التجاري، الرقم الضريبي، البريد الإلكتروني، رقم الجوال، والمسمّى الوظيفي." },
          { b: "بيانات التحقق من الهوية", t: "نسخة من السجل التجاري والهوية الوطنية أو الإقامة، عند الحاجة لإجراءات اعرف عميلك (KYC) ومنع الاحتيال." },
          { b: "بيانات الفوترة", t: "تفاصيل الباقة، سجل المدفوعات، والفواتير. لا نخزّن بيانات البطاقات كاملةً؛ تتم معالجتها عبر مزوّد دفع معتمد." },
          { b: "بيانات الاتصالات", t: "أرقام المتصلين، أوقات ومدد المكالمات، تسجيلات المكالمات، نصوص المحادثات عبر واتساب، والمرفقات." },
          { b: "بيانات أداء الوكلاء", t: "أوقات الدخول والخروج، عدد المحادثات المُستلَمة، متوسط زمن الاستجابة، ومعدلات الإغلاق." },
          { b: "البيانات التقنية", t: "عنوان IP، نوع الجهاز والمتصفح، نظام التشغيل، وسجلات الأمن." },
        ]},
        "لا نجمع بيانات شخصية حساسة ما لم يكن ذلك مطلوباً بموجب النظام أو لازماً لتقديم الخدمات.",
      ]},
      { id: "use", title: "كيف نستخدم بياناتك", blocks: [
        "نستخدم البيانات للأغراض المشروعة التالية فقط:",
        { list: [
          "إنشاء وإدارة حسابك ومساحة العمل والمستخدمين الفرعيين بمختلف أدوارهم.",
          "تشغيل خدمات الاتصالات الموحّدة (واتساب، مكالمات) وتوزيع المحادثات على الوكلاء.",
          "تشغيل وكلاء الذكاء الاصطناعي وتلخيص المكالمات وتحويل الكلام إلى نصوص.",
          "إنشاء التقارير ولوحات أداء الوكلاء والمدراء.",
          "معالجة الاشتراكات والمدفوعات وإصدار الفواتير الممتثلة لمتطلبات هيئة الزكاة والضريبة والجمارك.",
          "تحسين جودة الخدمة، واكتشاف الأعطال، ومنع الاحتيال وإساءة الاستخدام.",
          "التواصل معك بشأن الخدمة والإشعارات التشغيلية والأمنية.",
        ]},
        "لا نبيع بياناتك الشخصية لأي طرف ثالث، ولا نستخدمها لأغراض تسويقية دون موافقتك الصريحة.",
      ]},
      { id: "basis", title: "الأساس النظامي للمعالجة", blocks: [
        "نعالج بياناتك استناداً إلى واحد أو أكثر من الأسس النظامية المنصوص عليها في نظام حماية البيانات الشخصية: تنفيذ العقد المبرم معك، أو الالتزام بمتطلبات نظامية، أو موافقتك الصريحة، أو المصلحة المشروعة في تشغيل المنصة وتأمينها بما لا يتعارض مع حقوقك.",
        "حين نعتمد على الموافقة، يحقّ لك سحبها في أي وقت دون أن يؤثر ذلك على مشروعية المعالجة السابقة لسحبها.",
      ]},
      { id: "recording", title: "تسجيل المكالمات والمعالجة بالذكاء الاصطناعي", blocks: [
        "قد تتضمّن الخدمة تسجيل المكالمات وتحويلها إلى نصوص وتحليلها آلياً لأغراض الجودة والتدريب والتقارير. يتحمّل العميل (المنشأة) مسؤولية إشعار المتصلين بأن المكالمة قد تُسجَّل، والحصول على الموافقات اللازمة وفق الأنظمة المعمول بها.",
        { callout: { label: "ملاحظة مهمة", text: "تُجرى المعالجة بالذكاء الاصطناعي بهدف مساعدة فِرق منشأتك، ولا تُستخدم تسجيلاتك أو محادثاتك لتدريب نماذج عامة خارج نطاق خدمتك." } },
        "يُقرّ العميل بأن مخرجات الذكاء الاصطناعي قد تتضمّن أخطاء، ويتحمّل وحده مسؤولية التحقق منها قبل الاعتماد عليها في اتخاذ القرارات.",
      ]},
      { id: "sharing", title: "مشاركة البيانات والإفصاح", blocks: [
        "قد نشارك البيانات في الحالات المحدودة التالية فقط:",
        { list: [
          { b: "مزوّدو الخدمة", t: "شركاء موثوقون يقدّمون خدمات تشغيلية أساسية، بموجب اتفاقيات معالجة بيانات ملزمة." },
          { b: "المتطلبات النظامية", t: "عند وجود أمر قضائي أو طلب رسمي من جهة مختصة وفق الأنظمة السعودية." },
          { b: "عمليات الاندماج", t: "في حال اندماج أو استحواذ، مع إخطارك المسبق واستمرار سريان هذه الحماية." },
        ]},
        { sub: "مزوّدو الخدمات الأساسيون" },
        { list: [
          { b: "مزوّد خدمات الاتصالات الهاتفية", t: "لتشغيل المكالمات والأرقام الموحّدة." },
          { b: "منصة واتساب للأعمال", t: "لتشغيل خدمات الرسائل عبر واتساب." },
          { b: "مزوّد الاستضافة السحابية", t: "لاستضافة المنصة وتخزين البيانات بشكل آمن." },
          { b: "بوابة الدفع الإلكتروني", t: "لمعالجة عمليات الدفع." },
        ]},
      ]},
      { id: "security", title: "أمن المعلومات", blocks: [
        "نطبّق ضوابط تقنية وتنظيمية لحماية بياناتك، تشمل:",
        { list: [
          "التشفير أثناء النقل (TLS/HTTPS) وأثناء التخزين.",
          "نظام أدوار متعدد المستويات (تقنية معلومات، مدير، وكيل) مع صلاحيات منفصلة وبيانات دخول مُولَّدة تلقائياً لكل مستخدم.",
          "ضبط الصلاحيات على مبدأ أقل امتياز.",
          "المراقبة المستمرة وأنظمة كشف التهديدات.",
          "المراجعات الأمنية الدورية والنسخ الاحتياطي.",
        ]},
        "ورغم اتخاذنا تدابير معقولة، لا يمكن ضمان أمان مطلق لأي نظام؛ وفي حال وقوع حادث يمسّ بياناتك، سنُخطر الجهات والأطراف المعنية ضمن المدد النظامية (72 ساعة لإخطار سدايا عند الاقتضاء).",
      ]},
      { id: "retention", title: "مدة الاحتفاظ بالبيانات", blocks: [
        "نحتفظ بالبيانات للمدة اللازمة لتحقيق الأغراض الموضّحة أعلاه أو للوفاء بالالتزامات النظامية والمحاسبية:",
        { list: [
          { b: "بيانات الحساب", t: "طوال فترة الاشتراك النشط + 90 يوماً بعد الإنهاء." },
          { b: "تسجيلات المكالمات ومحادثات واتساب", t: "وفقاً لإعدادات الاحتفاظ التي يحدّدها العميل، أو وفقاً للإعدادات الافتراضية للباقة." },
          { b: "سجلات الفوترة", t: "عشر سنوات وفقاً للأنظمة الضريبية السعودية." },
          { b: "السجلات الأمنية", t: "حتى اثني عشر شهراً." },
        ]},
        "بعد انتهاء هذه المدة، نقوم بحذف البيانات أو إخفاء هويتها بشكل آمن. يمكنك طلب تصدير بياناتك أو حذفها عند إنهاء الخدمة وفق الإجراءات الموضّحة في قسم حقوقك.",
      ]},
      { id: "transfer", title: "نقل البيانات عبر الحدود", blocks: [
        "تُخزَّن بياناتك ومعالجتها داخل المملكة العربية السعودية ما أمكن. وفي حال احتاج تشغيل الخدمة إلى نقل بيانات خارج المملكة — مثلاً عبر البنية العالمية لمزوّدي الخدمة — يتم ذلك وفق الضوابط والضمانات التي يفرضها نظام حماية البيانات الشخصية ولوائحه.",
      ]},
      { id: "rights", title: "حقوقك بموجب نظام حماية البيانات", blocks: [
        "يكفل لك النظام مجموعة من الحقوق تجاه بياناتك الشخصية:",
        { list: [
          { b: "حق العلم", t: "معرفة كيفية ومسوّغ جمع بياناتك." },
          { b: "حق الوصول", t: "الحصول على نسخة من بياناتك المحفوظة لدينا." },
          { b: "حق التصحيح", t: "تحديث أو تصحيح بياناتك غير الدقيقة." },
          { b: "حق الإتلاف", t: "طلب حذف بياناتك متى انتفت الحاجة إليها." },
          { b: "حق تقييد المعالجة", t: "إيقاف معالجة بياناتك في حالات معينة." },
          { b: "حق نقل البيانات", t: "الحصول على بياناتك بصيغة مقروءة آلياً ونقلها لمتحكّم آخر." },
          { b: "حق سحب الموافقة", t: "إيقاف معالجة قائمة على موافقتك في أي وقت." },
          { b: "حق الشكوى", t: "تقديم شكوى إلى الهيئة السعودية للبيانات والذكاء الاصطناعي (سدايا)." },
        ]},
        "لممارسة أي من هذه الحقوق، تواصل مع مسؤول حماية البيانات عبر القناة الموضّحة في نهاية هذه الصفحة. سنستجيب خلال المدة النظامية.",
      ]},
      { id: "enduser", title: "حقوق المستخدمين النهائيين", blocks: [
        "نظراً لأن مسلاك تعمل بصفتها مُعالِجاً للبيانات فيما يتعلق ببيانات عملاء العميل النهائيين:",
        { list: [
          "العميل (مالك مساحة العمل) هو المُتحكِّم في بيانات عملائه النهائيين، وهو المسؤول الأساسي عن الامتثال لنظام حماية البيانات تجاههم.",
          "يلتزم العميل بالحصول على الموافقات النظامية اللازمة قبل تسجيل المكالمات أو تخزين المحادثات، وبالرد على طلبات عملائه النهائيين المتعلقة بحقوقهم في البيانات.",
          "تلتزم مسلاك بتقديم الدعم الفني اللازم للعميل لتمكينه من الاستجابة لهذه الطلبات، بما في ذلك أدوات تصدير أو حذف بيانات محددة عند الطلب.",
        ]},
      ]},
      { id: "cookies", title: "ملفات تعريف الارتباط (Cookies)", blocks: [
        "نستخدم ملفات تعريف ارتباط ضرورية لتشغيل المنصة والحفاظ على جلستك، وأخرى تحليلية لفهم الأداء وتحسين التجربة. يمكنك التحكم في الملفات غير الضرورية من خلال إعدادات متصفحك أو لوحة التفضيلات داخل المنصة.",
      ]},
      { id: "minors", title: "حماية القاصرين", blocks: [
        "لا تجمع مسلاك أو تُعالج عمداً بيانات الأشخاص الذين تقل أعمارهم عن ثمانية عشرة (18) عاماً. وإذا اكتشفنا أن بيانات قاصر قد تم جمعها دون موافقة ولي الأمر، فسنقوم بحذفها فوراً.",
      ]},
      { id: "updates", title: "تحديثات هذه السياسة", blocks: [
        "قد نُحدّث هذه السياسة من وقت لآخر لتعكس تغييرات في خدماتنا أو الأنظمة المعمول بها. عند إجراء تغييرات جوهرية، سنُخطرك عبر البريد أو إشعار داخل المنصة قبل سريانها. يشير تاريخ «آخر تحديث» أعلى الصفحة إلى أحدث نسخة.",
      ]},
    ],
    contact: {
      heading: "تواصل مع مسؤول حماية البيانات",
      rows: [
        { k: "البريد الإلكتروني", v: "Contact@mislakcloud.com" },
        { k: "مسؤول حماية البيانات (DPO)", v: "Contact@mislakcloud.com" },
        { k: "الهاتف", v: "+966115001436" },
        { k: "العنوان", v: "الرياض، المملكة العربية السعودية" },
      ],
    },
  },

  terms: {
    id: "terms",
    route: "#/terms",
    eyebrow: "قانوني · الشروط",
    crumb: "الشروط والأحكام",
    title: <>الشروط والأحكام<br/>لاستخدام مسلاك.</>,
    updated: "1 يونيو 2026",
    version: "v3.1",
    intro: "تحكم هذه الشروط والأحكام علاقتك بمنصة «مسلاك» — المملوكة لـ شركة سحابة موجة للاتصالات وتقنية المعلومات (سجل تجاري رقم 7054378745) — وخدماتها. يُرجى قراءتها بعناية، فاستخدامك للخدمة أو الاشتراك فيها يعني موافقتك الكاملة عليها. إن لم توافق على أي بند منها، فالرجاء عدم استخدام المنصة.",
    sections: [
      { id: "accept", title: "قبول الشروط", blocks: [
        "بإنشائك حساباً أو استخدامك لأي من خدمات مسلاك، فإنك تبرم اتفاقية ملزمة قانوناً مع مسلاك. إذا كنت تتعاقد نيابةً عن منشأة، فأنت تقرّ بأنك مخوّل بإلزامها بهذه الشروط، وأن عمرك لا يقل عن ثمانية عشرة (18) عاماً.",
      ]},
      { id: "defs", title: "التعريفات", blocks: [
        { defs: [
          { t: "المنصة", d: "خدمات الاتصالات الذكية ولوحات التحكم وواجهات البرمجة التي تقدّمها مسلاك." },
          { t: "العميل", d: "المنشأة أو الشخص المشترك في الخدمة (مالك مساحة العمل)." },
          { t: "المستخدم النهائي", d: "أي شخص يتواصل مع العميل عبر المنصة." },
          { t: "مساحة العمل", d: "البيئة المخصصة للعميل والتي تضم المستخدمين الفرعيين بمختلف أدوارهم." },
          { t: "الأدوار", d: "تقنية المعلومات (IT)، المدير (Manager)، الوكيل (Agent) — مستويات الصلاحيات داخل مساحة العمل." },
          { t: "المحتوى", d: "البيانات والرسائل والتسجيلات المتبادلة عبر الخدمة." },
        ]},
      ]},
      { id: "scope", title: "نطاق الخدمة", blocks: [
        "توفّر مسلاك منصة موحّدة لإدارة اتصالات خدمة العملاء عبر قنوات متعددة، تشمل:",
        { list: [
          "صندوق وارد موحّد لمحادثات واتساب والمكالمات الهاتفية.",
          "نظام أدوار متعدد المستويات مع توليد بيانات الدخول تلقائياً.",
          "توزيع المحادثات والمكالمات على الوكلاء وسير عمل الإدارة (استلام، تحرير، إغلاق).",
          "تسجيل المكالمات وأرشفتها، ولوحات أداء الوكلاء والفِرَق.",
          "واجهة برمجة تطبيقات واتساب للأعمال.",
          "مميزات الذكاء الاصطناعي عند توفرها (تلخيص، تحويل كلام إلى نص).",
        ]},
        "قد نضيف ميزات جديدة أو نعدّل أو نوقف بعضها مع إشعار معقول لا يقلّ عن 30 يوماً، بما لا يخلّ جوهرياً بالخدمة المتعاقد عليها خلال مدة اشتراكك.",
        "لا تُقدّم مسلاك حالياً خدمات تتطلب ترخيص هيئة الاتصالات والفضاء والتقنية (CST) كمقدّم مراكز اتصال مستقل، وإنما تُوفّر منصة تقنية يستخدمها العميل لإدارة اتصالاته عبر مزوّدي الاتصالات المرخّصين.",
      ]},
      { id: "account", title: "الحساب والتسجيل", blocks: [
        "تلتزم بتقديم بيانات صحيحة ومحدّثة عند التسجيل، وبالحفاظ على سرية بيانات الدخول، بما في ذلك بيانات الدخول المُولَّدة تلقائياً للمستخدمين الفرعيين. أنت مسؤول عن جميع الأنشطة التي تتم عبر حسابك أو مساحة عملك، وعليك إخطارنا فوراً بأي استخدام غير مصرّح به.",
        "يحقّ لنا في أي وقت طلب مستندات للتحقق من هويتك (سجل تجاري، هوية وطنية)، وتعليق الحساب في حال عدم تقديمها أو في حال تقديم معلومات غير صحيحة.",
      ]},
      { id: "roles", title: "مسؤولية مالك مساحة العمل", blocks: [
        "بصفتك مالك مساحة العمل (صاحب دور تقنية المعلومات)، فأنت المسؤول الكامل والمباشر عن جميع تصرفات وأنشطة المستخدمين الفرعيين الذين تدعوهم — مدراء ووكلاء. تشمل مسؤوليتك:",
        { list: [
          "ضمان التزام جميع المستخدمين الفرعيين بهذه الشروط.",
          "التحقق من هوية المستخدمين الفرعيين وصلاحيتهم النظامية للعمل في النشاط.",
          "حفظ سرية بيانات الدخول التي تُولِّدها المنصة لكل مستخدم فرعي.",
          "إلغاء صلاحيات أي مستخدم فرعي فور انتهاء علاقته الوظيفية بك.",
          "مراقبة استخدام المستخدمين الفرعيين للمنصة ومنعهم من أي استخدام مخالف.",
        ]},
        "لا تتحمّل مسلاك أي مسؤولية عن تصرفات المستخدمين الفرعيين، ويُعتبر العميل (المالك) مسؤولاً مسؤولية تضامنية وكاملة عن جميع تلك التصرفات.",
      ]},
      { id: "billing", title: "الاشتراكات والأسعار والدفع", blocks: [
        { list: [
          "تُسدَّد رسوم الاشتراك مقدماً وفق الباقة المختارة ودورة الفوترة المتفق عليها بالريال السعودي.",
          "تُجدَّد الاشتراكات تلقائياً ما لم تُلغِ التجديد قبل بداية الدورة التالية.",
          "الرسوم غير قابلة للاسترداد عن المدد المنقضية ما لم ينص النظام على خلاف ذلك.",
          "قد نراجع الأسعار مع إشعارك قبل سريان أي تعديل بمدة لا تقل عن 30 يوماً.",
          "بعض الخدمات تخضع للدفع حسب الاستخدام (دقائق المكالمات، محادثات واتساب، رسائل القوالب).",
          "في حال التأخر عن السداد، يحقّ لمسلاك تعليق الخدمات حتى استكمال السداد.",
        ]},
        "تُضاف ضريبة القيمة المضافة وأي رسوم نظامية أخرى حسب الأنظمة المعمول بها في المملكة.",
      ]},
      { id: "aup", title: "سياسة الاستخدام المقبول", blocks: [
        "توافق على عدم استخدام المنصة في أيٍّ مما يلي:",
        { list: [
          "إرسال رسائل مزعجة أو احتيالية أو غير مرغوب فيها (Spam) عبر أي قناة.",
          "إجراء مكالمات تسويقية غير مرغوب فيها أو تهديدية أو مسيئة.",
          "انتحال الهوية أو التحايل أو الإضرار بأنظمة مسلاك أو الغير.",
          "مخالفة الأنظمة السعودية، أو بثّ محتوى غير قانوني أو مخالف للنظام العام أو الآداب.",
          "محاولة الوصول غير المصرّح به، أو الهندسة العكسية، أو إساءة استخدام واجهات البرمجة.",
          "إعادة بيع أو تأجير أو ترخيص الخدمة لأطراف ثالثة دون تصريح خطي مسبق.",
          "استخدام الخدمة من خارج حدود المملكة العربية السعودية دون موافقة مسبقة.",
        ]},
      ]},
      { id: "compliance", title: "الامتثال التنظيمي", blocks: [
        "تلتزم بالامتثال لأنظمة هيئة الاتصالات والفضاء والتقنية (CST)، ولوائح مكافحة الرسائل والاتصالات غير المرغوب فيها، ونظام حماية البيانات الشخصية (PDPL)، والحصول على موافقات المستخدمين النهائيين حيثما يلزم. يتحمّل العميل مسؤولية المحتوى الذي يبثّه عبر المنصة وامتثاله للأنظمة، وأي غرامات ناشئة عن مخالفته.",
      ]},
      { id: "whatsapp", title: "خدمات واتساب للأعمال", blocks: [
        "تُتيح مسلاك للعميل استخدام واجهة واتساب للأعمال من خلال التكامل مع منصّة ميتا. يلتزم العميل بـ:",
        { list: [
          "سياسة المراسلة التجارية لواتساب.",
          "سياسة الاستخدام المقبول لواتساب.",
          "الحصول على موافقة العميل النهائي المسبقة قبل إرسال أي رسائل.",
          "الحصول على اعتماد قوالب الرسائل من ميتا قبل استخدامها.",
        ]},
        { callout: { label: "تنبيه", text: "تحتفظ شركة ميتا بحقها المطلق في تعليق أو إيقاف حساب واتساب الخاص بالعميل في أي وقت وفقاً لتقديرها، ولا تتحمّل مسلاك أي مسؤولية عن مثل هذه القرارات أو الأضرار الناجمة عنها." } },
        "تُحتسب رسوم محادثات واتساب وفقاً لتسعيرة شركة ميتا المعلنة، والتي قد تتغير من حين لآخر.",
      ]},
      { id: "ai", title: "مميزات الذكاء الاصطناعي", blocks: [
        "قد تُوفر مسلاك مميزات تعتمد على تقنيات الذكاء الاصطناعي، تشمل تلخيص المكالمات، وتحويل الكلام إلى نص، وتحليل المحادثات، وتحليل مشاعر العملاء.",
        "يُقرّ العميل بأن مخرجات الذكاء الاصطناعي قد تتضمّن أخطاء أو عدم دقة، وأنه يتحمّل وحده مسؤولية التحقق منها قبل الاعتماد عليها في اتخاذ القرارات.",
        "تلتزم مسلاك بمعالجة هذه البيانات وفقاً لسياسة الخصوصية، ولا تستخدم بيانات العميل لتدريب نماذج الذكاء الاصطناعي العامة دون موافقة صريحة منه.",
      ]},
      { id: "numbers", title: "الأرقام الهاتفية", blocks: [
        "تخضع الأرقام الهاتفية المقدمة عبر مسلاك لأنظمة هيئة الاتصالات والفضاء والتقنية (CST) ولأنظمة الدول التي تصدر منها الأرقام.",
        "تبقى الأرقام ملكاً لمزوّد الخدمة أو الجهة التنظيمية المختصة، ويُمنح العميل حق استخدامها طوال فترة اشتراكه النشط فقط.",
        "في حال إنهاء الاشتراك أو إلغاء الحساب وعدم تجديده خلال أربعة عشر (14) يوماً، يحقّ لمسلاك سحب الأرقام وإعادة استخدامها دون إشعار.",
        "يتعهد العميل بتحمّل كامل المسؤولية عن جميع الاستعمالات للأرقام، وبتعويض مسلاك عن أي أضرار أو دعاوى تنشأ عن سوء استعمالها.",
      ]},
      { id: "ip", title: "الملكية الفكرية", blocks: [
        "تظل جميع حقوق الملكية الفكرية في المنصة وبرمجياتها وعلاماتها التجارية وخوارزمياتها مملوكةً لـ شركة سحابة موجة للاتصالات وتقنية المعلومات. نمنحك ترخيصاً محدوداً وغير حصري وغير قابل للتحويل لاستخدام الخدمة طوال مدة اشتراكك.",
        "يبقى المحتوى الذي ترفعه أو تنتجه عبر المنصة مملوكاً لك، وتمنح مسلاك ترخيصاً محدوداً لمعالجته واستضافته بالقدر اللازم لتقديم الخدمات.",
        "يحقّ لمسلاك استخدام البيانات المُجَهَّلة (Anonymized) والإحصاءات المُجمَّعة لأغراض تحسين الخدمات، بشرط ألا تتضمّن أي معلومات تُمكِّن من تحديد الهوية.",
      ]},
      { id: "sla", title: "مستوى الخدمة والتوافر", blocks: [
        "نسعى لتوفير الخدمة بنسبة جاهزية لا تقل عن 99% شهرياً، باستثناء فترات الصيانة المجدولة والظروف الخارجة عن إرادتنا. قد تتطلّب أعمال الصيانة المجدولة إيقافاً مؤقتاً يُخطَر به مسبقاً قدر الإمكان.",
        "لا تشمل التزامات التوافر الأعطال الناتجة عن عوامل خارجة عن سيطرتنا المعقولة، بما في ذلك أعطال مزوّدي الخدمة أو شركات الاتصالات أو انقطاع الإنترنت لدى العميل.",
      ]},
      { id: "warranty", title: "إخلاء الضمانات", blocks: [
        "تُقدَّم الخدمة «كما هي» و«حسب توافرها». وباستثناء ما تنص عليه الأنظمة الإلزامية، لا نقدّم ضمانات صريحة أو ضمنية بأن الخدمة ستكون خاليةً تماماً من الانقطاع أو الأخطاء، أو ملائمةً لغرض معيّن لم يُتفق عليه كتابةً.",
      ]},
      { id: "liability", title: "حدود المسؤولية", blocks: [
        "في حدود ما تسمح به الأنظمة، لا تتحمّل مسلاك المسؤولية عن أي أضرار غير مباشرة أو تبعية أو فقدان أرباح أو بيانات أو فرص عمل أو سمعة تجارية.",
        "وفي جميع الأحوال، لا تتجاوز مسؤولية مسلاك الإجمالية تجاه العميل قيمة الرسوم التي دفعها فعلياً خلال الاثني عشر (12) شهراً السابقة للحدث موضوع المطالبة.",
        "لا تتحمّل مسلاك المسؤولية عن أي تصرفات أو إخلالات صادرة من مزوّدي الأطراف الثالثة (شركات الاتصالات ومنصات المراسلة)، ولا عن قرارات تعليق أو إيقاف حسابات العميل لديهم.",
      ]},
      { id: "indemnity", title: "التعويض", blocks: [
        "توافق على تعويض مسلاك ومسؤوليها وموظفيها والدفاع عنهم ضد أي مطالبات أو أضرار أو تكاليف (بما في ذلك أتعاب المحاماة) تنشأ عن مخالفتك لهذه الشروط، أو إساءة استخدامك للخدمة، أو انتهاكك لحقوق الغير أو الأنظمة المعمول بها.",
      ]},
      { id: "termination", title: "التعليق والإنهاء", blocks: [
        "يحقّ لك إنهاء اشتراكك في أي وقت عبر لوحة التحكم، مع سداد جميع المستحقات القائمة. الرسوم المدفوعة عن الفترة المتبقية غير مستردّة.",
        "يحقّ لمسلاك تعليق أو إنهاء الخدمة فوراً في حالات مخالفة جوهرية لهذه الشروط، أو عدم سداد المستحقات، أو وجود مخاطر أمنية أو نظامية، أو ارتكاب أنشطة احتيالية، أو الإساءة لموظفي مسلاك، أو صدور قرار من ميتا أو أي مزوّد طرف ثالث بإيقاف خدمات العميل.",
        "عند الإنهاء، يحقّ للعميل طلب تصدير بياناته خلال 30 يوماً. تحتفظ مسلاك بالبيانات لمدة لا تتجاوز 90 يوماً لأغراض النسخ الاحتياطي والامتثال القانوني، وبعدها يحقّ لها حذفها نهائياً.",
      ]},
      { id: "force", title: "القوة القاهرة", blocks: [
        "لا تتحمّل مسلاك المسؤولية عن أي تأخر أو إخفاق في تنفيذ التزاماتها إذا كان ناتجاً عن ظروف خارجة عن إرادتها المعقولة، بما في ذلك الكوارث الطبيعية، الأوبئة، الحروب، الإضرابات، انقطاع خدمات الاتصالات أو الإنترنت، القرارات الحكومية، وأعطال مزوّدي الأطراف الثالثة. في حال استمرار هذه الظروف لأكثر من 90 يوماً متواصلاً، يحقّ لأي طرف إنهاء الاتفاقية.",
      ]},
      { id: "law", title: "القانون الواجب التطبيق وتسوية النزاعات", blocks: [
        "تخضع هذه الشروط وتُفسَّر وفق أنظمة المملكة العربية السعودية. وفي حال نشوء أي نزاع، يُسعى لتسويته ودياً خلال 30 يوماً من تاريخ الإخطار الكتابي، وإلا فيكون الاختصاص للجهات القضائية المختصة في مدينة الرياض.",
      ]},
      { id: "general", title: "أحكام عامة", blocks: [
        "تمثّل هذه الشروط، مع سياسة الخصوصية وأي اتفاقيات ملحقة، الاتفاق الكامل بينك وبين مسلاك. إذا تبيّن بطلان أي بند، تبقى بقية البنود سارية. ولا يُعدّ تهاوننا في ممارسة أي حق تنازلاً عنه.",
        "في حال ترجمة هذه الشروط إلى أي لغة أخرى، يظل النص العربي هو النص المعتمد والمرجعي عند وجود أي تعارض.",
      ]},
      { id: "changes", title: "تعديل الشروط", blocks: [
        "قد نُحدّث هذه الشروط من وقت لآخر. عند التغييرات الجوهرية سنُخطرك عبر البريد أو إشعار داخل المنصة قبل سريانها بمدة معقولة، ويُعدّ استمرارك في استخدام الخدمة بعد ذلك موافقةً على النسخة المعدّلة.",
      ]},
    ],
    contact: {
      heading: "استفسارات قانونية أو تعاقدية",
      rows: [
        { k: "البريد الإلكتروني", v: "Contact@mislakcloud.com" },
        { k: "المبيعات والعقود", v: "+966115001436" },
        { k: "العنوان", v: "الرياض، المملكة العربية السعودية" },
      ],
    },
  },

  deletion: {
    id: "deletion",
    route: "#/deletion",
    eyebrow: "الدعم · حذف البيانات",
    crumb: "حذف البيانات الشخصية",
    title: <>حذف البيانات<br/>الشخصية.</>,
    updated: "1 يونيو 2026",
    version: "v1.0",
    intro: "توضّح هذه الصفحة كيف يمكنك طلب حذف بياناتك الشخصية من منصة «مسلاك» — المملوكة لـ شركة سحابة موجة للاتصالات وتقنية المعلومات (سجل تجاري رقم 7054378745) — والخطوات التي نتّبعها لمعالجة طلبك، وذلك انسجاماً مع نظام حماية البيانات الشخصية في المملكة العربية السعودية ولوائحه التنفيذية الصادرة عن الهيئة السعودية للبيانات والذكاء الاصطناعي (سدايا)، ومع متطلبات منصّات الطرف الثالث مثل منصّة واتساب للأعمال.",
    sections: [
      { id: "scope", title: "نطاق هذه الصفحة", blocks: [
        "تعمل مسلاك بصفتين مختلفتين فيما يتعلق بالبيانات، ويختلف مسار طلب الحذف تبعاً لذلك:",
        { list: [
          { b: "بيانات الحساب", t: "حين تكون صاحب حساب أو مستخدماً مسجّلاً في المنصة (الاسم، البريد، الجوال، بيانات الدخول، سجلات الاستخدام)، تكون مسلاك هي المُتحكِّم، ويمكنك طلب الحذف منّا مباشرة." },
          { b: "بيانات المستخدمين النهائيين", t: "حين تكون شخصاً تواصل مع منشأة تستخدم مسلاك (محادثة واتساب، مكالمة)، فإن تلك المنشأة هي المُتحكِّم في بياناتك، وتكون مسلاك مُعالِجاً نيابةً عنها." },
        ]},
        "اختر المسار المناسب لحالتك من القسمين التاليين.",
      ]},
      { id: "account", title: "حذف بيانات الحساب (أصحاب الحسابات)", blocks: [
        "لطلب حذف حسابك وبياناتك المرتبطة به، اتّبع أياً من الطريقتين:",
        { list: [
          { b: "من داخل المنصة", t: "سجّل الدخول، ثم انتقل إلى الإعدادات ← الحساب ← حذف الحساب، واتبع خطوات التأكيد." },
          { b: "عبر البريد الإلكتروني", t: "أرسل رسالة من بريدك المسجّل إلى Contact@mislakcloud.com بعنوان «طلب حذف بيانات»، مع ذكر اسم الحساب أو المنشأة." },
        ]},
        { callout: { label: "مهم", text: "لحماية حسابك، نقبل طلبات الحذف فقط من البريد الإلكتروني المسجّل في الحساب، أو من داخل جلسة مُوثّقة على المنصة." } },
        "عند اكتمال الطلب، نحذف بياناتك الشخصية وبيانات مساحة عملك ومحتواها (المحادثات والتسجيلات وجهات الاتصال) ما لم يوجد التزام نظامي يقتضي الاحتفاظ ببعضها كما هو موضّح أدناه.",
      ]},
      { id: "enduser", title: "حذف بيانات المستخدمين النهائيين", blocks: [
        "إذا تواصلت مع منشأة تستخدم مسلاك وترغب في حذف بياناتك (مثل محادثة واتساب أو تسجيل مكالمة):",
        { list: [
          "المنشأة التي تواصلت معها هي الجهة المسؤولة عن بياناتك، ويُفضَّل توجيه طلبك إليها مباشرة.",
          "يمكنك أيضاً مراسلتنا على Contact@mislakcloud.com، وسنقوم بإحالة طلبك إلى المنشأة المعنية ودعمها فنياً لتنفيذ الحذف.",
          "سنطلب بعض المعلومات للتحقق من هويتك وتحديد بياناتك بدقة قبل تنفيذ أي إجراء.",
        ]},
      ]},
      { id: "process", title: "كيف نعالج طلبك", blocks: [
        "بعد استلام طلبك نتّبع الخطوات التالية:",
        { list: [
          { b: "التحقق من الهوية", t: "نتأكد من أنك صاحب البيانات أو مخوّل بطلب حذفها." },
          { b: "تحديد البيانات", t: "نحدّد البيانات المشمولة بالطلب عبر أنظمتنا ولدى مزوّدي الخدمة الأساسيين." },
          { b: "التنفيذ", t: "نحذف البيانات أو نُخفي هويتها بشكل آمن خلال مدة لا تتجاوز ثلاثين (30) يوماً، وقد تُمدّد في الحالات المعقّدة وفق ما يجيزه النظام مع إشعارك." },
          { b: "التأكيد", t: "نُرسل إليك تأكيداً كتابياً عند اكتمال الحذف." },
        ]},
      ]},
      { id: "retention", title: "استثناءات الاحتفاظ النظامي", blocks: [
        "قد نحتفظ ببعض البيانات بعد طلب الحذف عند وجود التزام نظامي أو حاجة مشروعة، ومنها:",
        { list: [
          { b: "سجلات الفوترة", t: "تُحفظ عشر سنوات وفقاً للأنظمة الضريبية ومتطلبات هيئة الزكاة والضريبة والجمارك." },
          { b: "السجلات الأمنية", t: "تُحفظ حتى اثني عشر شهراً لأغراض الأمن ومنع الاحتيال." },
          { b: "البيانات محل نزاع قانوني", t: "تُحفظ حتى انتهاء الإجراءات النظامية المتعلقة بها." },
        ]},
        "نقتصر في هذه الحالات على الحد الأدنى اللازم من البيانات، ونُخفي هويتها حيثما أمكن، ونحذفها فور انتفاء المسوّغ النظامي.",
      ]},
      { id: "providers", title: "البيانات لدى مزوّدي الخدمة", blocks: [
        "عند تنفيذ طلب الحذف، نتعامل أيضاً مع البيانات المرتبطة لدى مزوّدي الخدمة الأساسيين الذين نعتمد عليهم لتشغيل الخدمة، مثل مزوّدي خدمات الاتصالات ومنصات المراسلة ومزوّد الاستضافة السحابية، وفقاً لاتفاقيات معالجة البيانات المبرمة معهم.",
      ]},
      { id: "contact", title: "التواصل بشأن طلبات الحذف", blocks: [
        "لأي استفسار حول حذف بياناتك أو لمتابعة طلب قائم، تواصل معنا عبر القنوات التالية:",
        { list: [
          { b: "البريد الإلكتروني", t: "Contact@mislakcloud.com" },
          { b: "مسؤول حماية البيانات (DPO)", t: "Contact@mislakcloud.com" },
          { b: "الهاتف", t: "+966115001436" },
          { b: "العنوان", t: "الرياض، المملكة العربية السعودية" },
        ]},
      ]},
    ],
  },
};

/* ----------------------------- RENDERERS ----------------------------- */
function LegalBlock({ block }) {
  if (typeof block === "string") return <p>{block}</p>;
  if (block.sub) return <div className="sub-h">{block.sub}</div>;
  if (block.list) return (
    <ul className="legal-list">
      {block.list.map((it, i) => (
        <li key={i}>
          {typeof it === "string" ? it : <><strong>{it.b}:</strong> {it.t}</>}
        </li>
      ))}
    </ul>
  );
  if (block.defs) return (
    <dl className="legal-defs">
      {block.defs.map((d, i) => (
        <div key={i} className="legal-def">
          <dt>{d.t}</dt>
          <dd>{d.d}</dd>
        </div>
      ))}
    </dl>
  );
  if (block.callout) return (
    <div className="legal-callout">
      <span className="mono">{block.callout.label}</span>
      {block.callout.text}
    </div>
  );
  return null;
}

function useScrollSpy(ids) {
  const [active, setActive] = useLS(ids[0]);
  useLE(() => {
    const obs = new IntersectionObserver(
      (entries) => {
        const visible = entries
          .filter((e) => e.isIntersecting)
          .sort((a, b) => a.boundingClientRect.top - b.boundingClientRect.top);
        if (visible[0]) setActive(visible[0].target.id);
      },
      { rootMargin: "-88px 0px -65% 0px", threshold: 0 }
    );
    ids.forEach((id) => {
      const el = document.getElementById(id);
      if (el) obs.observe(el);
    });
    return () => obs.disconnect();
  }, [ids.join(",")]);
  return active;
}

function LegalPage({ docId }) {
  window.useLang();
  const doc = window.getLegal()[docId];
  if (!doc) return <NotFound/>;
  const ids = doc.sections.map((s) => s.id);
  const active = useScrollSpy(ids);

  return (
    <React.Fragment>
      <section className="page-hero">
        <div className="container">
          <div className="crumbs">
            <a href="#/">{window.L("الرئيسية", "Home")}</a>
            <span className="crumb-sep">{window.ARR()}</span>
            <span>{doc.crumb}</span>
          </div>
          <h1 className="page-h1">{doc.title}</h1>

          <div className="legal-meta">
            <span className="legal-meta-item">{window.L("آخر تحديث:", "Last updated:")} <span className="mono">{doc.updated}</span></span>
            <span className="legal-meta-dot"></span>
            <span className="legal-meta-item">{window.L("الإصدار", "Version")} <span className="mono">{doc.version}</span></span>
            <span className="legal-meta-dot"></span>
            <span className="legal-meta-item">{doc.sections.length} {window.L("أقسام", "sections")}</span>
          </div>
        </div>
      </section>

      <section style={{paddingTop: 16, paddingBottom: 96}}>
        <div className="container">
          <div className="legal-board">
            <aside className="legal-toc">
              <div className="legal-toc-label">{window.L("المحتويات", "Contents")}</div>
              <ol>
                {doc.sections.map((s) => (
                  <li key={s.id}>
                    <a href={`#${doc.route.slice(1)}`} className={active === s.id ? "active" : ""}
                       onClick={(e) => {
                         e.preventDefault();
                         const el = document.getElementById(s.id);
                         if (el) window.scrollTo({ top: el.getBoundingClientRect().top + window.pageYOffset - 84, behavior: "smooth" });
                       }}>
                      {s.title}
                    </a>
                  </li>
                ))}
              </ol>
            </aside>

            <div className="legal-doc">
              <p className="legal-intro">{doc.intro}</p>
              {doc.sections.map((s, i) => (
                <div key={s.id} id={s.id} className="legal-section">
                  <div className="legal-section-h">
                    <span className="mono">{String(i + 1).padStart(2, "0")}</span>
                    <h2>{s.title}</h2>
                  </div>
                  {s.blocks.map((b, j) => <LegalBlock key={j} block={b}/>)}
                </div>
              ))}
            </div>
          </div>
        </div>
      </section>
    </React.Fragment>
  );
}

function PrivacyPage() { return <LegalPage docId="privacy"/>; }
function TermsPage() { return <LegalPage docId="terms"/>; }
function DeletionPage() { return <LegalPage docId="deletion"/>; }

Object.assign(window, { LegalPage, PrivacyPage, TermsPage, DeletionPage });