1. ما الذي يسافر مع التقرير
ثلاث قيم تجعل التقرير ذاتي التحقق. تظهر على مُنتَج التقرير وعلى بيانات بوابة المشاركة العامة الوصفية للرابط.content_hash — SHA-256 للأدلة
content_hash — SHA-256 للأدلة
خلاصة SHA-256 بصيغة hex بحروف صغيرة لأدلة JSON القانونية للتقرير.
البايتات حتمية لتقرير معطى، فأي شخص يملك نفس الأدلة يعيد حساب التجزئة
المطابقة. أي تحرير للأدلة يغيّر هذه القيمة.
signature — Ed25519 على التجزئة
signature — Ed25519 على التجزئة
توقيع Ed25519 بصيغة base64 محسوب على
content_hash بصيغة hex. يثبت
أن التجزئة وُقِّعت بمفتاح توقيع OrcaRouter ولم تُزوَّر.sig_key_id — أي مفتاح وقّعه
sig_key_id — أي مفتاح وقّعه
معرّف قصير ثابت للمفتاح العام النشط (مثلاً
orca- متبوعاً بشظية
hex). يستخدمه المُتحقِّق لتأكيد أن التقرير وُقِّع بالمفتاح المنشور
حالياً — تقرير موقّع بمعرّف مفتاح مجهول يفشل مغلقاً.يغطي التوقيع تجزئة المحتوى، لا بايتات PDF أو CSV أو JSON المُعرَّضة
مباشرةً. تُعرَض نفس الأدلة إلى الصيغ الثلاث جميعاً من تجزئة واحدة، فضمان
السلامة على الأدلة الأساسية — كل تصدير لتقرير معطى يتشارك
content_hash
وsignature وsig_key_id واحداً.2. اجلب المفتاح العام
يُنشَر مفتاح التوقيع العام عند نقطة نهاية مفتوحة — لا استيثاق، ولا سياق مساحة عمل. يستدعيها مدقق مباشرةً.public_key هو مفتاح Ed25519 العام بطول 32 بايت مُرمّز بـ base64. يجب
أن يطابق key_id هنا sig_key_id على التقرير — إن لم يطابق، فقد وُقِّع
التقرير بمفتاح مختلف (مدوَّر أو أقدم على الأرجح) ولن يتحقق مقابل هذا
المفتاح المنشور.
3. تحقّق من التوقيع
يمكنك التحقق من التوقيع بطريقتين. إما أن تطلب من OrcaRouter فحص الثلاثية نيابةً عنك، أو تتحقق بالكامل دون اتصال بالمفتاح العام المنشور.نقطة نهاية التحقق المستضافة
أرسل (POST) القيم الثلاث من التقرير إلى نقطة نهاية التحقق المفتوحة. إنها عامة — يستدعيها مدقق دون أوراق اعتماد.valid: true يعني أن التوقيع صحيح مقابل المفتاح النشط لمعرّف المفتاح
ذاك. valid: false يعني إما أن التوقيع لا يطابق التجزئة، أو أن التجزئة
فارغة، أو أن sig_key_id لا يطابق المفتاح المنشور حالياً.
التحقق دون اتصال بالمفتاح العام
المدقق المتشكّك لا يحتاج للوثوق بنقطة نهاية التحقق إطلاقاً. ولأن الخوارزمية هي Ed25519 قياسية على تجزئة المحتوى بصيغة hex، فالتوقيع قابل للفحص بأي مكتبة تشفير:4. ما الذي يغطّيه التوقيع
التوقيع يثبت أنcontent_hash للتقرير وُقِّع بواسطة OrcaRouter، والتجزئة
تثبت أن الأدلة غير محرَّرة. دقّة واحدة: تُحسَب التجزئة على صيغة
قانونية من الأدلة التي تبنيها البوابة — لا على البايتات الخام لملف
JSON أو PDF. لذا إعادة تجزئة المُنتَج المُنزَّل بنفسك لن تعيد إنتاج
content_hash. استخدم نقطة نهاية التحقق (§2/§3)، التي تعيد حساب التجزئة
القانونية وتفحص توقيع Ed25519 نيابةً عنك:
| الفحص | المعنى |
|---|---|
signature_valid: true | وُقِّع content_hash بمفتاح OrcaRouter — الأدلة أصلية وغير محرَّرة. |
| معرّف المفتاح يطابق | sig_key_id للتقرير == معرّف المفتاح المنشور ← موقّع بالمفتاح النشط. |
5. التحقق من تقرير مُشارَك
عندما ترسل لمدقق رابط بوابة مشاركة بدلاً من الملف، تحمل بيانات البوابة الوصفية بالفعلcontent_hash و
signature وsig_key_id، إضافةً إلى علامة signature_valid محسوبة على
الخادم. يستطيع المدقق الوثوق بالعلامة و إعادة تشغيل الفحوص أعلاه مقابل
المفتاح العام باستقلالية — لا تحتاج بوابة المشاركة تسجيل دخول، ومسار
التحقق متطابق.
لا يُقدَّم مُنتَج مُشارَك إلا بينما لا تزال منطقته المختومة تطابق
منطقة إقامة البيانات المُعلَنة
لمساحة عملك. إذا غُيِّرت المنطقة، تُحجَب التنزيلات حتى لو بقيت بيانات
التوقيع الوصفية قابلة للتحقق. هذا بحسب التصميم — انظر
القراءات العابرة للمناطق.
6. إلى أين تذهب بعد ذلك
التقارير الموقّعة
كيف يُولَّد تقرير موقّع، وأي أدلة يلتقط، وكيف تسكك رابط مشاركة مدقق.
تصدير الأدلة
اسحب أدلة التقرير كـ PDF أو CSV أو JSON لأوراق عمل مدققك.
إقامة البيانات
كيف يحكم ختم المنطقة على تقرير أين يُخزَّن ويُقدَّم.
المسؤولية المشتركة
ما الذي يضمنه OrcaRouter على مسار البوابة مقابل ما يبقى لك.
