مبني على الخوادم المحلية
لا يوجد وضع SaaS ولا بديل مستضاف. Doconut تُرسل كملفات DLL تقوم بالإشارة إليها؛ إذا كانت خوادمك غير متصلة، لا يزال العرض يعمل. غياب مسار التحميل هو خاصية في الهندسة المعمارية، وليس إعداد تكوين يمكن لأحد تغييره.
Doconut هي مكتبة .NET تستضيفها بنفسك، ليست خدمة مستندات تقوم بتحميلها. يتم فتح الملفات وعرضها وتقديمها بالكامل داخل البنية التحتية الخاصة بك — وهذا ما يجعلها صالحة للأعباء التنظيمية حيث لا يمكن للمستند نفسه أن يعبر أي حدود تنظيمية.
البنية التحتية الخاصة بك — حدود الثقة
تطبيقك
يقرأ الملف من أي مكان موجود بالفعل: القرص المحلي، مشاركة شبكة، S3، Azure Blob، عمود قاعدة بيانات.
الوسيط Doconut
مسجل في خط الأنابيب الخاص بك باستخدام AddDoconut() و UseDoconut(). يعمل في عمليتك، تحت هويتك، في شبكتك.
صور الصفحات
Viewer.OpenDocumentAsync() ينتج صور صفحات مُرقّمة ويعيد رمز جلسة غير شفاف. ملف المصدر لا يُسلم للمتصفح أبدًا.
المتصفح
أداة JavaScript تطلب الصفحات باستخدام رمز الجلسة من نقطة النهاية الخاصة بك. لا ترى مسار ملف، أو عنوان URL للتخزين، أو البايتات الأصلية أبدًا.
لم يتم الاتصال به أبدًا أثناء العرض
العمارة
خدمة عارض مستضيف تعمل عن طريق استلام ملفك. Doconut تعمل دون استلامه أبدًا. يتم قراءة المستند بواسطة عمليتك الخاصة، وتحويله إلى صور صفحات بواسطة عمليتك الخاصة، وبثه إلى المتصفح بواسطة عمليتك الخاصة — Doconut هي المكتبة التي تقوم بالعمل، ليست طرفًا في النقل.
نموذج الأمان
لا يوجد وضع SaaS ولا بديل مستضاف. Doconut تُرسل كملفات DLL تقوم بالإشارة إليها؛ إذا كانت خوادمك غير متصلة، لا يزال العرض يعمل. غياب مسار التحميل هو خاصية في الهندسة المعمارية، وليس إعداد تكوين يمكن لأحد تغييره.
تُعيد الدالة OpenDocumentAsync() سلسلة غير شفافة، ليست مسار ملف أو معرف يمكن للعميل العبث به. لا يمكن للمتصفح تعداد المستندات، أو تخمين رمز مجاور، أو إعادة كتابة رمز إلى ملف مختلف. عالج الرموز كأسرار: لا تسجلها أبداً ولا تحتفظ بها على جانب العميل خارج العارض.
Doconut لا يقرر أبداً من يمكنه قراءة المستند. تستدعي OpenDocumentAsync() فقط بعد أن يجتاز فحص التفويض الخاص بك، لذا يرث العارض أي تحكم بالوصول يفرضه تطبيقك — الأدوار، الإيجار، أذونات مستوى السجل، كل ذلك.
يتلقى المتصفح صور الصفحات المُعالجة، وليس المستند الأصلي. المستخدم الذي يمكنه عرض العقد لا يستطيع بسهولة استخراج ملف DOCX الأصلي، والصورة المسربة للصفحة لا تحمل التغييرات المتعقبة أو التعليقات أو الأعمدة المخفية أو البيانات الوصفية التي كان يحتويها الملف الأصلي.
يتم فتح الملفات المشفرة والمحميّة بكلمة مرور على الخادم باستخدام كلمة المرور التي يزودها كودك. تمر كلمة المرور عبر حدود العملية فقط داخل تطبيقك — لا تُرسل إلى العميل، ولا تُرسل إلينا.
التراخيص هي ملف .lic محلي يتم حله عبر options.LicensePath أو Viewer.DoconutLicense(path). لا يوجد رد نداء للتفعيل ولا فحص ترخيص أثناء التشغيل عبر الشبكة، وهذا ما يجعل النشر المعزول ممكنًا تمامًا.
الامتثال
الإطار الصادق له أهمية أكبر هنا من جدار الشعارات. Doconut هي مكتبة، ليست مزود خدمة. نحن لا نستقبل أو نخزن أو نعالج مستنداتك، مما يعني أننا لا نصبح معالجًا أو معالجًا فرعيًا أو شريكًا تجاريًا عند نشره. هذا يزيل فئة كاملة من الأوراق — لكن الضوابط المتعلقة بالنشر تظل لك لتديرها وتثبتها.
نظرًا لأن المعلومات الصحية المحمية لا تصل أبدًا إلى Doconut، لا توجد علاقة شريك تجاري لتغطيتها باتفاقية BAA. يتم عرض السجلات ودراسات DICOM داخل بيئتك الخاصة. الضمانات نفسها — التحكم في الوصول، سجل التدقيق، التشفير أثناء الراحة وعند النقل — تظل مسؤوليتك، وتُطبق في التطبيق الذي تشغله بالفعل.
تبقى البيانات الشخصية حيثما وضعتها. لا يوجد نقل عبر الحدود يُدخل بواسطة المشاهد، لأنه لا يوجد نقل على الإطلاق: يتم قراءة المستند وعرضه في نفس الولاية القضائية التي نشرت الخادم فيها. تصبح الإقامة قرار استضافة، وليس تفاوضًا مع البائع.
النشر بدون وصول إنترنت خارجي هو تكوين مدعوم بدلاً من حل مؤقت. قم بحزم ملفات DLL وملف .lic، ثبّتها في الحاوية، وسيعمل المشاهد إلى أجل غير مسمى للنطاق الإصدار الذي يغطيه الترخيص.
Doconut لا يعلن عن شهادة SOC 2 أو ISO 27001 أو HITRUST، ولا ينبغي لك تمثيله كمعتمد. الحجة الأمنية هي بنية معمارية: البائع لا يكون أبدًا في مسار البيانات. إذا كان مدققك يحتاج إلى سرد للتحكم، فهذا هو السرد.
النشر
الهدف الكلاسيكي. IIS أو Kestrel، في مركز البيانات الخاص بك أو على جهاز افتراضي سحابي تتحكم فيه.
مدعوم لـ .NET 8. قم بشحن العارض كجزء من صورتك الخاصة واحفظ ملفات الترخيص خارج الطبقة باستخدام سر مركب.
عدة عقد خلف موازن تحميل تشارك ذاكرة التخزين المؤقت للتصيير، لذا الجلسة المفتوحة على عقدة واحدة تظل قابلة للقراءة على أخرى.
لا يلزم أي اتصال خارجي في أي مرحلة بعد التثبيت — ليس للتصيير، ولا للتحويل، ولا للترخيص.
العمليات
لا شيء من هذه الأمور غريب. إنها القليل من الأشياء التي غالبًا ما تسوء في نشر حقيقي، بالترتيب الذي عادةً ما تهاجم فيه.
لا. Doconut هي مكتبة تعمل داخل تطبيقك. لا يوجد نقطة تحميل، ولا طبقة عرض مستضافة ولا قناة تتبع تنقل محتوى المستند. إذا لم يكن لخادمك مسار إلى الإنترنت، فإن العارض لا يزال يعرض بشكل طبيعي.
ليس عبر العارض. المتصفح يتلقى صور الصفحات المرسومة التي يتم الإشارة إليها برمز جلسة غير شفاف. إذا كنت تريد زر تنزيل، عليك تنفيذه بنفسك — مما يعني أن قرار إصدار الملف الأصلي يبقى خيارًا صريحًا في شفرتك الخاصة.
سلسلة غير شفافة تُرجعها Viewer.OpenDocumentAsync() يقدمها عنصر JavaScript لجلب الصفحات. إنها ليست معرف مستند، ولا مسار، ولا شيء لتخزينه أو إعادة استخدامه. عالجها كبيان حامل ذو عمر قصير.
لا. الترخيص يقرأ ملف .lic محلي. لا توجد مكالمة تفعيل ولا تجديد دوري، وهذا هو السبب الدقيق لعمل التثبيتات المعزولة عن الشبكة.
نعم. العرض والتحويل والترخيص كلها محلية. الشيء الوحيد الذي توفره اتصال الإنترنت هو تنزيل التحديثات، والتي يمكنك أيضًا نقلها عبر وسائط.
نحن لا ندعي أيًا منهما، ولا ينبغي لك تمثيل المنتج كمعتمد. الحقيقة ذات الصلة للتدقيق مختلفة وعادةً أقوى: Doconut لا يكون أبدًا في مسار البيانات، لذا لا توجد بيئة بائع لتقييمها من قبل المدقق في المقام الأول.
يقوم شفرتك بتوفير كلمة المرور عند فتح المستند، على جانب الخادم. تُستخدم لفك التشفير في عمليتك الخاصة ولا تُنقل أبدًا إلى المتصفح أو أي مكان آخر.
اطلب ترخيصًا مؤقتًا وشغّل Doconut على البنية التحتية الخاصة بك، ضد مستنداتك الخاصة، مع قواعد جدار الحماية الخاصة بك مفعلة. هذا هو التقييم الوحيد الذي يثبت الفكرة.
100% العرض على خوادمك الخاصة