موقفنا من الخصوصية
تم التحديث في 17 مايو 2026
هذه الوثيقة هي المكمل التشغيلي لسياسة الخصوصية. سياسة الخصوصية تقول ما يحقّ لنا قانونياً فعله بالبيانات؛ هذه الصفحة تقول ما نفعله فعلياً، ما الأدوات التي تفرضه، وكيف نجيب على هل نظر موظفو Amargi في بياناتي بتفاصيل ملموسة. إنها منشورة، قابلة للقراءة من قبل العميل، وملزمة لنا. إن خرجنا عن أي التزام هنا، فالخروج هو P0: نصلحه، نسجله، نخبر العملاء المتضررين.
الملخص
نحن لا نتصفح محتوى رسائل العملاء. لوحة إدارة المنصة تعرض العدادات والبيانات الوصفية فقط. لا يوجد زر اعرض هذه الرسالة. وصول المشغل إلى نصوص الرسائل يحدث فقط عندما يوضح سجل المراجعة السبب: التحقيق في إساءة، تذكرة دعم فتحها العميل، أو أمر قضائي. كل مرة وصول مسجلة. لا نبيع البيانات، لا نشاركها مع طرف ثالث لأغراض إعلانية، ولا ندرب نماذج على رسائل العملاء أو رسائل عملائهم النهائيين.
هندسة المصادقة (Amargi Workspace SSO)
Amargi هي عائلة منتجات (Reach, Mail, Agents, Meet, Escalate). تستخدم جميعها مزود هوية مشترك يدعى Amargi Workspace لتسجيل الدخول. Workspace يخزن فقط: بيانات اعتماد الحساب (البريد الإلكتروني، تجزئة كلمة المرور، أسرار 2FA)، الجلسات النشطة ورموز التحديث، عضوية المؤسسة والأدوار (من يستطيع رؤية ماذا داخل أي منتج). Workspace لا يخزن أي بيانات رسائل WhatsApp، ولا قوائم جهات اتصال، ولا أي محتوى يحكمه اتفاق Meta Business Solution Provider (BSP). كل ذلك مملوك ومعالج حصرياً من قبل Reach. الحدود نظيفة حسب نوع البيانات. يعيش في Workspace: هوية الحساب (بريد، تجزئة كلمة مرور، 2FA)، الجلسات ورموز التحديث، عضوية المؤسسة والأدوار، البيانات الوصفية لمساحة العمل، التنقل بين المنتجات. يعيش في Reach: حسابات WhatsApp Business (WABAs)، أرقام الهواتف وتقييمات الجودة، طبقات الرسائل، القوالب والحملات والجماهير، المحادثات والرسائل وجهات الاتصال وسجلات الموافقة، اشتراكات Webhook وحالة التسليم الصادر. هذا النمط مماثل لـ Twilio و MessageBird و 360dialog و Infobip: الكيان القانوني المؤكد لدى Meta للأعمال هو نفسه بصرف النظر عن المنتج الذي يستخدمه العميل. Workspace ليس معالجاً فرعياً ولا طرفاً ثالثاً: إنه خدمة مصادقة داخلية تشغلها Amargi Creative، نفس الكيان القانوني، نفس الاستضافة، نفس محيط الالتزام.
ما يرى مشغل Amargi
لوحة إدارة منصة Amargi (مجموعة المسارات platform، محمية بمطلب JWT platform_admin) تكشف ما يلي لكل مؤسسة عميل: /platform يعرض عدد المؤسسات والمستخدمين و WABAs و MRR وعدادات الرسائل المجمعة (آخر 7 أو 30 يوم) وإحصاءات تسليم outbox و webhook. /platform/orgs يعرض اسم المؤسسة و slug والخطة وعدد المستخدمين و WABAs وعدد الرسائل في آخر 30 يوم وتاريخ الإنشاء. /platform/orgs/{id} يعرض ما سبق بالإضافة إلى قائمة المستخدمين بالدور وآخر تسجيل دخول وقائمة WABAs بمعرف المزود والمنطقة وحالة التحقق وعدد أرقام الهواتف وتدفقات الاستخدام والتكلفة وأدوات التعليق والإلغاء. /platform/users يعرض البريد والاسم وعلم التحقق وعلم 2FA وعلم مسؤول المنصة وعدد المؤسسات وآخر طابع زمني لتسجيل الدخول. /platform/wabas يعرض معرف WABA لدى المزود والمؤسسة المالكة والمنطقة والتحقق والعلم النشط وعدد أرقام الهواتف. /platform/phone-numbers يعرض E.164 واسم العرض والمؤسسة المالكة والحالة وتقييم الجودة ومعدل الرسائل في الثانية مع إمكانية التصفية حسب الجودة. /platform/templates يعرض اسم القالب والمؤسسة المالكة واللغة والفئة والحالة وسبب الحالة. /platform/campaigns يعرض اسم الحملة والمؤسسة المالكة والحالة وعدادات المرتبين والمرسلين والمسلمين والفاشلين. /platform/health يعرض عدادات outbox وعدادات webhook وتفاصيل جودة أرقام الهواتف.
ما لا يرى مشغل Amargi (في اللوحة)
نصوص الرسائل والنصوص والتسميات التوضيحية وأسماء ملفات الوثائق وأحمال أزرار التفاعل. ليست في أي DTO يرجع للوحة المشغل. نسخ المحادثات بين عميل وعملائه النهائيين. أرقام هواتف المستلمين لكل رسالة (فقط عدد المستلمين لكل حملة). قوائم جهات الاتصال وصفات جهات الاتصال وتعريفات الجمهور وراء الأحجام المجمعة. نصوص حمولات Webhook، فقط عدادات حالة التسليم. تفاصيل بطاقات Stripe، لا ترى أبداً، تحفظ عند Stripe.
متى يسمح بوصول المشغل إلى محتوى الرسائل
ثلاث حالات. كلها مسجلة. التحقيق في إساءة: Meta أشارت إلى WABA لعميل، أو وصلنا بلاغ عن سبام أو احتيال أو محتوى محظور. يفتح المشغل أداة الفحص ويقدم سبباً يشير إلى حالة الإساءة ويراجع الحد الأدنى الضروري من نصوص الرسائل لتأكيد أو دحض البلاغ. نحن ملزمون تعاقدياً بهذا بموجب شروط Meta Business Solution Provider؛ لا يمكننا الانسحاب. تذكرة دعم فتحها العميل معنا: العميل طلب منا النظر في رسالة معينة (لماذا لم تعرض هكذا؟). سجل مراجعة المشغل يشير إلى رقم التذكرة. أمر قانوني: استدعاء أو أمر قضائي أو ما يعادله في أي ولاية يقيم فيها العميل أو عملاؤه النهائيون. نطلب الأمر مكتوباً ونحدد ردنا حسب نطاق الأمر الفعلي ونخطر العميل المتضرر إلا حيث يحظر القانون ذلك. نحن لا نصل إلى محتوى الرسائل لتحليلات المنتج أو تدريب النماذج أو التسويق أو التنقيب عن المبيعات أو الفضول. القيام بذلك أسباب لإنهاء عمل المشغل وإخطار العملاء المتضررين والجهات التنظيمية إن لم يبرر الوصول بأثر رجعي.
كيف يعمل سجل الوصول
كل إجراء تحت PlatformAdmin يكتب صفاً في platform.audit_events: actor_user_id، موظف Amargi الذي اتخذ الإجراء. actor_email، مسجل لعرض قابل للقراءة. action، Controller.Method على سبيل المثال PlatformOrgs.Suspend. target_type و target_id و target_org_id، السجل المتأثر. ip و user_agent و status_code، سياق الطلب (محاولات الوصول الفاشلة مرئية أيضاً). reason، نص حر، مطلوب للإجراءات الحساسة. occurred_at، الطابع الزمني UTC. السجل يلحق فقط على طبقة التطبيق (لا توجد مسارات UPDATE أو DELETE في الشيفرة) ومرئي للمشغلين في /platform/audit-log. الوصول الموجه للعميل (أرني كل إجراء مشغل لمس مؤسستي) على خريطة الطريق. نحتفظ بسجلات المراجعة لمدة 7 سنوات على الأقل.
موقف التشفير
موثق بالتفصيل لمراجعي Meta وفرق المشتريات المؤسسية والمدققين الأمنيين. أثناء النقل: TLS 1.2 الحد الأدنى على كل نقطة نهاية عامة. TLS 1.3 مفضل وافتراضي على العملاء المدعومين. HSTS (max-age=31536000; includeSubDomains; preload) على كل نطاق موجه للعميل. mTLS على حركة المرور الداخلية بين الخدمات حين تنتشر المنصة عبر مضيفين متعددين. التحقق من توقيع Webhook (HMAC-SHA256) على كل webhook وارد من Meta قبل أي منطق عمل. الرسائل الصادرة من Webhook للعملاء المشتركين توقعت بـ HMAC مع سر لكل اشتراك يدير العميل تدويره من واجهة المستخدم. في الاستراحة، ضوابط متعددة الطبقات: نستخدم نهج الدفاع في العمق مع ثلاث طبقات مستقلة تحمي بيانات رسائل العملاء من السلك إلى القرص. تشفير كامل مستوى القرص: جميع مجلدات Postgres مشفرة في الاستراحة من قبل مزود السحابة (LUKS-equivalent و KMS-managed AES-256). النسخ الاحتياطية لقاعدة البيانات (لقطات و WAL archive) مشفرة بمفاتيح المزود. تحمي ضد سرقة الأقراص الفيزيائية والسرقة الخام لتخزين كتل. تشفير مغلف على مستوى التطبيق للأسرار: الحقول الحساسة للبيانات الاعتماد و WABA access tokens و Page Access Tokens و Instagram tokens و webhook signing secrets تكتب عبر ASP.NET Core IDataProtector API. كل صف نص مشفر يحمل معرف مفتاح صادر من التطبيق؛ المفتاح الرئيسي يعيش في خلفية الأسرار (AWS Secrets Manager أو GCP Secret Manager أو HashiCorp Vault) ويدور كل ثلاثة أشهر. تفريغ قاعدة البيانات وحده لا ينتج رموزاً صالحة للاستخدام. pgcrypto متاح لتشفير مستوى العمود لأجسام الرسائل على أساس اختيار لكل مؤسسة: هذه أقوى طبقة لكنها تقلل مرونة الاستعلام (البحث الجزئي يتوقف) ومعطلة افتراضياً. عملاء المؤسسات الذين يحتاجونها يمكنهم تفعيل العلم لمؤسستهم. ما لا نفعله عمداً: مفاتيح يديرها العميل (BYOK و CMK). مخطط كميزة مؤسسية؛ غير متوفر بعد. حتى ذلك الحين، Amargi داخل حدود الثقة لبيانات الاستراحة وهذه الوثيقة هي الالتزام الذي يحد مما نفعله بتلك الثقة. تشفير كل عمود. محادثة WhatsApp بطبيعتها سجل نص عميل وعامل؛ تشفير كل صف يكسر مربع البحث في الـ inbox. نشفر الأسرار التي إن سربت تسمح لمهاجم بانتحال هوية عمل العميل لـ Meta؛ لا نشفر كل صف نص افتراضياً. هذا نفس الموقف الذي يتخذه كل مزود حل WhatsApp Business الرئيسي. انظر إلى صفحات Twilio و MessageBird و 360dialog الأمنية العامة. تواتر تدوير المفاتيح: مفتاح التشفير الرئيسي (مفتاح المغلف لـ DataProtector): كل ثلاثة أشهر. أسرار توقيع Webhook: يتحكم بها العميل وموصى بها كل ثلاثة أشهر. WABA access tokens: دورة حياة يتحكم بها Meta؛ نعيد الحصول عليها عند انتهاء الصلاحية عبر مسار تجديد BSP. شهادات mTLS الداخلية: تدوير Let Encrypt كل 90 يوم. كيف يمكن للمراجع التحقق: messaging.wabas.access_token_ref في تفريغ قاعدة بيانات حديث يعرض نصاً مشفراً وليس نصاً عادياً. تأكد بفحص أي صف. متغير بيئة Reach:Secrets:Mode على الإنتاج يجب أن يضبط على قيمة غير passthrough و aws و gcp أو vault. (passthrough هو dev-only والـ API يسجل تحذير بدء التشغيل عند الاستخدام خارج التطوير). جميع معالجات webhook الواردة والصادرة تنتهي برمز 401 إذا كان التوقيع مفقوداً أو فشل مقارنة HMAC ذات الوقت الثابت. انظر إلى مجموعة اختبار تكامل Webhooks للتغطية السلبية.
عزل المستأجرين
كل كيان مملوك من مؤسسة في طبقة المجال يحمل علامة ITenantOwned. فلاتر استعلام EF Core تضاف تلقائياً إلى كل استعلام لتقييد القراءات على المؤسسة النشطة لطلب المتصل. هذا يمنع تسرب البيانات بين المستأجرين هيكلياً وليس فقط حسب الاتفاقية بصرف النظر عمن سجل الدخول أو عبر أي منتج. الكود الذي يحاول الاستعلام بدون تصفية المستأجر يكسر اختبار وحدة في طبقة المستودعات.
إقامة البيانات
تخزن بيانات الإنتاج في منطقة واحدة تختار لكل عميل عند الإعداد. الافتراضي eu-central-1. أي تكرار عبر المناطق إن وجد يبقى داخل نفس الولاية القضائية القانونية.
المعالجون الفرعيون
القائمة الكاملة (مع الغرض والموقع ورابط DPA لكل منهم) منشورة على صفحة المعالجين الفرعيين. نخطر العملاء بمعالجين فرعيين جدد قبل النفاذ بـ 30 يوماً على الأقل.
التغييرات على هذه الوثيقة
المراجعة الحالية ملتزمة في المستودع في apps/reach/docs/PRIVACY-POSTURE.md ومنعكسة هنا. سجل Git للملف هو سجل التغيير الرسمي. التغييرات الجوهرية تعلن للعملاء عبر البريد قبل النفاذ بـ 30 يوماً على الأقل.
التواصل
أسئلة الخصوصية وطلبات الوصول وطلبات الحذف: contact@amargicreative.com. قضايا الأمن: contact@amargicreative.com.