प्लैटफ़ॉर्म पर साइन किए गए ऐप्लिकेशन, प्लैटफ़ॉर्म पैकेज (android) के साथ एक ही (या उससे मिलते-जुलते) साइनिंग सर्टिफ़िकेट शेयर करते हैं. प्लैटफ़ॉर्म पर साइन किया गया ऐप्लिकेशन, सिस्टम ऐप्लिकेशन (सिस्टम इमेज वाले पार्टीशन पर मौजूद) या नॉनसिस्टम ऐप्लिकेशन हो सकता है. प्लैटफ़ॉर्म के सिग्नेचर की अनुमतियां, प्लैटफ़ॉर्म पैकेज से तय की गई अनुमतियां होती हैं. इनमें signature सुरक्षा का लेवल भी होता है. डीबग की जा सकने वाली बिल्ड वे बिल्ड होती हैं जिनके लिए android.os.Build.isDebuggable() की वैल्यू true होती है. जैसे, userdebug या eng बिल्ड.
पहले, डिवाइस बनाने वाली कंपनियों के पास यह कंट्रोल नहीं होता था कि वे प्लैटफ़ॉर्म पर साइन किए गए नॉनसिस्टम ऐप्लिकेशन को signature की कौनसी अनुमतियां दे सकती हैं.
Android 15 से, मैन्युफ़ैक्चरर /etc/permissions डायरेक्ट्री में मौजूद सिस्टम कॉन्फ़िगरेशन वाली एक्सएमएल फ़ाइलों में, प्लैटफ़ॉर्म के सिग्नेचर की अनुमतियां साफ़ तौर पर दे सकते हैं. अगर किसी ऐसे प्लैटफ़ॉर्म पर हस्ताक्षर किए गए नॉनसिस्टम ऐप्लिकेशन को प्लैटफ़ॉर्म के हस्ताक्षर की अनुमति के लिए अनुमति वाली सूची में नहीं जोड़ा गया है, तो यह अनुमति इस तरह काम करती है जैसे कि ऐप्लिकेशन पर, डीबग नहीं की जा सकने वाली बिल्ड पर प्लैटफ़ॉर्म के हस्ताक्षर नहीं किए गए हैं.
अनुमति वाली सूची जोड़ना
ऐप्लिकेशन के लिए, अनुमति वाली सूचियों को एक एक्सएमएल फ़ाइल या /etc/permissions डायरेक्ट्री में मौजूद कई एक्सएमएल फ़ाइलों में शामिल किया जा सकता है:
/etc/permissions/signature-permissions-OEM_NAME.xml/etc/permissions/signature-permissions-DEVICE_NAME.xml
कॉन्टेंट को व्यवस्थित करने के तरीके पर कोई सख्त नियम लागू नहीं होता. डिवाइस बनाने वाली कंपनियां, कॉन्टेंट का स्ट्रक्चर तय कर सकती हैं. हालांकि, यह ज़रूरी है कि अनुमति वाली सूची में, सही ऐप्लिकेशन और उनकी अनुमतियां जोड़ी जाएं.
अनुमति वाली सूची को पसंद के मुताबिक बनाना
AOSP में, अनुमति वाली सूची को लागू करने की सुविधा शामिल है. इसे ज़रूरत के हिसाब से पसंद के मुताबिक बनाया जा सकता है. यह सुविधा, खास अनुमतियों की अनुमति वाली सूचीकी तरह ही होती है. उदाहरण के लिए:
<!--
~ This XML file declares which platform signature permissions to grant to
~ platform signed nonsystem apps.
-->
<permissions>
<signature-permissions package="com.android.example">
<permission name="android.permission.READ_DEVICE_CONFIG"/>
...
</signature-permissions>
...
</permissions>
ज़रूरी अनुमतियां ढूंढना
ज़रूरी अनुमतियां ढूंढने के लिए, प्लैटफ़ॉर्म पर साइन किया गया ऐप्लिकेशन इंस्टॉल करें. इसके बाद, डिवाइस के लॉग में, चेतावनी वाले मैसेज के इस फ़ॉर्मैट को देखें:
Signature permission {PERMISSION_NAME} for package {PACKAGE_NAME} ({PACKAGE_PATH}) not in signature permission allowlist
सिस्टम, डीबग की जा सकने वाली बिल्ड पर अनुमति दे सकता है. हालांकि, डीबग नहीं की जा सकने वाली बिल्ड पर अनुमति नहीं दी जा सकती. जैसे, user बिल्ड.