ProofSnap API

حماية البيانات في ProofSnap API: تخزين داخل الاتحاد الأوروبي

حتى تاريخه (أكتوبر 2026)، تلتقط واجهة ProofSnap API صفحات الويب على خوادم داخل الاتحاد الأوروبي (AWS في فرانكفورت)، وتخزّن كل حزمة أدلة مشفّرة بمعيار AES-256، وتحتفظ في أيرلندا بنسخة ثانية من كل حزمة تُنشأ في الوضع الفعلي. تُختم كل حزمة ببصمات SHA-256 وتوقيع RSA-4096، وتُحفظ 10 سنوات مع ضبط صلاحيات الوصول. اتفاقية معالجة البيانات (DPA) متاحة عند الطلب.

بقلم ، مؤسس ProofSnap وكبير مهندسيه. صمّم واجهة API وإجراءات الحماية الموضّحة في هذه الصفحة.

ما الذي يحدث لبياناتك أثناء الالتقاط

تمرّ كل عملية التقاط، سواء أُجريت عبر ProofSnap API أم من لوحة التحكم، بخمس مراحل:

  1. ترسل عنوان URL عبر HTTPS، إما من خلال API باستخدام مفتاح API الخاص بك، وإما من لوحة التحكم.
  2. تُحمَّل الصفحة في متصفح يعمل على خوادم ProofSnap في فرانكفورت، ولا يتصل هذا المتصفح إلا بعناوين عامة. وفي الوضع الفعلي يُرسَل عنوان URL أيضاً إلى Internet Archive ما لم توقف هذا الخيار.
  3. تُحسب بصمة SHA-256 لكل ملف، ويُوقَّع ملف البيان (manifest). ولا يُرسَل إلى خوادم التقويم في OpenTimestamps، ولا إلى Disig a.s. إذا طلبت طابعاً زمنياً مؤهلاً، سوى بصمة ملف البيان.
  4. تُخزَّن الحزمة المختومة مشفّرة في فرانكفورت، وتُنسخ كل حزمة تُنشأ في الوضع الفعلي إلى أيرلندا.
  5. عندما تصبح الحزمة جاهزة، تنزّلها أو تتلقى webhook موقّعاً.

أين تُخزَّن البيانات

تعتمد ProofSnap API على أربع خدمات لتخزين البيانات وحمايتها:

API
Amazon Web Services داخل الاتحاد الأوروبي، في فرانكفورت (eu-central-1).
بيانات الحساب وعمليات الالتقاط
Google Cloud Firestore داخل الاتحاد الأوروبي، في فرانكفورت (europe-west3).
تسجيل الدخول
Firebase Authentication، وهي خدمة عالمية من Google.
حزم الأدلة
Amazon S3 داخل الاتحاد الأوروبي، في فرانكفورت (eu-central-1). ولكل حزمة تُنشأ في الوضع الفعلي نسخة ثانية في أيرلندا (eu-west-1).

ما الذي يُعالَج خارج الاتحاد الأوروبي

تبقى حزم الأدلة وبيانات عمليات الالتقاط في فرانكفورت وأيرلندا. ولا تعالج الخدمات الواقعة خارج الاتحاد الأوروبي سوى البيانات المحدودة التالية:

الالتقاط على الخادم

تُحمَّل الصفحة وتُلتقط على خوادم ProofSnap، لا على جهازك. ترسل عنوان URL وتتلقى حزمة أدلة مختومة. ولا يتصل متصفح الالتقاط إلا بعناوين عامة: فالعناوين الخاصة وعناوين الاسترجاع (loopback) وعناوين خدمات البيانات الوصفية السحابية تُرفض، حتى بعد إعادة التوجيه.

افتراضياً، عندما تُجرى عملية الالتقاط في الوضع الفعلي، يُرسَل عنوان URL أيضاً إلى Internet Archive (web.archive.org) ليتسنّى إنشاء نسخة عامة مستقلة. ولا تُرسَل أبداً عناوين URL التي تبدو خاصة، مثل روابط تسجيل الدخول وإعادة تعيين كلمة المرور والمشاركة، ولا العناوين التي تحمل رمزاً مميزاً (token). أما عنوان URL الذي يتضمن معاملات استعلام فلا يُرسَل إلا إذا ضبطت خيار الالتقاط external_archive على true. واضبطه على false لإيقاف الأرشفة كلياً. وتُسجَّل نتيجة الأرشفة في الحزمة.

كيف تُختم كل حزمة

البصمات
تُحسب بصمة SHA-256 لكل ملف أدلة في الحزمة، وتُدرج في ملف manifest.json.
التوقيع
يُوقَّع ملف manifest.json بمفتاح RSA-4096 يُولَّد لهذه الحزمة وحدها. ويُتلَف المفتاح الخاص بعد التوقيع، ويُرفق المفتاح العام بالحزمة. ويثبت التوقيع سلامة الحزمة، أي أنها لم تتغير بعد توقيعها.
طابع زمني في سلسلة كتل Bitcoin
تُرسَل بصمة ملف البيان إلى خوادم التقويم في OpenTimestamps لتثبيتها في سلسلة كتل Bitcoin. وبعد تأكيد التثبيت، يُحفظ الإثبات المكتمل مع الحزمة، وهو يبيّن أن الحزمة كانت موجودة في وقت لا يتجاوز لحظة التثبيت. وإذا تعذّرت إضافة الإثبات، يُسجَّل ذلك في الحزمة.
طابع زمني مؤهل
عند طلبه (بمفاتيح API الفعلية فقط، وتُحتسب رسوم كل طابع على حدة)، يحصل ProofSnap على طابع زمني إلكتروني مؤهل (RFC 3161) من Disig a.s.، وهي مزوّد خدمات ثقة مؤهل مُدرج في قائمة الثقة الأوروبية. وإذا تعذّرت إضافة الطابع الزمني، يُسجَّل ذلك في الحزمة.
التحقق دون اتصال بالإنترنت
تتضمن كل حزمة برامج نصية للتحقق (verify.sh لنظامي macOS وLinux، وverify.ps1 لنظام Windows) تتيح فحص الحزمة دون اتصال بالإنترنت ودون الاعتماد على ProofSnap.

سجل الحزم الصادرة

يسجّل ProofSnap بصمة ملف البيان لكل حزمة يُصدرها منذ إنشاء هذا السجل. ويمكن لأي شخص البحث عن بصمة عبر GET /v1/ledger/{hash}: فإذا وُجدت البصمة في السجل، فهذا يؤكد أن ProofSnap أصدر هذه الحزمة بعينها. وتجد تفاصيل نقطة النهاية في وثائق API.

نسخة ثانية في منطقة أخرى من الاتحاد الأوروبي

تُنسخ كل حزمة أدلة تُنشأ في الوضع الفعلي إلى حاوية Amazon S3 منفصلة في منطقة أخرى داخل الاتحاد الأوروبي (أيرلندا). وتظهر النسخة في غضون دقائق من إنشاء الحزمة، وتعرض نقطة النهاية GET /v1/captures/{id} حالة هذه النسخة لكل عملية التقاط. وتُحذف النسخة مع الأصل. أما الحزم التي تُنشأ في وضع الاختبار فلا تُنسخ.

مدة الحفظ

تُحفظ الأدلة 10 سنوات من تاريخ الالتقاط. أما الصفحة التي تُلتقط وفق جدول زمني، فتبدأ المدة من آخر مرة ثبت فيها أن النسخة الملتقطة ما زالت هي النسخة الحالية:

بعد انتهاء الاشتراك، أمامك 30 يوماً لتنزيل جميع بياناتك. وفي خطة Archive only تبقى أدلتك متاحة للقراءة والتنزيل والتحقق، حتى إن توقفت عن إجراء عمليات التقاط جديدة.

الحذف

الحزمة التي تحذفها من لوحة التحكم أو عبر API تنتقل أولاً إلى سلة المهملات، ويمكن استعادتها منها خلال 30 يوماً. بعد ذلك تُزال جميع إصداراتها المخزنة من موقعي التخزين كليهما. أما الحذف النهائي فيزيل الحزمة فوراً. وعند انتهاء مدة الحفظ، أو عند انقضاء مهلة الثلاثين يوماً المخصصة لتنزيل بيانات الحساب، تُزال جميع الإصدارات المخزنة بالطريقة نفسها. ولا يمكن حذف عملية التقاط موضوعة تحت الحفظ القانوني (legal hold) ما دام الحفظ القانوني قائماً. ويُحتفظ بسجل يبيّن من حذف الحزمة ومتى، دون الاحتفاظ بمحتواها.

من يمكنه الوصول إلى عمليات الالتقاط

مفاتيح API
لا يُخزَّن المفتاح الكامل إلا في صورة بصمة SHA-256، ويُعرض مرة واحدة فقط عند إنشائه. ويتوقف المفتاح المُبطَل عن العمل خلال 60 ثانية. وفي خطة Website Archive تكون مفاتيح API للقراءة فقط: تعرض عمليات الالتقاط وتنزّلها وتتحقق منها وتدير اشتراكات webhook. وفي هذه الخطة تُنشأ عمليات الالتقاط والجداول الزمنية من لوحة التحكم.
تسجيل الدخول إلى لوحة التحكم
Firebase Authentication. ويلزم تأكيد عنوان البريد الإلكتروني قبل إنشاء المفاتيح أو بدء عمليات الالتقاط أو شراء خطة.
سجل الوصول
إذا نزّل عملية الالتقاط أو تحقق منها أو نقلها إلى سلة المهملات أو استعادها أو حذفها شخصٌ غير منشئها (مثل مالك حساب الشركة أو عضو في القضية)، يُسجَّل ذلك في سجل عملية الالتقاط.
حدود معدل الطلبات
تخضع عمليات الالتقاط والتوثيق وسائر الطلبات المدفوعة لحدٍّ أقصى لمعدل الطلبات (rate limit) لكل حساب، يسري على جميع مفاتيح هذا الحساب معاً.

تشفير البيانات أثناء التخزين والنقل

أثناء النقل
تمرّ كل حركة البيانات الخاصة بـ API ولوحة التحكم وwebhooks عبر HTTPS (TLS).
أثناء التخزين
حزم الأدلة مشفّرة بمعيار AES-256 في كلتا الحاويتين (التشفير من جهة الخادم في Amazon S3، أي SSE-S3، وتتولى Amazon S3 إدارة مفاتيح التشفير). وتحظر كلتا الحاويتين أي وصول عام.

Webhooks: التوقيع ووجهات التسليم

التوقيع
تُوقَّع webhooks بخوارزمية HMAC-SHA256 وفق مواصفة Standard Webhooks. وتُوقَّع عمليات التسليم إلى عنوان webhook_url المحدد في طلب أو في جدول زمني بسر توقيع webhook الخاص بمفتاح API الذي حدّد هذا العنوان. ويمكن تدوير هذا السر مع فترة انتقالية مدتها 24 ساعة. ولاشتراك webhook على مستوى الحساب سر توقيع خاص به، يُعرض مرة واحدة فقط عند إنشاء الاشتراك.
وجهات التسليم
لا تُرسَل webhooks إلا إلى نقاط نهاية HTTPS عامة. ويُعاد تحليل اسم المضيف والتحقق منه قبل كل عملية تسليم، ولا يُنشأ الاتصال إلا بعنوان IP الذي جرى التحقق منه، لذا تُرفض العناوين الخاصة وعناوين الاسترجاع وعناوين خدمات البيانات الوصفية السحابية حتى بعد تغيير سجلات DNS. ولا تُتّبع عمليات إعادة التوجيه.

Webhooks: إعادة المحاولة والاشتراكات

إعادة المحاولة
إذا انتهت مهلة التسليم، أو تعذّر الاتصال، أو وصل رد يحمل رمز خطأ HTTP (باستثناء 410 Gone)، يُعاد التسليم بحدٍّ أقصى 5 مرات على مدى نحو 35 ساعة (بعد 5 دقائق، ثم 30 دقيقة، ثم ساعتين، ثم 8 ساعات، ثم 24 ساعة) بالمعرّف نفسه webhook-id، ليتمكن المستلم من تجاهل التكرارات. وتنتظر كل محاولة الرد 10 ثوانٍ على الأكثر.
التنزيل
لا تتضمن عمليات التسليم المعادة ولا عمليات التسليم عبر اشتراكات webhook رابط التنزيل (وهو صالح لمدة 24 ساعة). ويمكن للمستلم طلب رابط جديد عبر GET /v1/captures/{id}.
اشتراكات webhook
يُعطَّل اشتراك webhook على مستوى الحساب إذا ردّت نقطة النهاية بالرمز 410 Gone، أو بعد 5 أيام دون أي تسليم ناجح، أو عند إبطال مفتاح API الذي أُنشئ به الاشتراك إن كان قد أُنشئ بمفتاح. وتُحفظ الأحداث 30 يوماً، ويمكن طلبها عبر GET /v1/events.

الخدمات الخارجية

الدفع
تعالج Stripe المدفوعات، ولا يخزّن ProofSnap أرقام البطاقات.
رسائل الخدمة
تُرسَل رسائل تأكيد عنوان البريد الإلكتروني ورسائل رابط إعادة تعيين كلمة المرور عبر MailerSend.
الطوابع الزمنية
لا تتلقى خوادم التقويم في OpenTimestamps، ولا Disig a.s. عند طلب طابع زمني مؤهل، إلا بصمة ملف البيان، لا الأدلة نفسها.
استعلامات DNS وWHOIS
Google Public DNS وCloudflare DNS لتحليل اسم المضيف، وخدمات RDAP وWHOIS العامة لبيانات تسجيل النطاق، وذلك لتسجيل بيانات الموقع الملتقط.

الأسئلة والإبلاغ عن الثغرات واتفاقية معالجة البيانات (DPA)

راسلنا على support@getproofsnap.com إذا كانت لديك أسئلة، أو أردت الإبلاغ عن مشكلة أمنية، أو طلب اتفاقية معالجة البيانات (DPA). ولمعرفة كيفية إنشاء حساب وإجراء أول عملية التقاط، اطّلع على دليل الخطوات الأولى في لوحة تحكم ProofSnap.

ابدأ مجاناً: 50 عملية التقاط تجريبية