حریم خصوصی ، امنیت و فریب  - داده های کاربر : اطلاعات شخصی و حساس

سلام :)پیرو پست قبلی که راجع بهش باهم صحبت کرده بودیم، توی این پست قراره راجع به سومین خط مشی گوگل پلی یعنی سه سرفصل مهم (حریم خصوصی، امنیت و فریب) صحبت کنیم.همونطور که همه شماها هم در جریان هستید، شرکت گوگل دربرابر کاربرانش متعهد شده که از حریم خصوصی اون ها دربرابر برنامه های فریبنده، مخرب، و یا برنامه هایی که قصد سوء استفاده از حریم شخصی رو دارند محافظت کنه و یک محیط امن، ایمن و قابل اعتمادی رو برای کاربران به وجود بیاره. به همین خاطر، اپلیکیشن هایی که سه مورد (فریبنده، مخرب و یا سوء استفاده گر) رو داشته باشه؛ بلافاصله حذف و جلوی انتشار اون ها رو میگیره.در این بین یکی از مواردی که خیلی برای گوگل مهمه، داده های کاربران هست؛ که قراره توی این مقاله راجع به این موضوع صحبت کنیم .داده های کاربراناولین چیزی که گوگل از شما میخواد، این که، در رابطه با نحوه کار کردن با داده های به دست آمده (یعنی اطلاعات جمع آوری شده از کاربر، یا اطلاعات دستگاه) با کاربرانتون شفاف باشید و به صورت کامل توضیح بدید که قصد دارید این داده ها رو با چه هدفی، برای چه کاری و تا چه سطحی ازش استفاده کنید و در ادامه ی این موارد هم ازتون خواسته، تا جایی که می تونید استفاده از این اطلاعات رو محدود کنید.علاوه بر این موارد، اگر اپلیکیشنتون به اطلاعات شخصی یا داده های حساس کاربر دسترسی داره؛ حتما مواردی رو که این پایین (بخش اطلاعات شخصی و حساس) بهش اشاره شده رو به یاد داشته باشید.اطلاعات شخصی و حساسداده های شخصی و حساس کاربر، طیف بسیار گسترده تری نسبت به اون چیزی که در این مقاله میخوام بهتون بگم داره، و فقط محدود به این موارد نمیشه، اما اگر بخوایم یک نگاه کلی به چند مورد مهم داشته باشیم؛میشه به : اطلاعات شخصی قابل شناسایی، اطلاعات مالی و پرداختی، اطلاعات تأیید اعتبار، دفترچه تلفن، مخاطبین، محل دستگاه (Device Location)، اس ام اس و داده های مربوط به تماس، میکروفون، دوربین و... سایر داده های حساس دستگاه اشاره کرد.اگر برنامه تون به داده های حساس کاربر دسترسی داره شما باید حتما نکات زیر رو رعایت کنید :1 - تا جایی که میشه دسترسی، جمع آوری، استفاده و به اشتراک گذاری داده های شخصی و حساس کاربران رو که از طریق اپلیکیشن، برای بهبود و یا تهیه قابلیت های برنامه تون به دست میاد رو محدود کنید. (واوووووو چقدر جمله اش طولانی شد ?) اجازه بدید با یک مثال توضیح بدم :فرض کنید که شما به عنوان یک برنامه نویس، یک اپلیکیشن آنلاین موسیقی طراحی کردید که کاربر میتونه آهنگ های مورد علاقه اش رو از طریق اپلیکیشن دانلود کنه. خب طبیعتا برای انجام این کار، ابتدا نیاز هست که اجازه دسترسی به فایل ها رو از کاربر بگیریدبعد از این که مجوز دسترسی به فایل ها رو با هدف دانلود کردن موسیقی و ذخیره سازی اون در حافظه، از کاربر گرفتید؛ شما دیگه کاملا آزادید که هر کاری که دلتون میخواد بکنید ?،دسترسی به پوشه ها، فایل های شخصی و هر چیز دیگه ای که مربوط به حافظه (یا همون Storage) کاربر میشه.اما دیگه خواهشا پاتون رو فراتر از حدتون نذارید ? و به همین حد از دسترسی محدود، بسنده کنید.بنابراین اگر بخوایم خودمونی و خلاصه وار بگیم : از دسترسی هایی که گرفتی، به همون اندازه استفاده کن که به کاربر قولش رو دادی، نه کمتر و نه بیشتر.2 - اپ هایی که از یک سری دسترسی ها (دسترسی به موقعیت مکانی) برای ارائه تبلیغات استفاده می کنند، باید با خط مشی تبلیغات گوگل پلی مطابقت داشته باشه.مثلا شما اگر یک اپلیکیشنی درست کردید که بنا بر موقعیت مکانی کاربر، بهش یک سری پیشنهادات تبلیغاتی میده، حتما باید با خطی مشی تبلیغات گوگل پلی که بعدا مفصل تر راجع بهش صحبت می کنیم؛ مطابقت داشته باشه.3 - شمایی که قصد استفاده از داده های حساس و شخصی کاربران رو داری، حتما باید یک خط مشی راز داری مخصوص به اپلیکیشنت رو، هم در داخل برنامه و هم در توضیحات Play Console قرار بدی، تا کاربر کاملا متوجه بشه که نحوه استفاده، دستیابی، جمع آوری و به اشتراک گذاری داده هاش به چه صورت هست.در ادامه همون مثال اپلیکیشن موسیقی فرض کنید شما برای این که بتونید از برنامه تون پول دربیارید، یک سیستم تبلیغاتی درون برنامه قرار دادید. که این سیستم تبلیغاتی، بنا به نوع اپلیکیشن هایی که کاربر روی گوشیش نصب داره، بهش اپلیکیشن جدید پیشنهاد میده. اما مسئله ای که هست این که، شما توانایی پیاده سازی یک هوش مصنوعی به منظور پیدا کردن علایق کاربر رو ندارید ☹️. برای همین، مجبورید که از Apiهای شرکت X که در زمینه هوش مصنوعی تخصص داره، کمک بگیرید تا بتونید هدف تون رو پیاده سازی کنید.⚠️اما نکاتی که لازم هست توجه کنید⚠️1 - بررسی اپلیکیشن های گوشی کاربر نیاز به دسترسی خاصی نداره و شما به راحتی و بدون هیچ مشکلی می تونید این کار رو انجام بدید، ولی از دید گوگل این مورد شامل داده های حساس کاربر میشه و شما باید به کاربرتون اطلاع بدید که قصد دارید همچین کاری رو انجام بدید.2 - از اون جایی که شما برای پیشنهاد دادن تبلیغات، توانایی پردازش داده های به دست آمده رو ندارید و قرار هست که داده ها رو با شرکت X برای پردازش، به اشتراک بذارید. پس این مورد رو هم حتما باید ذکر کنید.بنابراین با توجه به مواردی که گفته شد، بهتره شما یک خط مشی راز داری مربوط به اپلیکیشن تون رو، هم در داخل برنامه و هم در توضیحات اپلیکیشن Play Console قرار بدید. و همه کارهایی که قصد دارید انجام بدید رو به صورت واضح و شفاف به کاربر توضیح بدید.4 - تمام داده های شخصی یا حساس کاربر رو به طور ایمن اداره کنید ، از جمله انتقال داده های کاربر با استفاده از رمزنگاری های مدرن (برای مثال ، از طریق HTTPS).5 - برای دسترسی به مجوزهایی که نیاز دارید، حتما از جوازهای زمان اجرا (Runtime Permissions) برای برنامه تون استفاده کنید.6 - داده های شخصی یا حساس کاربران رو هرگز نفروشید. ??درست حسابی شفافیت داشته باش، بعد رضایت کاربر رو بگیردر بسیاری از موارد پیش اومده که شما برای یک دسترسی کاملا منطقی جهت بهتر کردن عملکرد برنامه تون (مثلا همین مجوز دادن کاربر به اپلیکیشن موسیقی جهت دانلود فایل)، با مخالفت کاربر رو به رو شدید و کاربر اجازه این سطح از دسترسی رو به شما نداده. برای این کار، شما باید یک شفافیت کامل و واضحی رو به کاربر داخل اپلیکیشن ارائه بدید و به کاربر بگید که این داده ها رو با چه هدفی نیاز به : دسترسی، جمع آوری، استفاده و یا به اشتراک گذاری دارید.به همین خاطر بهتره که توضیحات شفاف سازی تون رو :1 - علاوه بر این که در وبسایت تون (این که حتما وبسایت داشته باشید الازمی نیست) و توضیحات Play Console می نویسید. حتما باید در داخل اپلیکیشن هم یک قسمتی رو به این توضیحات اختصاص بدید.2 - توی یک صفحه با دسترسی سریع به کاربر نشون بدید و از انتقال دادن کاربر به صفحات منو و یا تنظیمات خودداری کنید (انصافا گوگل خیلی دیگه داره سخت میگیره هاااا) 3 - به صورت کامل شرح بدید و به کاربر بگید که این اطلاعات رو برای چه هدفی، جمع آوری و استفاده می کنید. و اگر هم چنانچه قرار هست داده ها رو مطابق مثالی که بالاتر زدم؛ با شرکت X به اشتراک بذارید؛ از نحوه چگونگی و دلایل این کارتون برای کاربر بگید.4 - در خط مشی رازداری تون از بیان نکات متفرقه و سیاست های دیگه ای که دارید؛ حتما خودداری کنید و فقط فوکوس تون رو روی مواردی که مربوط میشه به داده های حساس و شخصی کاربر بذارید (مثلا اگر مطابق سیاست تون دانلود بیشتر از 5 فایل موسیقی مجاز نیست، از قید کردن این نکته در خط مشی رازداری جدا خودداری کنید)5 - علاوه بر این که در خط مشی رازداری این موارد رو بیان می کنید،حتما درمواقع دیگه هم به این موارد اشاره کنید (به عنوان مثال، علاوه بر این که در خط مشی رازداری به این نکته اشاره کردید که، علت دسترسی به حافظه برای دانلود فایل موسیقی هست، موقعی هم که قصد دارید جواز زمان اجرا (Runtime Permission) رو از کاربر بگیرید، مجددا این نکته رو یادآور بشید)6 - قبل از نمایش دادن جواز زمان اجرا (Runtime Permission) یک مرتبه دیگه، یادآور بشید که این دسترسی رو برای چه هدفی لازم دارید. و بعد از اون بلافاصله صفحه جواز زمان اجرا (Runtime Permission) رو به کاربر نشون بدید.در رابطه با صفحه جواز زمان اجرا (Runtime Permission) بهتره سه نکته رو یادآور بشم که :1 - صفحه (دیالوگی) که به کاربر قبل از جواز زمان اجرا (Runtime Permission) نشون داده میشه، حتما باید شفاف و بدون ابهام و پیچیدگی باشه.2 - دیالوگ نمایش داده شده، نیاز به واکنش مستقیم کاربر داشته باشه. به این معنی که یا کاربر دکمه تایید رو بزنه و دیالوگ زمان اجرا(Runtime Permission) بهش نمایش داده بشه.یا هم اگر تصمیم به کنسل کردن دیالوگ داشت، فقط و فقط با زدن دکمه (لغو، نیازی ندارم و...) این کار رو انجام بده و نتونه با زدن دکمه back یا کلیک کردن روی نواحی خالی صفحه این کار رو انجام بده. (فلسفه این کار برای این هست که مطمئن بشیم کاربر متن رو کامل خونده و با آگاهی درخواست دسترسی ما رو کنسل کرده، نه از سر اتفاقی خوردن دستش روی ناحیه خالی صفحه)3 - پس با توجه به موارد گفته شده در مورد 2 از نمایش دادن دیالوگی هایی که به صورت اتومات و بعد از گذشتن چند ثانیه بسته میشن، جدا خودداری کنید.⛔️نمونه از تخلف ها :اگر برنامه ای نوشتید که به فهرست برنامه های نصب شده کاربر دسترسی دارهاگر برنامه ای نوشتید که به لیست مخاطبین کاربر دسترسی دارهاگر برنامه ای نوشتید که صفحه گوشی کاربر رکورد میکنهاگر برنامه ای نوشتید که موقعیت مکانی کاربر رو رصد و نگهداری میکنههمه این داده ها به عنوان داده های حساس و شخصی کاربر در نظر گرفته میشن و شما برای استفاده از این داده ها حتما باید به کاربرتون اطلاع بدید.