Najm Aldeen Alzorqah

SecureVault

خزنة لكلمات المرور والأسرار تستضيفها على سيرفرك

الكود المصدريدراسة حالة

01 — نظرة عامة

SecureVault نظام لإدارة بيانات الدخول والأسرار تستضيفه على سيرفرك، للفرق التي لا تريد بيانات الخزنة على SaaS خارجي. المسؤولون يديرون مدخلات مشفرة ومستخدمين وسياسات أمان من لوحة ويب بعربية RTL وإنجليزية كاملة.

02 — مساهمتي

صممتُ ونفذتُ التطبيق من البداية للنهاية: واجهة Next.js، طبقة Prisma، مسارات التشفير وفك التشفير، تطبيق RBAC، الجلسات مع الإلغاء، إعدادات سياسة كلمات المرور، وسجل تدقيق append-only يفرضه قاعدة البيانات.

03 — البنية التقنية

Next.js 16 مع React 19 وTypeScript في الواجهة؛ PostgreSQL 16 وPrisma 7 للتخزين. الأسرار مشفرة بـ AES-256-GCM بمفتاح رئيسي لا يُخزَّن في القاعدة — كل سجل له IV وعلامة مصادقة خاصة. الأدوار (SUPER_ADMIN، EDITOR، VIEWER) تحكم بالتعديل والكشف. محفّزات PostgreSQL تضيف صفوف تدقيق لا يمكن حذفها لتسجيل الدخول والكشف وتغيير السياسات. Docker Compose للنشر الذاتي المتكرر.

04 — تحديات هندسية

  • التشفير دون تسريب المفتاح: التشفير على الخادم بمفتاح من البيئة، والواجهة ترى القيم المفكوكة فقط في تدفقات كشف عابرة.
  • تدقيق غير قابل للعبث: الكود وحده لا يحذف السجل — محفّزات على جدول التدقيق ترفض التحديث والحذف.
  • واجهة إدارية ثنائية اللغة: شاشات الأمان والجداول والنماذج تعمل في RTL وLTR دون تكرار المسارات.

05 — الاختبار والجودة

اختبار يدوي لـ CRUD، الكشف والنسخ، سياسة القفل، وحدود الأدوار في اللغتين. تشغيل smoke عبر Docker للتحقق من الهجرات والبذور. تغطية اختبارات آلية أقل من سطح التشفير والمحفّزات — الأهم لاحقًا: قفل عقد التشفير وسلوك محفّزات التدقيق.

06 — النتائج والدروس

مفتوح المصدر على GitHub مع توثيق ولقطات للوحة التحكم والخزنة والسياسات وRBAC والتدقيق. يوضح تسليمًا full-stack بعقلية أمان وليس واجهات فقط. لا يوجد عرض مستضاف عام؛ المقيّم يشغّل Docker محليًا أو يراجع المستودع.