كيف يحمي Gaavala صوت اجتماعاتك: معمارية تضع الخصوصية أولاً
في كل يوم عمل ينضم ملايين المحترفين إلى اجتماعات تُناقَش فيها معلومات حساسة — مفاوضات اندماج، واستشارات طبية، واستراتيجيات قانونية، ومعاينات أرباح ربع سنوية، وقرارات تخص الموظفين. وحين تعبر تلك الاجتماعات حواجز اللغة تصبح الترجمة الفورية ضرورة. لكن معظم أدوات ترجمة الاجتماعات تفرض إرسال صوتك الخام إلى سحابة مورِّد، فتنشئ بالضبط ذلك النوع من أسطح انكشاف البيانات الذي تعجز فرق الشؤون القانونية والامتثال والأمن عن الموافقة عليه على نحو متزايد.
بُني Gaavala معمارياً على أن يُخرج نفسه من مسار الصوت تماماً. فحين تدير اجتماعاً عبر إضافتنا لـ Chrome، لا يمر صوتك عبر خوادم Gaavala. إنه يُبث مباشرة من متصفحك إلى محرك التحويل من الكلام إلى النص Soniox عبر WebSocket مشفر — ولا يرى خادمنا الخلفي منه بايتاً واحداً.
تمرّ هذه المقالة على كيفية عمل ذلك بالضبط، وما البيانات التي تعبر الشبكة، وكيف تنعكس هذه المعمارية على أطر الامتثال الشائعة.
المبدأ الجوهري للخصوصية
تتبع معظم أدوات الترجمة بنمط SaaS تدفقاً مألوفاً للبيانات:
- يلتقط متصفحك صوت الاجتماع
- يُرفع الصوت إلى الخادم الخلفي للمورِّد
- يمرر الخادم الخلفي للمورِّد الصوت إلى محرك تحويل الكلام إلى نص
- تعود النصوص المفرَّغة عبر الخادم الخلفي للمورِّد
- وكثيراً ما تسجّل خوادم المورِّد الصوت أو تخزّنه مؤقتاً أو تحتفظ به على طول الطريق
كل قفزة في هذه السلسلة هي حدّ ثقة. وكل قفزة موضع يمكن فيه لخلل في التسجيل، أو تسرّب بيانات اعتماد، أو أمر قضائي، أو مهندس منحرف أن يكشف محتوى اجتماعك. وكلما زادت الأطراف التي تلمس الصوت، صعُب أن تثبت لمدقق أن أحداً لم يحتفظ به.
يلغي Gaavala خطوة الوسيط تماماً. تدفق البيانات هو:
- يلتقط متصفحك صوت الاجتماع من علامة التبويب
- يفتح متصفحك WebSocket مباشراً إلى Soniox
- يُبث الصوت مباشرة عبر ذلك الـ WebSocket
- يعيد Soniox النصوص المفرَّغة مباشرة إلى متصفحك
- الخادم الخلفي لـ Gaavala غير مشارك إطلاقاً
إضافة Chrome التي تعمل على جهازك هي القطعة الوحيدة من شفرتنا التي تلمس صوتك يوماً — وهي لا ترسل ذلك الصوت إلينا.
لماذا اخترنا هذه المعمارية
حين أعدنا بناء Gaavala بصفته إضافة Chrome، اتخذنا قراراً معمارياً مقصوداً: تصادق الإضافة المستخدمين عبر خادمنا الخلفي، وتدير حالة الاشتراك، وتقدّم البيانات الوصفية — لكنها لا تكون أبداً في مسار الصوت. والمنطق كان مباشراً:
- سطح الامتثال: كل بايت من صوت العملاء نعالجه هو بايت علينا تبريره في تقييمات أثر حماية البيانات (DPIA) وتقارير SOC 2 ومفاوضات اتفاقيات شركاء الأعمال (BAA). وأنظف طريقة لإبقاء ذلك السطح عند الصفر هي ألّا نلمس الصوت من الأساس.
- نطاق الضرر الأمني: اختراق خادم يعالج الصوت أسوأ جوهرياً من اختراق خادم يعالج بيانات وصفية نصية. ونحن نفضّل أن تتعامل أكثر أنظمتنا حساسية مع أقل البيانات حساسية.
- زمن الاستجابة: كل قفزة وسيطة تضيف زمن ذهاب وإياب. والبث المباشر من المتصفح إلى Soniox يحذف قفزة كاملة، فيمنحنا زمن استجابة أفضل بوضوح في التسميات التوضيحية.
- تكاليف تتماشى مع الخصوصية: تشغيل وسيط صوت خاص بنا يعني الدفع مقابل النطاق الترددي والحوسبة في كل اجتماع. وعدم تشغيله يوفّر المال ويحمي العملاء في آن. وحين تتوافق الحوافز، تميل المعمارية إلى البقاء صادقة.
تدفق البيانات بالتفصيل
لننظر إلى ما يحدث فعلاً حين تبدأ التفريغ النصي في اجتماع.
الخطوة 1 — المصادقة
حين تسجّل الدخول إلى Gaavala أول مرة، تستخدم الإضافة واجهة chrome.identity.launchWebAuthFlow في Chrome لإتمام تبادل OAuth Authorization Code مع Google أو Microsoft. يعيد مزوِّد الهوية رمز تفويض إلى متصفحك، وتبادله الإضافة مع خادمنا الخلفي بـ JWT جلسة خاص بـ Gaavala. يُحفظ ذلك الـ JWT في chrome.storage.local ويُستخدم لمصادقة استدعاءات الواجهة البرمجية اللاحقة إلى خادمنا الخلفي.
لا شيء من هذا يتعامل مع الصوت. تبادل OAuth نصي بحت — رموز ومطالبات وحقول ملف شخصي.
الخطوة 2 — مفتاح Soniox المؤقت
حين تنقر على "Start" (ابدأ) في اجتماع، تستدعي الإضافة الواجهة البرمجية لخادمنا الخلفي لطلب مفتاح Soniox مؤقت قصير الأجل. ولهذا المفتاح ثلاث خصائص مهمة:
- نطاقه محصور بتحويل الكلام إلى نص وحده — لا شيء آخر في سطح واجهة Soniox البرمجية
- تنتهي صلاحيته خلال دقائق، لا أيام
- يُصدَر مرة واحدة لكل جلسة ولا يُخزَّن على جهازك
نمط المفتاح المؤقت جوهري في قصة الخصوصية. فلو شحن Gaavala مفتاح Soniox طويل الأجل داخل حزمة الإضافة، لاستطاع أي شخص استخراجه. بدلاً من ذلك نصدر مفاتيح قابلة للتخلص تُسكّ عند الطلب، ومرتبطة بجلستك المصادَق عليها، وتُبطَل بُعيد انتهاء الجلسة.
لا يسجّل خادمنا الخلفي سوى البيانات الوصفية لهذا الطلب — أي مستخدم، وأي وقت، وأي فئة اشتراك. وهو لا يرى أي صوت لأنه لم يُلتقط أي صوت بعد.
الخطوة 3 — التقاط صوت علامة التبويب
تنضم إلى مكالمتك على Microsoft Teams أو Zoom أو Google Meet أو Webex في علامة تبويب Chrome. تفتح إضافة Gaavala لوحتها الجانبية وتطلب منك بدء التقاط الصوت. وحين تؤكد، تستخدم الإضافة واجهة tabCapture في Chrome — وهي واجهة خاصة بالإضافات تتيح التقاط الصوت من علامة التبويب النشطة بإذن صريح من المستخدم ومع مؤشر مرئي.
يوجّه Chrome الصوت الملتقط إلى مستند offscreen يشغّله Gaavala في الخلفية. والمستند offscreen صفحة معزولة تستطيع الإضافة استخدامها لمعالجة الصوت دون إبقاء واجهة مرئية. وداخل ذلك المستند يفتح Gaavala كائن MediaStream، ويوصله بـ AudioContext، ويهيّئه للبث.
والأهم أن الصوت يمر أيضاً عبر مخطط صوت محلي يعيد الصوت إلى سماعاتك. أي أنك تظل تسمع الاجتماع كالمعتاد بينما يلتقطه Gaavala — لا شيء يُكتم أو يُعاد توجيهه.
الخطوة 4 — WebSocket مباشر إلى Soniox
ثم يفتح المستند offscreen اتصال WebSocket مباشراً إلى Soniox (wss://stt-rt.soniox.com/...). وهذا الاتصال:
- يستخدم TLS 1.2 أو أعلى
- يُصادَق عليه بالمفتاح المؤقت قصير الأجل من الخطوة 2
- ينشأ من مكدّس شبكة متصفحك — فالحزم تتدفق من نظام تشغيلك إلى Soniox، لا إلى Gaavala
تُرمَّز إطارات الصوت الملتقطة من علامة التبويب بصيغة PCM وتُرسَل عبر الـ WebSocket. يعالجها Soniox في الوقت الفعلي ويعيد بث رموز التفريغ النصي عبر الاتصال نفسه. وتصل تلك الرموز — شذرات نصية موسومة زمنياً مع تسميات المتحدثين — مباشرة إلى المستند offscreen، الذي يمررها إلى اللوحة الجانبية للعرض.
ولا تصل أي حزمة صوت في هذه الحلقة كاملة إلى خادم تشغّله Gaavala. ويمكنك التحقق من ذلك بنفسك عبر Chrome DevTools: افتح علامة تبويب Network مع مرشّح WS أثناء عمل Gaavala، وسترى WebSocket واحداً بالضبط — إلى مضيف على soniox.com — وصفر حركة صادرة إلى gaavala.com تحمل صوتاً.
الخطوة 5 — عرض النص المفرَّغ والملخص الاختياري
تُعرَض رموز التفريغ النصي في ثلاثة أسطح: اللوحة الجانبية، وتراكب عائم على علامة تبويب الاجتماع، والمخزن المؤقت في الذاكرة المستخدم للتصدير. ولا يسلسل أي من هذه الأسطح صوتاً. إنها تتعامل مع النص وحده.
وحين تطلب ملخص AI في نهاية الاجتماع، يُولَّد الملخص بالكامل على جهازك عبر AI المدمج في Chrome (Gemini Nano). لا يغادر نص التفريغ جهازك أبداً — فهو لا يُرسَل إلى الخادم الخلفي لـ Gaavala، ولا يُرسَل إلى أي طرف ثالث. محتوى الاجتماع، صوتاً كان أم نصاً، لا يعبر الخادم الخلفي لـ Gaavala إطلاقاً؛ ويبقى الشيء الوحيد الذي يعبره هو بيانات المصادقة والاشتراك الوصفية.
ما الذي تراه خوادم Gaavala
هذه هي القائمة الدقيقة للبيانات التي يتعامل معها خادمنا الخلفي، عبر جميع الميزات:
| البيانات | متى | مدة الاحتفاظ | ملاحظات |
|---|---|---|---|
| رمز تحديث جلسة Gaavala | عند تسجيل الدخول | مدة صلاحية الرمز — تُحذف السجلات المنتهية الصلاحية يومياً | لا يُخزَّن رمز OAuth الخاص بك من Google/Microsoft أبداً |
| الملف الشخصي (البريد والاسم) | عند تسجيل الدخول | مدة حياة الحساب | للفوترة والدعم |
| حالة الاشتراك | دائماً | مدة حياة الحساب | فئة الخطة وحالة التجربة |
| طلبات مفتاح Soniox المؤقت | لكل جلسة | سجل الطلب فقط | دون صوت |
| عدّاد دقائق التفريغ النصي | لكل جلسة | مدة حياة الحساب | مجمَّع بحسب الشهر، لتطبيق الحصة |
| تحليلات الموقع الإلكتروني مجهولة الهوية | فقط بعد قبولك ملفات تعريف الارتباط | محفوظة لدى Google Analytics، لا في قاعدة بياناتنا | الموقع الإلكتروني وحده — أما الإضافة فتبلّغ عن أعداد أخطاء مجهولة الهوية لا تحمل أي معرِّف مستخدم |
وهذه هي القائمة الدقيقة للبيانات التي لا يراها خادمنا الخلفي:
- صوت الاجتماع الخام (بأي صيغة، وفي أي لحظة)
- تدفقات الصوت المضغوطة
- مخازن الصوت المؤقتة أو التمثيلات الوسيطة
- بيانات القياسات الحيوية الصوتية
- هوية المتحدث بما يتجاوز معرِّفات المتحدثين المجهولة التي يسندها Soniox
- نص التفريغ — فالملخصات تُولَّد على الجهاز؛ ولا تغادر النصوص المفرَّغة جهازك
ولو استدعت محكمة Gaavala لتقديم صوت اجتماع بعينه، لكان الجواب الصادق تقنياً أننا لا نملكه ولا نستطيع استرجاعه. فهو لم يوجد قط على أنظمتنا.
دقِّق بنفسك
من مزايا العمل بصفة إضافة Chrome أن بيئة التشغيل كلها قابلة للفحص. يستطيع فريق تكنولوجيا المعلومات لديك التحقق من ادعاءات الخصوصية لدينا دون تصديق كلمة واحدة من هذه المقالة:
الطريقة 1 — فحص الشبكة. افتح chrome://extensions، وابحث عن Gaavala، وانقر على "service worker" أو "inspect views > background page". وفي DevTools اذهب إلى علامة تبويب Network ورشِّح إلى WS (WebSocket). ابدأ اجتماعاً. سترى WebSocket واحداً بالضبط، إلى مضيف على soniox.com. ولا يذهب أي صوت إلى gaavala.com.
الطريقة 2 — فحص البيان (manifest). في chrome://extensions وسّع "Details" عند Gaavala وراجع الأذونات. تعلن host_permissions بالضبط أي أصول تستطيع الإضافة الوصول إليها. سترى نقاط نهاية Soniox للبث ونقاط نهاية Gaavala للمصادقة والاشتراك. لا يوجد إذن مضيف بأحرف بدل (wildcard) ولا وصول شبكي غير معلن.
الطريقة 3 — فحص المصدر. تُشحن الإضافة مع service worker ومستند offscreen ولوحة جانبية وscripts محتوى. ويكشف Chrome هذه جميعاً للفحص عبر أدوات المطورين. يستطيع فريق الأمن لديك الارتباط بصفحة الخلفية أو المستند offscreen في أي وقت وقراءة حالة التشغيل — بما في ذلك التأكد من أن كائن تدفق الصوت لا يُسلسل أبداً في طلب fetch أو XHR باتجاه نطاقنا.
وننشر البيان وأذونات المضيف ضمن بطاقة Chrome Web Store، ونرحّب بالمراجعة الأمنية من طرف ثالث.
خريطة الامتثال
GDPR وتقليل البيانات
المادة 5(1)(ج) من GDPR ترسي مبدأ تقليل البيانات: يجب أن تكون البيانات الشخصية "كافية وذات صلة ومقتصرة على ما هو ضروري". والبيانات الصوتية بيانات شخصية بموجب GDPR، وبيانات قياسات حيوية إن استُخدمت للتعرّف على الهوية.
تتماشى معمارية Gaavala مباشرة مع هذا المبدأ. فبإبقاء الصوت خارج أنظمتنا تماماً، نقلّص البيانات الشخصية التي نعالجها إلى الحد الأدنى المطلق اللازم لإدارة نشاط اشتراكات — البريد والاسم وحالة الفوترة. وللعملاء الذين يجرون تقييمات أثر حماية البيانات (DPIA)، يكون خادمنا الخلفي شفافاً فعلياً في ما يخص معالجة الصوت: لا يوجد شيء يُقيَّم لأن لا شيء يصل إلينا.
وSoniox معالج منفصل في سلسلة الامتثال لديك. يمكنك مراجعة موقفه من الخصوصية باستقلال، وينشر Soniox شروط معالجة بيانات تنطبق على الاتصال المباشر الذي يجريه متصفحك معه.
HIPAA والصوت المتضمن لمعلومات صحية محمية
بموجب HIPAA، على أي مورِّد يعالج معلومات صحية محمية (PHI) أو يخزّنها أو ينقلها أن يوقّع اتفاقية شريك أعمال (BAA). وكثيراً ما تتضمن الاستشارات الطبية معلومات صحية محمية — أسماء مرضى، وتشخيصات، وخطط علاج.
ولأن الخادم الخلفي لـ Gaavala لا يستقبل صوت الاجتماع أبداً، فإن مسار الصوت يقع خارج نطاق اتفاقية شريك الأعمال لدى Gaavala. والعلاقة التي تقيّمها من أجل معالجة الصوت هي بينك وبين Soniox مباشرة — فـ Gaavala ليس شريك أعمال لتلك البيانات لأن البيانات لا تلمسنا. وإن ولّدت ملخصات AI فهي تُنتَج على الجهاز عبر AI المدمج في Chrome — إذ يبقى نص التفريغ على جهازك، فلا تُدخل ميزة التلخيص Gaavala ولا أي مورِّد إضافي في سلسلة معالجة المعلومات الصحية المحمية كذلك.
مخاطر المورّدين في SOC 2
تتطلب عمليات تدقيق SOC 2 من المؤسسات توثيق وتقييم جميع مورّدي الأطراف الثالثة في سلسلة معالجة بياناتها. وكل مورِّد يضيف تعقيداً إلى وصف النظام لديك ويوسّع نطاق تقييم المخاطر.
وفي معمارية Gaavala، يكون Soniox معالج بيانات تتفاعل معه مباشرة، لا عبر Gaavala. وينبغي لسجل مخاطر المورّدين لديك أن يقيّم Soniox وفق شروطه هو، وهو ما تجده كثير من فرق الأمن أوضح من تقييم علاقة معالج فرعي. أما نطاق Gaavala في سجل المخاطر لديك فأضيق: نحن نتولى الهوية والفوترة — لا الصوت الخام، ولا نص التفريغ أو الملخص، الذي لا يغادر جهاز المستخدم أبداً.
لماذا يهم قالب إضافة Chrome
يعتمد كثير من ضمانات الخصوصية أعلاه على عمل Gaavala بصفته إضافة Chrome بنمط شبكي مباشر إلى المزوِّد. وقد درسنا بدائل عدة ورفضناها:
- وسيط صوت من جهة الخادم: سهل التنفيذ، لكنه كان سيجبرنا على معالجة صوت كل عميل على بنيتنا التحتية. وهذا بالضبط ما أردنا تجنبه صراحة.
- تطبيق ويب بمحرك تفريغ نصي مضمَّن: يتطلب التقاط صوت علامة التبويب من صفحة ويب استخدام
getDisplayMedia، الذي يعرض على المستخدم أداة اختيار على مستوى نظام التشغيل في كل جلسة ويقيّد الأمر بعلامة التبويب التي يختارها. والأسوأ أنه لا توجد وسيلة موثوقة لصفحة ويب كي تبقي تدفق صوت في الخلفية بينما يتعامل المستخدم مع علامات تبويب أخرى. - تطبيق أصلي لسطح المكتب: كان سيمنحنا تحكماً أكبر لكنه يضيف احتكاك تثبيت، وتكاليف توقيع، وعبء تطوير خاص بكل نظام تشغيل. ومع ذلك لم يكن ليلغي دورنا بصفتنا معالج الصوت ما لم نكن حذرين — أي أننا كنا سنعيد اختراع المشكلات نفسها كلها.
أتاح قالب إضافة Chrome وحده معمارية الخصوصية التي أردناها. فـ tabCapture ومستندات offscreen ونموذج service worker في Manifest V3 تتيح معاً للإضافة أن تتعامل مع الصوت بالكامل على جهاز المستخدم، وأن تفتح اتصالات مباشرة بخدمات خارجية، وأن تحافظ على حالة الخلفية اللازمة للاجتماعات الطويلة — دون تمرير أي شيء عبرنا.
الأمور التي ما زال علينا إتقانها
لا تنتهي معمارية الخصوصية عند "نحن لا نلمس الصوت". فهناك هواجس مجاورة نأخذها على محمل الجد أيضاً:
- سكّ المفاتيح المؤقتة: يمكن إساءة استخدام مفاتيح Soniox قصيرة الأجل التي نسكّها لو سكّ خادمنا الخلفي مفاتيح لمهاجم. نحن نصادق كل طلب بـ JWT الخاص بك، ونحدّ من معدل إصدار المفاتيح، ونسجّل الحالات الشاذة.
- تحديثات الإضافة: يمكن نظرياً لإصدار محدَّث من الإضافة أن يغيّر النمط الشبكي. نحن نرقّم إصدارات البيان، وننشر سجلات التغيير، ويعرض Chrome Web Store أي أذونات جديدة قبل تثبيت التحديث.
- نص الملخص: تُولَّد الملخصات بالكامل على الجهاز عبر AI المدمج في Chrome (Gemini Nano)، فلا يصل نص التفريغ إلى خادمنا الخلفي — وهذا الخطر غير موجود في المعمارية الحالية. وإن كانت حتى المعالجة المحلية بالـ AI أكثر مما يحتمله اجتماع بعينه، فيمكن ببساطة ترك ميزة التلخيص دون استخدام؛ فلا شيء آخر يعتمد عليها.
- العيّنة المرجعية لاستنساخ الصوت (Pro): إن أنشأت نسخة مستنسخة شخصية من صوتك، تُخزَّن عيّنتك التي تبلغ ~20 ثانية مشفرة (AES-256-GCM) على خوادم Gaavala، وتُستخدم فقط لبناء صوتك، وتُحذف عند الطلب — انظر سياسة الخصوصية.
- الطلبات القانونية: نلتزم علناً بالاستجابة للطلبات القانونية في حدود البيانات التي نملكها فعلاً. وفي ما يخص الصوت، سيكون الجواب دائماً "لا نملكه".
مقارنة عبر أدوات ترجمة الاجتماعات
كيف يقارن نموذج الخصوصية لدى Gaavala بأدوات ترجمة الاجتماعات الشائعة الأخرى؟
| الميزة | Gaavala | Otter.ai | Zoom AI Companion | Teams Copilot | Interprefy |
|---|---|---|---|---|---|
| يصل الصوت إلى الخادم الخلفي للمورِّد | لا (مباشرة إلى Soniox) | نعم (خوادم Otter) | نعم (خوادم Zoom) | نعم (خوادم M365) | نعم (خوادم المنصة) |
| يُحتفظ بالصوت بعد الاجتماع | لا | نعم (افتراضياً) | اختياري | اختياري | يتفاوت |
| يُستخدم لتدريب النماذج | لا | يمكن إلغاء الاشتراك | يمكن إلغاء الاشتراك | ضوابط مؤسسية | غير معروف |
| تدقيق الشبكة بنفسك | نعم (DevTools) | لا | لا | لا | لا |
| يعمل بصفة إضافة (قابلة للتدقيق) | نعم | لا | لا | لا | لا |
| يعمل عبر Teams وZoom وMeet وWebex | نعم | جزئياً | لا | لا | يتفاوت |
الفارق المهم: في كل صف آخر من ذلك الجدول، أنت تثق بادعاءات المورِّد حول كيفية تعامله مع الصوت على خوادمه. أما مع Gaavala فلا توجد خوادم تثق بها بشأن الصوت، لأنه لا يوجد صوت على خوادمنا. والادعاء قابل للتحقق بأدوات مطوري Chrome القياسية.
الخصوصية هي الوضع الافتراضي، لا فئة مدفوعة
تمنحك فئة Gaavala المجانية المعمارية نفسها المباشرة إلى Soniox، وتمييز المتحدثين نفسه، وتغطية اللغات الـ 60 نفسها. أما Pro فتفتح 120 دقيقة يومياً وSpeak Mode واستنساخ الصوت — لا الخصوصية. فنحن لا نؤمن بأن على المستخدمين الحريصين على خصوصيتهم أن يدفعوا أكثر لإبقاء بياناتهم آمنة.
إذا كانت مؤسستك ترفض تاريخياً أدوات ترجمة الاجتماعات لأن قسم الامتثال رفض إرسال الصوت إلى سحابة مورِّد، فقد بُني Gaavala من أجل هذا النقاش بالذات. صُمم المسار كي يكون أمام فرق الشؤون القانونية والأمن والامتثال لديك ما يراجعونه أقل — لا أكثر.
تجربة مجانية لمرة واحدة: 5 دقائق من التفريغ النصي، ولا تُعاد أبداً. دون بطاقة ائتمان. ودون تسجيل على الموقع.