مما يتكون اجتماع InterMIND واحد
تتكون почти كل منتج من نفس الحزمة الافتراضية — الإعدادات الافتراضية الضخمة لـ SaaS الاحتكارية التي يلجأ إليها الجميع. إنها الطريق الأسهل. في كل طبقة توجد فيها بيانات اجتماعك بالفعل، اخترنا مساراً مختلفاً: تعليماتنا البرمجية الخاصة، أو برمجيات مفتوحة المصدر يمكننا استضافتها بأنفسنا.
هذا هو المرجع المرفق لـ أين يعمل اجتماع InterMIND واحد بالفعل، الذي رسم خريطة الجغرافيا — أين يتم تنفيذ كل خدمة وما هي البيانات التي تمر عبرها. تجيب هذه المشاركة على ما يطرحه فريق الأمان بعد ذلك: مما يتكون هذا الشيء — وهل يمكننا قراءته وتدقيقه واستبداله؟
ليس مكان تشغيله — بل مما هو مصنوع، طبقة تلو الأخرى.
الإعدادات الافتراضية، وما تكلفتها
كل منتج هو حزمة من الخيارات. بالنسبة لمعظم المنتجات، يتم اتخاذ معظم هذه الخيارات بشكل افتراضي: Google Analytics، وFirebase، وGoogle Translate API، وAuth0، وReact. إنها الطريق الأسهل، وبالنسبة لمعظم الفرق فهذا خيار معقول. المقايضة هي أن كل واحد منها يضع جزءاً من حزمتك خلف مورد لا يمكنك قراءته، ولا يمكنك تدقيقه، ولا يمكنك مغادرته دون إعادة كتابة التعليمات البرمجية.
لقد اتخذنا خياراً مختلفاً في كل طبقة توجد فيها بيانات اجتماعك بالفعل: تعليماتنا البرمجية الخاصة، أو برمجيات مفتوحة المصدر يمكننا استضافتها بأنفسنا. عندما لا تلامس طبقة ما محتوى اجتماعك، نحن نبقى عمليين ونذكر ذلك صراحة. إليك الصورة كاملة.
العمود الفقري: المحرك هو تعليماتنا البرمجية، وليس تعليمات طرف ثالث
ابدأ بالطبقة الأكثر أهمية، لأن معظم اجتماعك يتدفق عبرها. يعمل النقل في الوقت الفعلي وترجمة الصوت/الدردشة كلاهما على mind-sdk + Mind API — محركنا الخاص، على OVH France. الطريقة الافتراضية لبناء اجتماع مترجم هي ربط SaaS في الوقت الفعلي (LiveKit) بواجهة برمجة تطبيقات للترجمة (DeepL، Google)؛ نحن لا نشغل أيًا منهما في المسار المباشر. لا يوجد نموذج ترجمة لطرف ثالث في الحلقة. (نحن بالفعل نستخدم DeepL — ولكن فقط للمستندات التي يتم إسقاطها في الدردشة، وليس مسار الصوت/الدردشة المباشر؛ انظر خريطة وقت التشغيل. لقد غطينا آليات خط المعالجة في داخل خطوط معالجة الترجمة الأربعة.)
إليك الجزء غير الموجود في خريطة وقت التشغيل: حزمة SDK التي يعمل عليها اجتماعك هي مفتوحة المصدر بموجب ترخيص BSD 3-Clause — عميل mind-sdk متاح للعامة على gitlab.com/mindlabs/api/sdk، حقوق النشر MindMeeting OÜ، كياننا الإستوني للملكية الفكرية. تتحدث مع Mind API على api.mind.com، والتي نشغلها بأنفسنا على OVH France.
هذا ليس ترتيبًا للكود المتاح حيث "انظر، ولكن لا تلمس". ترخيص BSD 3-Clause هو ترخيص متساهل ومعتمد من OSI. يمكن لفريق الأمان الخاص بك استنساخ حزمة SDK، وقراءة كيفية التقاط صوتك ونصك وتأطيرها وبثها بالضبط، وتدقيق ذلك التكامل مقابل متطلباتك الخاصة. المحرك من جانب الخادم الذي يتحدث معه هو ملكنا — وليس صندوقاً أسود لطرف ثالث — والمحرك القابل للاستضافة الذاتية بالكامل للمستأجر الذي يحتاجه موجود على خارطة طريقنا، وليس شيئًا نقدمه اليوم. سنقوم بتحديث هذه المشاركة بمجرد إطلاقه.
طبقة تلو الأخرى: الإعداد الافتراضي مقابل ما نشغله
| الطبقة | الإعداد الافتراضي المعتاد | ما نشغله | لماذا يهمك |
|---|---|---|---|
| الوقت الفعلي + محرك الترجمة (الصوت + الدردشة) | LiveKit + واجهة برمجة تطبيقات للترجمة (DeepL / Google) | mind-sdk (عميل BSD-3-Clause) + Mind API الخاصة بنا، OVH France | أثقل تدفق للبيانات هو محركنا الخاص، وليس نموذجًا لطرف ثالث — وحزمة SDK الخاصة بعميله مفتوحة وقابلة للتدقيق |
| إطار عمل الواجهة الأمامية | React (Meta) / Next.js | Vue + Nuxt | برمجيات مفتوحة المصدر يحكمها مجتمع — لا تمتلك شركة واحدة الإطار الذي تعتمد عليه واجهة المستخدم الخاصة بك |
| تحليلات المنتج | Google Analytics | PostHog | مفتوح المصدر، سحابة داخل الاتحاد الأوروبي، يتم توكيلها كطرف أول عبر نطاقنا الخاص — لا تتدفق بيانات الاستخدام إلى منصة إعلانات لطرف ثالث |
| الخطوط | شبكة توصيل المحتوى (CDN) لخطوط Google | مستضافة ذاتيًا (@nuxt/fonts) | لا يوجد اتصال بخطوط من طرف ثالث من الصفحة التي يحملها مستخدموك — وهو نتاج متكرر لعمليات تدقيق GDPR، تم تجنبه |
| المصادقة | Auth0 / Clerk / Firebase Auth | OIDC تشغيل ذاتي، موحد مع Google / Microsoft الخاص بك | لا يمتلك أي وسيط مصادقة جلساتك — أنت تحضر مزود الهوية الخاص بك |
| ترجمة المستندات | Google Translate | DeepL (Cologne) | مورد متخصص داخل الاتحاد الأوروبي، معالجة ألمانية |
| المحتوى / المستندات | Contentful / Sanity (نظام إدارة محتوى مقطوع الرأس) | Nuxt Content (تتبع Markdown عبر git) | الكلمات على موقعنا تعيش في مستودعنا، وليس في قاعدة بيانات أحد الموردين |
| قاعدة بيانات التطبيق | Firestore / DynamoDB (احتكارية) | Postgres (على Neon) | معيار مفتوح — قابل للنقل إلى أي مستضيف Postgres، لا توجد واجهة برمجة تطبيقات استعلام احتكارية لإعادة كتابتها |
| تخزين الكائنات | واجهات برمجة تطبيقات الكائنات الاحتكارية | Tigris (متوافق مع S3) | بروتوكول مفتوح — التسجيلات والتصديرات قابلة للنقل إلى أي مخزن S3 |
| إدارة علاقات العملاء / المبيعات | Salesforce / HubSpot | Pipedrive (إستونية) | سجلات العملاء والصفقات تقع في نظام CRM مقره داخل الاتحاد الأوروبي، وليس منصة مبيعات أمريكية |
يوجد خيطان رئيسيان في هذا الجدول. مفتوح المصدر حيث تعالج الأداة بياناتك — بحيث يمكن تدقيقها، ومن حيث المبدأ استضافتها ذاتيًا. معايير مفتوحة (Postgres، واجهة برمجة تطبيقات S3، OIDC) حيث نعتمد على البنية التحتية — بحيث لا شيء مقفل بتسعير مورد واحد أو موقف الامتثال الخاص به. يمكن نقل Postgres إلى أي مستضيف Postgres؛ يمكن نقل التخزين إلى أي مخزن S3؛ تتحد المصادقة مع مزود الهوية الذي تشغله بالفعل. تقع الصف الأخير على محور ثالث: نظام إدارة علاقات العملاء (CRM) الذي يحتفظ بسجلات العملاء مقره في الاتحاد الأوروبي (Pipedrive، إستوني) بدلاً من منصة مبيعات أمريكية — ليس مفتوح المصدر، ولكنه ليس أيضاً تحت الولاية القضائية الأمريكية.
بعض هذه الأمور يستحق جملة إضافية. PostHog مفتوح المصدر وقابل للاستضافة الذاتية؛ نقوم بتشغيله على سحابة PostHog داخل الاتحاد الأوروبي ونقوم بتوكيله كطرف أول عبر أصلنا الخاص (origin)، بحيث لا يتم إسقاط الأحداث بصمت بواسطة أدوات حظر الإعلانات و لا تمر عبر نطاق تحليلات لطرف ثالث. لا تذهب المصادقة أبداً إلى خدمة مصادقة SaaS لطرف ثالث قد تقع بينك وبين جلساتك — نحن نشغل تدفق OIDC بأنفسنا ونتحدد مع هوية Google أو Microsoft الحالية الخاصة بك. والخطوط في كل صفحة يتم تقديمها من نطاقنا الخاص؛ المكان الوحيد الذي تظهر فيه خطوط Google في قاعدة التعليمات البرمجية الخاصة بنا هو نص غير متصل بأصول العلامة التجارية، وليس التطبيق الذي يحمله مستخدموك أبداً.
حيث نكون عمليين — بشكل صريح
نحن لا ندعي أن الحزمة بأكملها مكتوبة يدويًا أو غير أمريكية. إنها ليست كذلك، وأي مشاركة تدعي عكس ذلك ستناقضها خريطة وقت التشغيل الخاصة بنا.
البنية الأساسية — الاستضافة وSSR (Vercel)، وحساب خادم الاجتماع (Fly.io)، والمدفوعات (Stripe)، والبريد الإلكتروني للمعاملات (Resend) — تعمل على SaaS مقرها الولايات المتحدة. يتعامل Stripe وResend مع الفواتير والدعوات ولا يرون أبداً محتوى الاجتماع. Vercel وFly عبارة عن قدرة حسابية مؤجرة: تعليماتنا البرمجية الخاصة تعمل عليها، ويتولى خادم الاجتماع على Fly معالجة الجلسة المباشرة والنص الذي يقرأه ملخصنا — ولكن هذه تعليماتنا البرمجية على أجهزتهم، وليست منتج مورد يقوم بابتلاع اجتماعك. كل هذا ينفذ في الاتحاد الأوروبي في وقت التشغيل (موضوع خريطة وقت التشغيل).
إنها مقايضة متعمدة ومحدودة: امتلاك وجعل مستوى البيانات مفتوح المصدر؛ واستخدام أفضل SaaS متاح لمستوى التحكم. تحديد هذه التفاصيل هو الهدف — فـ "السيادة" تعني القليل إذا لم تكن الاستثناءات على الطاولة بجانب المكاسب.
خطوات الذكاء الاصطناعي بعد الاجتماع، والخطة
لا يلمس أي نموذج احتكاري مقره الولايات المتحدة المحتوى المستمد من الاجتماع. خطوات نموذج اللغة التي تعمل بعد المكالمة — ملخص الذكاء الاصطناعي (الموضوعات، القرارات، عناصر الإجراءات)، وملخص ما بعد الاجتماع، ومحرر ملاحظات الذكاء الاصطناعي — جميعها تقع على معالجات داخل الاتحاد الأوروبي. يعمل الملخص والإجراءات التوليدية للمحرر على Mistral المستضاف في الاتحاد الأوروبي مع عدم الاحتفاظ بالبيانات (يُتم الوصول إليه عبر بوابة Vercel للذكاء الاصطناعي، المثبتة على مزود Mistral). يعمل الملخص وإجراء الترجمة الخاص بالمحرر على محرنا الخاص في الاتحاد الأوروبي على OVH — وهو نفس المحرك الذي يقف خلف الصوت المباشر والدردشة. الصوت في الوقت الفعلي، والدردشة، والملاحظات، والمستندات لم تقترب أبداً من نموذج لغوي كبير (LLM) للأغراض العامة في المقام الأول.
النموذج الأمريكي الوحيد الذي لا يزال في الحلقة يقيم معيار الترجمة العام لدينا — حيث يسجل الترجمات الآلية لجمل مرجعية ثابتة من FLORES-200، وليس اجتماع أي شخص أبداً.
نحن ما زلنا نتقدم في خطوات Mistral داخل الاتحاد الأوروبي: خيار إلغاء اشتراك يتحكم فيه المالك لإيقاف تشغيل الملخص تمامًا، ونموذج تلخيص ذي أوزان مفتوحة ومستضاف ذاتيًا على OVH (من فئة Kimi) لاستبدال Mistral الخارجي. الهدف من مسار الأوزان المفتوحة ليس معرفة أي مختبر درب الأوزان — بل هو أن الأوزان المفتوحة يمكن أن تعمل على بنية تحتية نتحكم فيها، مما يبقيها على نفس محور الانفتاح والقابلية للاستضافة الذاتية مثل بقية مستوى البيانات. كلاهما موجود على خارطة الطريق، ولم يتم إطلاقه بعد؛ سنقوم بتحديث هذه المشاركة عند إطلاقهما.
لماذا هذا مهم بالنسبة لنا
هذا ليس هندسة لمجرد الهندسة. يظهر سبب بناء حزمة بهذه الطريقة على جانبك من العقد:
- قابل للتدقيق. حزمة SDK التي يعمل عليها اجتماعك هي تعليمات برمجية مفتوحة المصدر يمكن لفريق الأمان الخاص بك قراءتها، والمحرك الذي يقف خلفها هو محركنا الخاص — وليس صندوقًا أسود لطرف ثالث.
- قابل للنقل. المعايير المفتوحة في كل طبقة بيانات — Postgres، S3، OIDC — تعني عدم وجود قفل احتكاري. ما يمكن نقله ليس مرتبطًا بمورد واحد.
- قابل للاستضافة الذاتية. طبقات البيانات ذات المعايير المفتوحة — Postgres، S3، OIDC — تعمل بالفعل على بنية تحتية تتحكم فيها؛ المحرك القابل للاستضافة الذاتية بالكامل موجود على خارطة الطريق للمستأجر الذي يحتاجه.
هذه هي الصورة في 2026-06-07. سنقوم بتحديثها عندما تتغير الحزمة — تبديل مورد، أو إعادة بناء طبقة، أو استبدال نموذج الملخص. التكوين الحالي قابل للتحقق في ملف vercel.json المفتوح لدينا، وملف nuxt.config.ts، ومستودع mind-sdk الخاص بترخيص BSD-3-Clause المرتبط أعلاه.
إذا بدا أن طبقة هنا غير صحيحة، أو احتاج مراجعة الأمان الخاص بك إلى إجابة لا تقدمها هذه الخريطة، فاكتب لنا. نفضل تصحيح تفصيل مفقود بدلاً من اكتشافك له في تدقيق الكود.
المصادر: مستودع mind-sdk (BSD-3-Clause)، FLORES-200؛ تم التحقق من حقائق الحزمة مقابل التكوين المنشور (vercel.json، nuxt.config.ts) والكود الذي تم إطلاقه، وتمت المراجعة في أغسطس 2026.