المعمارية
بنية المنصة
نظرة عالية المستوى دون كشف تفاصيل حساسة.
المخطط العام
+--------------+ +-------------------+ +----------------+
| Browser / | <-> | Edge / TSS SSR | <-> | Auth Provider |
| Mobile PWA | | (TanStack Start) | | (Supabase) |
+------+-------+ +---------+---------+ +--------+-------+
| | |
| HTTPS / TLS 1.2+ | Server functions | OAuth / JWT
v v v
+---------------------------------------------------------------+
| Application Layer (Server Functions) |
| RBAC | Rate limit | Validation | Business logic |
+-------+---------------+---------------+---------------+--------+
| | | |
v v v v
+----------+ +------------+ +------------+ +----------+
| Postgres | | Workflow | | Compliance | | Billing |
| + RLS | | Engine | | Intel. | | Paddle |
+----+-----+ +-----+------+ +-----+------+ +-----+----+
| | | |
v v v v
+----------+ +------------+ +------------+ +----------+
| Audit | | pg_cron | | AI Gateway| | Webhooks |
| log | | Jobs | | (Gemini) | | Signed |
+----------+ +------------+ +------------+ +----------+الطبقات
العميل
TanStack Start + React، دعم RTL/LTR.
التطبيق
دوال خادم مع تحقّق مصادقة وأدوار.
قاعدة البيانات
Postgres مع RLS و org_has_access.
المصادقة
Supabase Auth (Email/OAuth).
محرك سير العمل
قوالب wf_* موحّدة لكل الوحدات.
ذكاء الامتثال
درجات، KRI، لقطات تاريخية.
الفوترة
Paddle كتاجر مسجّل (MoR).
الإشعارات
داخل التطبيق + بريد المعاملات.
المراجعة الداخلية
audit_logs + سجل موافقات غير قابل للتعديل.
الاستضافة وموقع البيانات
- •الوضع الحالي: تُخزَّن بيانات العملاء في AWS eu-central-1 (فرانكفورت، ألمانيا). تعمل طبقة التطبيق وشبكة الحافة على بنية سحابية مُدارة عالمية (مناطق الاتحاد الأوروبي والولايات المتحدة). لا نستضيف اليوم داخل المملكة.
- •لا يوجد ادعاء باستضافة سعودية أو مركز بيانات معتمد داخل المملكة في هذه النسخة.
- •الهدف/خارطة الطريق: خيار إقامة البيانات داخل المملكة للعملاء المؤسسيين — يتطلب بنية وعقود خارج المنصة الحالية ولم يُنفَّذ بعد.
- •تُوثَّق أي تغييرات على موقع الاستضافة في صفحة الإصدارات قبل التطبيق على العملاء.
تدفّق المراجعة الداخلية
- •أي تغيير على جدول حساس ⇒ تسجيل قبل/بعد.
- •الموافقات تُختم بوقت وهوية المستخدم.
- •لا تعديل بعد الإرسال — فقط قراءة/تصدير.
