الأمان في Wavor تستحق بيانات عملك نفس الحماية مثل البنك. نحن لا نخبرك فقط بما نحميه. نحن نوضح لك كيف.
AES-256 TLS 1.3 2FA DSGVO/GDPR UK GDPR LGPD (BR) DPDP (IN) خوادم الاتحاد الأوروبي
تشفير AES-256
تُخزن الحقول الحساسة مشفرة. عند القراءة بدون المفتاح، لا تظهر شيئًا.
مراكز بيانات الاتحاد الأوروبي (Hetzner DE)
Servers and customer files in Germany. Offsite backups sit encrypted outside the EU under the EU's transfer safeguards; the privacy policy names the provider.
الوقت الفعلي والبنية التحتية Nerd zone It gets technical from here. You do not need to read any of it to use Wavor safely - it is here so it can be checked.
بنية الأمان كيف تتدفق بياناتك. من الطلب إلى التخزين
الخطوة 1
Cloudflare Edge
حماية DDoS، WAF، TLS 1.3 مع إمكانية التراجع إلى 1.2. شبكة أيكانست العالمية.
الخطوة 2
Cloudflare Tunnel
المصدر غير قابل للوصول جسديًا. اتصال خارجي فقط إلى CF، لا يوجد منفذ داخلي. ثقة مخصصة فقط مع شهادة Wavor RSA-4096.
الخطوة 3
تطبيق Node.js
التحقق من الجلسة، فحص 2FA، RBAC، التحقق من المدخلات عبر مخططات Zod.
الخطوة 4
PostgreSQL + Vault
Encrypted storage with AES-256. Secrets in HashiCorp Vault.
TLS 1.3 (تراجع إلى 1.2)
HTTPS صارم كامل على جميع المجالات السبعة.
حماية DDoS
حماية الحافة قبل أن يرى الخادم الطلب.
أين يتم تخزين البيانات؟
The servers are at Hetzner in Germany (Falkenstein and Nuremberg), customer files in object storage in Germany. The data centres are guarded around the clock, with biometric access. Backups and some services such as email, SMS and AI run through providers outside the EU. Those transfers are secured under the EU's rules, and the privacy policy names every provider.
كيف يتم تأمين المفاتيح؟
جميع مفاتيح API والأسرار في HashiCorp Vault (KV v2، مشفرة، خاضعة للتحكم في الوصول). تحذير التدوير التلقائي عند 90/180/365 يومًا. لا أسرار نصية في الكود أو البيئة أو السجلات.
كيف تعمل النسخ الاحتياطي؟
Automated PostgreSQL backups every 6 hours. Kept: every one for two days, one a day up to 14 days, one a week up to 90 days. Each is decrypted again and checked after encryption, and every night the newest is restored as a test. Offsite copy at Backblaze, encrypted with our own key before it leaves the server.
طبقات الدفاع رؤوس أمان HTTP: 14 توجيهًا محصنًا
CSP Level 3 (21 Direktiven)
وضع التنفيذ. أقصى معيار W3C بما في ذلك granular script-src-elem/-attr، Trusted-Types على نطاق فرعي إداري، قائمة بيضاء manifest/worker/media-src.
HSTS (Strict-Transport-Security)
الحد الأقصى للعمر 1 سنة، تشمل النطاقات الفرعية، تم تفعيل التحميل المسبق.
X-Frame-Options
DENY. لا يوجد clickjacking عبر iframes.
X-Content-Type-Options
nosniff. المتصفحات لا يمكنها تفسير أنواع MIME بشكل خاطئ.
Referrer-Policy
strict-origin-when-cross-origin.
Permissions-Policy
الكاميرا، الميكروفون، تحديد الموقع الجغرافي. جميعها معطلة بشكل افتراضي.
COOP (Cross-Origin-Opener-Policy)
same-origin. يعزل سياق التصفح.
CORP (Cross-Origin-Resource-Policy)
same-site. لا يمكن تضمين الموارد عبر النطاقات.
Independently verifiable: Mozilla's HTTP Observatory grades the headers of wavor.io A+. A test asks Mozilla for the result again every night. https://developer.mozilla.org/en-US/observatory/analyze?host=wavor.io(developer.mozilla.org)
2FA: TOTP / SMS / بريد إلكتروني
ثلاث طرق للعامل الثاني. رموز النسخ الاحتياطي للاستخدام مرة واحدة.
تعرف على الجهاز
إشعار فوري على الأجهزة الجديدة عبر البريد الإلكتروني مع IP + User-Agent.
إدارة الجلسات
عرض الجلسات النشطة، إنهاء كل منها بشكل فردي أو تسجيل الخروج من جميعها دفعة واحدة.
حماية من القوة الغاشمة (3 طبقات)
5 محاولات فاشلة لكل بريد إلكتروني / قفل لمدة 15 دقيقة. 10 لكل IP / 1 ساعة. 5 بريد إلكتروني مميز من IP واحد / حظر لمدة 24 ساعة.
Cloudflare Turnstile Captcha
حماية من الروبوتات بدون لغز النقر. تم تحميل البرنامج النصي مع crossOrigin anonymous + no-referrer. لا تسرب للجلسة إلى Cloudflare.
تشفير كلمة المرور باستخدام Bcrypt (التكلفة 12)
كل تخمين يكلف وقتًا حاسوبيًا، مما يجعل هجمات القوائم غير ممكنة. كلمات المرور >= 12 حرفًا، تحقق من قوة zxcvbn.
تحقق من إدخال Zod
تم التحقق من جميع مدخلات API من جانب الخادم عبر Zod. Drizzle-Zod كمصدر وحيد للحقيقة مع مخطط قاعدة البيانات.
Rate limiting with a sliding window
A sliding window rather than fixed blocks, so a limit is not handed out afresh at the top of every minute. The counter currently lives in the individual worker process; once Redis is configured, all processes share one.
RBAC دقيق (فشل مغلق)
مدرك للدور + طريقة HTTP: GET يحتاج إلى عرض، POST/PATCH يحتاج إلى تعديل، DELETE يحتاج إلى حذف. إذن مفقود = 403، لا يمكن تجاوزه أبدًا.
عزل متعدد المستأجرين
نطاق companyId في كل استعلام قاعدة بيانات. لا تسرب بيانات بين المستأجرين.
سجلات التدقيق
كل تغيير مسجل عبر eventLog + AuditLogger. أثر غير قابل للتغيير مع userId، companyId، action، entity.
Approval by two people
Four actions need two approvals: changes to legal values, prices and terms, and a new sub-processor. While only one person is authorised, that person decides alone. The rule takes effect once there is a second.
سياسة تدوير الأسرار
تحذير تلقائي عند 90/180/365 يومًا عبر secretRotation.ts.
إخفاء PII في الردود
البريد الإلكتروني، IBAN، الهاتف مخفي لأعضاء الفريق بدون وصول إلى PII. piiMasking.ts مركزي.
تنظيف السجلات
يتم تنظيف جميع السجلات مركزيًا. صفر معلومات تعريف شخصية في السجلات أو المراقبة أو مخرجات التصحيح.
مفاتيح API مع النطاقات
أذونات دقيقة مع انتهاء الصلاحية عبر apiKeyAuth.ts.
حذف ناعم واستعادة
استعادة البيانات المحذوفة لمدة 28 يومًا. عمود deletedAt مع فلتر استعلام تلقائي.
Data export
تصدير كامل بتنسيق JSON لجميع بيانات المستخدم في طلب واحد. الحذف عبر تدفق DSAR (المادة 17).
حماية البيانات Concrete technical measures
تشفير على مستوى الحقل (AES-256-GCM)
IBAN، رقم التعريف الضريبي، الضمان الاجتماعي، تفاصيل البنك، أسرار 2FA TOTP ورموز الاستخدام لمرة واحدة (تسجيل الدخول/التحقق/إعادة تعيين): AES-256-GCM مع IV بطول 96 بت، وauth-tag بطول 128 بت. IV عشوائي لكل تشفير.
تشفير فشل مغلق
بدون ENCRYPTION_KEY في الإنتاج: يرفض الخادم البدء. لا يوجد تراجع نصي (GDPR المادة 32 الفقرة أ).
كشف التلاعب (GCM)
علامة مصادقة AES-GCM تكشف عن أي تلاعب بالنص المشفر. الفشل في فك التشفير بشكل صارم. لا قبول صامت أبدًا.
HMAC-SHA256 بحث عن التجزئة
تظل الحقول المشفرة قابلة للبحث عبر HMAC حتمي. مفتاح منفصل (فصل المفتاح حسب NIST SP 800-57).
إدارة مفاتيح Vault
ENCRYPTION_KEY + SESSION_SECRET + جميع مفاتيح API في HashiCorp Vault (KV v2). لا نص عادي في الكود أو البيئة أو السجلات.
إصدار المفتاح للتدوير
تنسيق النص المشفر v1:iv:data:tag. قابل للتدوير إلى إصدار جديد دون فقدان البيانات.
أمان سلسلة التوريد حماية ضد الاعتماديات المخترقة (event-stream 2018، ua-parser-js 2021)
Dependencies as a build gate
Every build checks all dependencies against the vulnerability database. New findings block; known ones sit in a dated baseline that may only shrink.
تنبيهات Dependabot
يتحقق GitHub Dependabot يوميًا ضد قاعدة بيانات CVE. طلبات سحب أمان تلقائية.
تم الالتزام بملف القفل
package-lock.json في المستودع. يمنع CI من سحب إصدارات مختلفة عن المحلية.
SSRF protection on outbound fetches
Every address that comes from user input is checked before Wavor fetches it. Private networks are blocked, and each redirect is checked again instead of being followed blindly.
تصحيحات الأمان التلقائية
unattended-upgrades installs operating-system security fixes automatically.
البرامج النصية الخارجية: CORS + المحيل
Turnstile (Cloudflare) محملة مع crossOrigin anonymous + referrerPolicy no-referrer. لا تسرب بيانات الاعتماد.
تتبع الأخطاء (مستضاف ذاتيًا)
تنبيهات الأخطاء في الوقت الحقيقي مع تتبع المكدس.
المقاييس (Prometheus + Grafana)
زمن الطلب، استعلامات قاعدة البيانات، الذاكرة، مقاييس الأعمال المخصصة.
مراقبة الخادم
الوقت الفعلي، وحدة المعالجة المركزية، الذاكرة، القرص: فحوصات آلية على مدار الساعة.
أمان تحميل الملفات (7 طبقات) حماية ضد البرمجيات الضارة، هجمات متعددة اللغات، SVG-XSS، عبور المسار، كشف MIME
الطبقة 1: بوابة الحجم المطلق (100 ميجابايت)
حد أقصى صارم ضد قنابل zip + DoS. Multer + الدفاع في العمق.
الطبقة 2: بوابة الحجم حسب النوع
الصور 5 ميجابايت، PDF 20 ميجابايت، الفيديو 100 ميجابايت. حدود محددة حسب النوع.
الطبقة 3: قائمة بيضاء MIME + قائمة سوداء
22 نوعًا مسموحًا. HTML/JS/EXE/SH/JAR محظورة صراحة (متجهات XSS).
الطبقة 4: تطهير أسماء الملفات
تم حظر التنقل عبر المسار (../)، بايت فارغ، أسماء محجوزة في Windows.
الطبقة 5: تحقق من بايت السحر
يجب أن يتطابق محتوى الملف مع الامتداد + MIME. مكتبة نوع الملف تكشف هجمات 'evil.exe renamed picture.jpg'.
الطبقة 6: تطهير SVG
DOMPurify يزيل علامات <script> المدمجة من SVGs. بدون تنظيف، تحميل SVG هو متجه XSS شائع.
Layer 7: virus scan
Server-side virus scan before storage, provided the scanner is running on the server. If it is missing, that is logged rather than passed over silently.
دفاع XSS في العمق (4 طبقات) XSS المخزنة، المنعكسة، DOM، سلسلة التوريد. جميع المتجهات مغطاة
الطبقة 1: الهروب التلقائي لـ React JSX
يتم الهروب من جميع مدخلات المستخدم بشكل افتراضي. يتم عرض علامات <script> كنص، ولا يتم تنفيذها أبدًا. قاعدة الكود: لا تستخدم dangerouslySetInnerHTML مع مدخلات المستخدم.
الطبقة 2: مطهر DOMPurify
sanitizeProse() + sanitizeEmailPreview() تنظف HTML المقالات، معاينات البريد الإلكتروني + markdown. تزيل <script>، <iframe>، on*-handlers، javascript:/data: URIs.
الطبقة 3: CSP script-src 'self'
حتى إذا فشلت الطبقات 1+2: المتصفح يمنع البرامج النصية الأجنبية. القائمة البيضاء فقط لـ Stripe + Turnstile captcha.
الطبقة 4: الأنواع الموثوقة (الإدارة)
require-trusted-types-for 'script' على admin.wavor.io يجبر كل تعديل DOM من خلال سياسة. يمنع أخطاء المكتبة من التسبب في DOM-XSS.
نحن شفافون: نحن نبني ولا نملك شهادات رسمية بعد. لكننا بالفعل نطبق المعايير ونعمل بنشاط نحوها.
DSGVO / GDPR (EU)
تم التنفيذ UK GDPR (Data Protection Act 2018)
تم التنفيذ LGPD (Brasilien)
تم التنفيذ DPDP Act 2023 (Indien)
تم التنفيذ AVG (Niederlande)
تم التنفيذ ePrivacy (Cookie-Consent)
تم التنفيذ DSA (Digital Services Act)
تم التنفيذ
ISO 27017 + 27018 (Cloud)
مخطط
ISO 42001 (AI Management)
مخطط نحن نتماشى أيضًا مع قانون الذكاء الاصطناعي في الاتحاد الأوروبي، NIS2 و GoBD (المحاسبة الألمانية). هذه لوائح، وليست شهادات.
We only work with vetted, certified providers. Each one has been checked for security and data protection.
Hetzner Online GmbH ISO 27001, data centre in Germany
Cloudflare, Inc. SOC 2, ISO 27001
Stripe Payments Europe Ltd. PCI DSS Level 1
Amazon Web Services, Inc. (AWS) ISO 27001, SOC 2
OVH SAS (OVHcloud) ISO 27001, stored in Germany. Encryption at rest by the provider (AES-256).
Backblaze, Inc. SOC 2. Bucket with Object Lock (compliance mode): once written, a backup cannot be deleted before its retention date.
Twilio, Inc. SOC 2, ISO 27001
Mistral AI SAS SOC 2 Type II, ISO 27001/27701, data in the EU
OpenAI LLC SOC 2 Type II, no training on API inputs
OpenProvider B.V. EU-based (Netherlands)
الإبلاغ عن مشكلة أمان هل وجدت ثغرة؟ أبلغ عنها بشكل سري لفريقنا. نحن نأخذ كل تقرير على محمل الجد وسنعود إليك في أسرع وقت ممكن.
الإبلاغ