प्रत्येक फ़ीचर को केवल वही सिस्टम एक्सेस दें जिसे वह उचित ठहरा सके
सेटअप के दौरान हर सिस्टम अनुमति को स्वीकृत न करें। उस फ़ीचर से शुरुआत करें जिसे आप उपयोग करना चाहते हैं, तब तक प्रतीक्षा करें जब तक आप इसे सक्रिय न करें, और उस कार्रवाई को पूरा करने वाला सबसे छोटा विकल्प प्रदान करें। एक उपयोगी अनुमति सीमा (permission boundary) में छह फ़ील्ड होते हैं: फ़ीचर, सिस्टम संसाधन, ट्रिगर का समय, एक्सेस स्कोप, बिना-अनुमति वाला फ़ॉलबैक और निरस्तीकरण परीक्षण। उस कार्ड को माइक्रोफ़ोन, कैमरा, फ़ोटो, संपर्क, लोकेशन, ब्लूटूथ, आस-पास के डिवाइस, स्थानीय नेटवर्क और सूचनाओं (notifications) पर अलग-अलग लागू करें। एक ऑपरेटिंग-सिस्टम अनुमति डिवाइस संसाधन के भविष्य के एक्सेस को नियंत्रित करती है; यह पहले से अपलोड किए गए डेटा के सर्विस-साइड स्टोरेज, शेयरिंग या डिलीट करने की व्याख्या नहीं करती है। उन खाता नियंत्रणों को एक अलग कॉलम में रखें।
अनुमतियों से पहले फ़ीचर्स की सूची बनाएं
केवल उन्हीं फ़ीचर्स को सूचीबद्ध करें जिनका आप उपयोग करते हैं या परीक्षण करने की योजना बनाते हैं: वॉयस इनपुट, एक नई तस्वीर लेना, एक मौजूदा छवि संलग्न करना, ज्ञात संपर्कों को खोजना, स्थान-आधारित आउटपुट, एक एक्सेसरी को कनेक्ट करना, स्थानीय नेटवर्क पर किसी डिवाइस को खोजना, या सूचनाएं प्राप्त करना। प्रत्येक फ़ीचर के आगे, उसके लिए आवश्यक सटीक सिस्टम संसाधन लिखें। पूरे अनुमति पृष्ठ को एक ही "आवश्यक" सूची में कॉपी न करें। Android का कहना है कि कई कार्य व्यापक रनटाइम अनुमति के बिना विकल्पों का उपयोग कर सकते हैं, और यह अनुशंसा करता है कि उपयोगकर्ता द्वारा प्रासंगिक कार्रवाई शुरू करने तक प्रतीक्षा की जाए। यदि किसी फ़ीचर का कोई नामित ट्रिगर, दृश्यमान आउटपुट या विवरण नहीं है, तो उसकी अनुमति बंद रहने दें और मैपिंग को अनसुलझा चिह्नित करें।
उपयोग के समय पूछें और सिस्टम प्रॉम्प्ट पढ़ें
अनुमति अनुरोध का मूल्यांकन करना तब आसान होता है जब यह उस बटन के बाद आता है जिसे इसकी आवश्यकता होती है: माइक्रोफ़ोन से पहले रिकॉर्ड पर टैप करें, कैमरे से पहले स्कैन पर टैप करें, फ़ोटो से पहले चयन पर टैप करें। Android का रनटाइम मार्गदर्शन संदर्भ में पूछने, उपयोगकर्ता को रद्द करने की अनुमति देने और अनुमति अस्वीकार होने पर ऐप के अन्य हिस्सों को उपयोग योग्य रखने की अनुशंसा करता है। ऐप द्वारा स्टाइल किए गए पेज पर निर्भर रहने के बजाय ऑपरेटिंग-सिस्टम डायलॉग पढ़ें। ध्यान दें कि विकल्प एक बार के लिए है, चयनित आइटम के लिए है, अनुमानित है, उपयोग के दौरान है या अधिक व्यापक है। यदि स्टार्टअप पर बिना किसी फ़ीचर कार्रवाई के कई अनुमतियां दिखाई देती हैं, तो उन्हें अस्वीकार या स्थगित कर दें और बाद में प्रत्येक फ़ीचर को जानबूझकर खोलें।
पूरी लाइब्रेरी के बजाय पिकर या एकल कार्रवाई को प्राथमिकता दें
एक चयनित-आइटम वाला तरीका अक्सर पूरे संग्रह को खोले बिना पर्याप्त एक्सेस देता है। Android व्यापक अनुमति के विकल्पों के रूप में फ़ोटो और संपर्क पिकर और अन्य सीमित दायरे वाले तंत्रों का दस्तावेजीकरण करता है। किसी अटैचमेंट के लिए, एक फ़ोटो या फ़ाइल चुनें; प्रोफ़ाइल चित्र के लिए, सिस्टम कैमरा कार्रवाई या एक चयनित छवि पर विचार करें; किसी को आमंत्रित करने के लिए, मैन्युअल रूप से पता दर्ज करें या उपलब्ध होने पर संपर्क पिकर का उपयोग करें। सटीक विकल्प प्लेटफ़ॉर्म और संस्करण पर निर्भर करते हैं, इसलिए वह विकल्प रिकॉर्ड करें जो आप वास्तव में देखते हैं। एक संकीर्ण मार्ग तभी उपयोगी होता है जब फ़ीचर अभी भी काम करता है; व्यक्तिगत सामग्री का उपयोग करने से पहले एक तटस्थ नमूने के साथ अपलोड, क्रॉप, रद्द करने और पुनः प्रयास करने का सत्यापन करें।
सेंसर एक्सेस को सहेजे गए परिणामों से अलग करें
माइक्रोफ़ोन एक्सेस रिकॉर्डिंग को सक्षम कर सकता है, लेकिन एक सहेजा गया ऑडियो क्लिप, ट्रांसक्रिप्ट, चैट अटैचमेंट या डाउनलोड की गई फ़ाइल एक अलग ऑब्जेक्ट बन जाती है। कैमरा एक्सेस एक ऐसी छवि बना सकता है जो फ़ोटो लाइब्रेरी, क्लाउड बैकअप, संदेश इतिहास या निर्यात में भी जाती है। संपर्क एक्सेस खोज (discovery) का समर्थन कर सकता है जबकि सेवा चयनित पहचानकर्ताओं को भी संग्रहीत करती है। सिस्टम द्वारा अस्वीकृति अगले पठन (read) को रोकती या सीमित करती है; यह आवश्यक रूप से मौजूदा रिकॉर्डिंग, छवियों, व्युत्पन्न टेक्स्ट, अपलोड किए गए संपर्क मिलानों या साझा प्रतियों को नहीं हटाती है। प्रत्येक फ़ीचर के लिए, डिवाइस कॉपी, सर्विस ऑब्जेक्ट, व्युत्पन्न आइटम, प्राप्तकर्ता और विलोपन नियंत्रण को दर्शाने वाली एक स्टोरेज पंक्ति जोड़ें। यह किसी अनुमति स्विच को पूर्ण डेटा निष्कासन समझने की भूल से बचाता है।
हार्डवेयर और नेटवर्क अनुमतियों की स्वतंत्र रूप से समीक्षा करें
ब्लूटूथ, आस-पास के डिवाइस और स्थानीय-नेटवर्क एक्सेस परस्पर परिवर्तनीय नहीं हैं। उस एक्सेसरी, पीयर या स्थानीय सेवा का नाम बताएं जिस तक फ़ीचर को पहुंचना है, क्या खोज (discovery) की आवश्यकता एक बार है या बार-बार, और कौन सी दृश्य स्थिति कनेक्शन की पुष्टि करती है। उन्हें केवल इसलिए न दें क्योंकि कोई कंपैनियन ऐप वैकल्पिक एकीकरण प्रदान करता है। Apple उपयोगकर्ताओं को गोपनीयता सेटिंग्स में ब्लूटूथ और लोकल नेटवर्क जैसी एक्सेस श्रेणियों की समीक्षा करने की अनुमति देता है, जबकि कैमरा और माइक्रोफ़ोन दृश्य संकेतकों का उपयोग करते हैं। किसी संकेतक का उपयोग निरीक्षण करने के लिए एक संकेत के रूप में करें, न कि अनुचित एक्सेस के प्रमाण के रूप में। वैकल्पिक एकीकरण को अक्षम करें, उसकी अनुमति रद्द करें और पुष्टि करें कि सामान्य चैट उपलब्ध रहती है।
सेटअप और अपडेट के बाद एक निरस्तीकरण मैट्रिक्स चलाएं
प्रति अनुमति एक पंक्ति बनाएं। दी गई सीमा, परीक्षित फ़ीचर, इनकार के बाद अपेक्षित व्यवहार, वास्तविक व्यवहार, पीछे छूटी हुई संग्रहीत वस्तुएं और अगली समीक्षा का ट्रिगर रिकॉर्ड करें। एक समय में एक अनुमति रद्द करें, ऐप को फिर से खोलें और नामित फ़ीचर के साथ-साथ एक असंबंधित मुख्य कार्रवाई का परीक्षण करें। एक सही कटौती केवल निर्भर फ़ीचर को ब्लॉक या सीमित करती है और असंबंधित एक्सेस के लिए बाध्य किए बिना इसे फिर से सक्षम करने का तरीका बताती है। अप्रत्याशित बार-बार आने वाले प्रॉम्प्ट, असंबंधित विफलता या निरस्तीकरण के बाद का एक्सेस परिणाम का हिस्सा होते हैं। किसी बड़े ऐप या ऑपरेटिंग-सिस्टम अपडेट के बाद, नया एकीकरण सक्षम करते समय, या जब आप किसी फ़ीचर का उपयोग करना बंद कर देते हैं, तो फिर से समीक्षा करें। ऐसी अनुमतियां हटाएं जिनका फ़ीचर वर्तमान में किसी काम का नहीं है।
ऑपरेटिंग-सिस्टम और खाता नियंत्रणों को दो कॉलम में रखें
दो कॉलमों के साथ समाप्त करें। सिस्टम कॉलम कैमरा, माइक्रोफ़ोन, फ़ोटो, संपर्क, लोकेशन, आस-पास के संसाधन, स्थानीय नेटवर्क और सूचनाओं को कवर करता है। खाता कॉलम इतिहास, अपलोड, ट्रांसक्रिप्ट, यादें, साझाकरण, मॉडल-संबंधी विकल्प, निर्यात और विलोपन को कवर करता है। सिस्टम स्विच को कभी भी इस बात के प्रमाण के रूप में उपयोग नहीं किया जाना चाहिए कि कोई खाता ऑब्जेक्ट गायब हो गया है, और इन-ऐप टॉगल को ऑपरेटिंग सिस्टम को ओवरराइड करने वाला नहीं माना जाना चाहिए। प्रत्येक परिवर्तन के लिए सटीक मार्ग और एक अवलोकनीय परीक्षण रिकॉर्ड करें। अंतिम स्थिति इस फ़ीचर के लिए अनुमत, केवल चयनित आइटम, उपयोग के दौरान अनुमत, फ़ॉलबैक के साथ अस्वीकृत, या अनसुलझा हो सकती है। यह "सब कुछ अनुमति दें क्योंकि ऐप ने पूछा था" नहीं होना चाहिए।
सामान्य प्रश्न
क्या मुझे कंपैनियन ऐप इंस्टॉल करते समय सभी अनुमतियां देनी चाहिए?
नहीं। किसी फ़ीचर कार्रवाई की प्रतीक्षा करें, सिस्टम प्रॉम्प्ट पढ़ें और केवल वही सीमित विकल्प दें जो इसे पूरा करता हो।
क्या माइक्रोफ़ोन अनुमति रद्द करने से पुराने वॉयस नोट्स हट जाते हैं?
नहीं। यह भविष्य के माइक्रोफ़ोन एक्सेस को सीमित करता है; रिकॉर्डिंग, ट्रांसक्रिप्ट और अपलोड के लिए उनके अपने विलोपन नियंत्रण की आवश्यकता होती है।
क्या फ़ोटो पिकर पूर्ण फ़ोटो-लाइब्रेरी एक्सेस से भिन्न है?
अक्सर हाँ। एक पिकर केवल चयनित आइटम प्रदान कर सकता है; कार्य पूरा होने पर सीमित मार्ग का उपयोग करें।
