المعالجون الفرعيون
نافذة اعتبارًا من: [FOUNDER FILL — YYYY-MM-DD]
آخر تحديث: [FOUNDER FILL — YYYY-MM-DD]
الإصدار: 1
تُبيّن هذه الصفحة كل خدمة خارجية تُعالج بيانات شخصية بالنيابة عنا. وهي مرجعها الفقرة 5 من سياسة الخصوصية. أي تحديث في هذه القائمة هو تحديث وثائقي ولا يُعيد إصدار سياسة الخصوصية.
كل صف يَستشهد بمصدر الدمج في الشيفرة حتى لا تنحرف الإفصاحات عن التكامل الفعلي.
المعالجون الفرعيون النشطون
| المُعالج الفرعي | الغرض | البيانات المشتركة | المنطقة | المصدر في الشيفرة |
|---|---|---|---|---|
| OpenAI / Gemini / HUMAIN (لكل بيئة، باختيار المشغّل) | توليد الذكاء الاصطناعي (SWOT، PESTEL، TOWS، الأهداف، KPIs، التوصيات، المخاطر) | حقول ملف المنظمة المسموح بها (SafeOrganizationProfile) + سياق المنظمة المُجمَّع (أسماء الأقسام مع الأعداد، تحقّق الدورة السابقة، عَدّ هيكل الخطة) + حزمة السياق الإقليمي العامة. لا يُرسَل أبدًا أسماء أشخاص أو بُرد إلكترونية أو معرّفات مستخدمين، أو قوائم عملاء، أو قوائم شركاء، أو legal_name. | الولايات المتحدة (OpenAI) / الولايات المتحدة + الاتحاد الأوروبي (Gemini) / المملكة (HUMAIN) | apps/api/ai_runtime.py (AIProvider + generate_json_response)؛ apps/api/ai_endpoints.py:_get_organization_context هو المُنقّي |
| Moyasar | معالجة الدفع — نية الدفع ووَبهوك موقَّع من البوابة لتغييرات الحالة | مرجع البوابة، المبلغ، العملة، الحالة. أرقام البطاقات وCVC وتواريخ الانتهاء لا تمسّ بنيتنا التحتية؛ نموذج Moyasar المُستضاف يجمعها مباشرة. | المملكة العربية السعودية | apps/api/billing.py (POST /v1/billing/checkout-intents، POST /v1/billing/webhooks/moyasar) |
| Taqnyat / Unifonic / Twilio (باختيار المشغّل) | إرسال رمز SMS لمرة واحدة | رقم الجوال + رسالة OTP ثنائية اللغة. محتوى الرسالة لا يُسجَّل. | Taqnyat: المملكة. Unifonic: المملكة. Twilio: الولايات المتحدة. | apps/api/integrations.py:KNOWN_SMS_ENDPOINTS (السطر 299)؛ مسار الإرسال: apps/api/otp_delivery.py:send_otp_code |
| مُرحّل SMTP (مُهيّأ من المشغّل) | بريد المعاملات — التحقّق، إعادة تعيين كلمة المرور، إشعارات المواعيد النهائية، الملخّص اليومي، احتياطي OTP | البريد الإلكتروني، اسم المتلقي، نص الرسالة. لا يُرسَل أي بريد تسويقي. | حسب تهيئة المشغّل | apps/api/email_service.py؛ اعتمادات يُديرها المسؤول، مُشفّرة بـ Fernet عبر apps/api/secrets_crypto.py |
| التخزين الكائني — S3 / GCS / MinIO (مُهيّأ من المشغّل) | مخرجات توليد التقارير، صور الأفاتار، شعارات | الملفات التي يرفعها المستخدمون؛ كل رفع يُتحقَّق منه بالبايتات السحرية قبل التخزين فلا يُقبَل امتداد مزوَّر. | حسب تهيئة المشغّل | apps/api/storage.py (الأنواع المسموح بها: ALLOWED_REPORT_TYPES، ALLOWED_AVATAR_TYPES، ALLOWED_LOGO_TYPES)؛ الاعتمادات مُشفّرة |
| PostgreSQL 16 (Cloud SQL أو ذاتي الاستضافة، لكل بيئة) | المخزن الأساسي — الحسابات، المنظمات، الخطط الاستراتيجية، KPIs، سجلات المراجعة، كل البيانات العلائقية | كل ما في apps/api/models.py. | حسب تهيئة المشغّل | apps/api/database.py (DATABASE_URL) |
| Redis 7 (مُدار أو ذاتي الاستضافة، لكل بيئة) | الجلسات، عدادات حد المعدل، طابور المهام (arq)، قاطع دائرة مزوّد الذكاء الاصطناعي، تذاكر WebSocket، عدادات MFA | معرّفات الجلسات، عدّادات صحيحة. لا توجد أي حمولات بيانات شخصية في Redis. | حسب تهيئة المشغّل | settings.py:REDIS_URL؛ الاستخدام عبر apps/api/redis_client.py |
| مجمّع OpenTelemetry (يوفّره المشغّل، اختياري) | تتبّع موزَّع ومقاييس الاستخراج | بيانات وصفية غير شخصية — مسار الطلب، حالة الاستجابة، المدة، خصائص الامتداد. التقاط محتوى الجسم والترويسات مُعطَّل صراحة عند تهيئة الأدوات. | حسب تهيئة المشغّل | apps/api/tracing.py (السطران 23-24 يثبتان وضع "لا جسم لا ترويسات")؛ مُنقّي apps/api/observability.py يُزيل سلاسل password/secret/token/authorization قبل أي سطر سجلّ |
اختيار المزوّد الحالي لكل بيئة
| البيئة | مزوّد LLM | مزوّد SMS | مُرحّل SMTP |
|---|---|---|---|
| التطوير / المحلي | OpenAI أو Gemini (اختيار المشغّل) | لا شيء / صندوق MailHog | MailHog (يجمع البريد؛ لا يُرسل) |
| التشغيل التجريبي | OpenAI | [FOUNDER FILL — Taqnyat / Unifonic / Twilio] | [FOUNDER FILL — SES / SendGrid / إلخ] |
| الإنتاج | [FOUNDER FILL — OpenAI / Gemini / HUMAIN] | [FOUNDER FILL] | [FOUNDER FILL] |
عندما يُضبَط مزوّد LLM في الإنتاج إلى AIProvider.HUMAIN، تُختصر إفصاحات النقل العابر للحدود في الفقرة 6 من سياسة الخصوصية إلى لا يوجد نقل عابر للحدود (HUMAIN مُستضاف في المملكة).
كيفية تتبّع التغييرات
- إضافة معالج فرعي جديد — افتح PR يضيف صفًا إلى الجدول أعلاه. سياسة
الخصوصية تلتقط التغيير تلقائيًا لأنها تُحيل إلى هذه الصفحة بدلًا من تعداد المعالجين الفرعيين فيها.
- تغيير المنطقة أو النطاق — نفس آلية الـ PR. التغييرات الجوهرية
تُفعِّل نفس إشعار 30 يومًا داخل التطبيق وسجل المراجعة المُستخدَم لتعديل سياسة الخصوصية (AuditLog(event_type="legal.subprocessors_updated") عند نشر التغيير).
*انظر أيضًا:*