
Tekunda Team

Tekunda Team

معظم طلبات النشر على AppExchange بتقع في قائمة قصيرة ومتوقعة، وعلى رأسها التحكم في الصلاحيات. اشتغل على القائمة دي بالترتيب: فرض الصلاحيات في وضع المستخدم أولا، ثم فرز نتائج الفحص، ثم مستندات التقديم. كده بتشيل معظم الأسباب اللي بتخلي المراجع يرجّع لك الحزمة. سيلزفورس بتقول إن المراجعة بتاخد عادة من 4 إلى 5 أسابيع، يعني الرفض بيكلفك دورة إصدار كاملة مش بعد الظهر.
تِكوندا عدّت بحزم مُدارة من مراجعة أمان AppExchange في قطاعات الرعاية الصحية واللوجستيات والتصنيع. اللي جاي ده هو ترتيب الشغل عندنا فعلا، مش شرح نظري للعملية.
صلّح من فوق لتحت. البنود اللي فوق هي الأكثر تكرارا وكمان الأغلى لو أضفتها متأخر، وعشان كده تأجيلها للآخر هو اللي بيأخر التقديم دورة كاملة.
WITH USER_MODE مع SOQL وAccessLevel.USER_MODE مع
استدعاءات Database بدل سلاسل isAccessible() المكتوبة
يدويا، لأنها سهل تفضل ناقصة.
@AuraEnabled يشتغل من غير مشاركة وانت مش واخد بالك. اكتب
with sharing صراحة على كل كلاس، بما فيها الكلاسات الداخلية والمساعدة.
escape="false" أو lwc:dom="manual" أو
innerHTML لازم تكون اتنضفت قبل ما توصل، مش بعدها.
System.debug.
المراجعين متوقعين بدلها Named Credentials وprotected custom metadata.
المطلوب مش صفر ملاحظات، والسقف بيختلف من أداة للتانية. إرشادات التحضير من سيلزفورس نفسها بتحددها كالآتي:
من ساعة ما سيلزفورس أوقفت ماسح Chimera المستضاف في 2025-06-16، بقيت بتشغّل الفحص الديناميكي ده بنفسك. بُص على تشغيل فحوصاتك الديناميكية بنفسك بعد Chimera عشان الأدوات المعتمدة والتقرير اللي بتسلّمه.
في تقديماتنا، في أربع فئات بترجع إيجابيات كاذبة حقيقية بتكرار يستاهل تحسب حسابه: ملاحظات صلاحيات على كود بيفرض وضع المستخدم أصلا، وملاحظات مشاركة على كلاسات مبيتم الدخول لها إلا من سياق طبّق المشاركة، وملاحظات مكتبات قديمة اتربطت برقم إصدار جوه static resource مرفقة، وملاحظات cross-site scripting منعكس على باراميترات عمرها ما بتوصل للـ DOM.
بس إنك على حق مش كفاية، المستند هو اللي بيعدّي. سيلزفورس بتطلب مستند يشرح ليه كل بند متعلّم عليه مش بيمثل خطر أمني، وبتقول لازم تكون محدد في شرح إزاي بتحمي نفسك من الثغرة المذكورة. اكتب لكل ملاحظة بندا مستقلا: اسم الأداة ورقم القاعدة، الملف والسطر، جملة واحدة توصف مسار البيانات، الإجراء الوقائي بالظبط، ومكانه في الحزمة. الرد بسطر واحد بيرجع لك على شكل سؤال، والأسئلة بتكلف أسابيع. لشرح أعمق لصيغة التبرير والأخطاء اللي بتخليه يترفض، شوف كيف توثّق النتائج الإيجابية الخاطئة للمراجعة الأمنية في Salesforce.
سيلزفورس بتذكر إن الحل بياخد عادة من 4 إلى 5 أسابيع في المراجعة، وإن كل حل مدفوع بيتباع على المتجر عليه رسوم $999 للتقديم الأول ولكل محاولة بعده. الاتنين بيوصلوا لنفس النتيجة: قدّم شغل الصلاحيات في الأول، لأن أرخص تقديم هو اللي بتعمله مرة واحدة بس.
لو بتجهّز منتج للنشر وتفضّل إن المراجعة تكون في إيد ناس عدّتها قبل كده، تِكوندا بتبني وتحزّم منتجات AppExchange كشريك PDO معتمد من سيلزفورس.
هل التطبيقات المجانية محتاجة مراجعة أمان؟
أيوه. أي حل بيتوزع على المتجر لازم يعدي المراجعة قبل ما يتنشر. الرسوم اللي سيلزفورس موثقاها بتخص الحلول المدفوعة.
هل Salesforce Code Analyzer لوحده يكفي؟
لا. الإصدار الخامس بيغطي كود Apex وVisualforce وJavaScript وTypeScript جوه الحزمة. أي نقطة اتصال خارجية بينادي عليها تطبيقك لسه محتاجة تقرير فحص ديناميكي خاص بيها.
إيه أكتر سبب متكرر للرفض؟
التحكم في الصلاحيات. الاستعلامات وعمليات DML اللي بتشتغل في وضع النظام، والكلاسات اللي بتورث المشاركة بدل ما تعلنها، بتطلّع ملاحظات أكتر من أي حاجة تانية.
هل تطبيق Agentforce أو تطبيق قائم على وكلاء بيغيّر القائمة؟
نفس مراجعة الأمان بتنطبق على الحلول الوكيلية. الفرق بيبان في توثيق تدفق البيانات، لأن كل خدمة خارجية الوكيل يقدر يناديها لازم تكون موصوفة ومفحوصة.