[Cordova] 移除不必要的 GET_ACCOUNTS 權限,避免隱私權政策的麻煩

[Cordova] 移除不必要的 GET_ACCOUNTS 權限,避免隱私權政策的麻煩

今天突然收到一封「Google Play 開發人員違反政策警告」的信,

打開一看,裡面是說我的 app 裡有使用到使用者的機密資訊,

因此應該要提供隱私權政策連結,不然就是要移除相關的權限:

我們的紀錄顯示,目前您的應用程式 圖書館多重帳戶登入 (套件名稱:idv.ephrain.multilibrarylogin) 已違反我們針對個人和機密資訊所執行的使用者資料政策。

政策問題:Google Play 規定,如果應用程式會要求或處理使用者或裝置機密資訊,開發人員必須提供有效的隱私權政策。您的應用程式要求機密權限 (例如相機、麥克風、帳戶、聯絡人或電話) 或使用者資料,卻沒有提供有效的隱私權政策。

敬請配合辦理:請在您應用程式的商店資訊頁面和應用程式內部提供有效的隱私權政策連結。如要進一步瞭解詳情,請前往我們的說明中心。

或者,您也可以移除對所有的機密權限或使用者資料的要求,如此一來便無須執行這項規定。

如果您的目錄中還有其他應用程式,請檢查這些應用程式是否符合醒目揭露事項相關規定。

請在 2017 年 3 月 15 日前修正這個問題;如果屆時未能修正問題,我們將採取管理行動限制顯示您的應用程式,甚至可能將您的應用程式從 Play 商店下架。感謝您協助我們一同為 Google Play 使用者提供清楚透明的資訊。

 

Google Play Developer Console > Store Listing > Privacy Policy 瞧瞧,

註記著這個 app 需要使用 GET_ACCOUNTS 這個權限,因此需要提供隱私權政策:

Screen Shot 2017-02-07 at 12.41.33 PM  

 

用 aapt 指令也能查到 apk 裡的權限設定,的確有個 GET_ACCOUNTS:

testuser@localhost ~ $ aapt d --values badging MultiLibraryLogin_sign3.29.apk
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.GET_ACCOUNTS'

 

GET_ACCOUNTS 是什麼呢?

直接在 Google Play 網站上點 app 的 permission 就有簡易的說明,

看起來是可以尋找手機上儲存的通訊錄與帳號:

Screen Shot 2017-02-07 at 12.46.58 PM  

 

不過我的 app 並沒有用到使用者的通訊錄,也不需要 Google 帳號之類的東西…

第一個直覺是可能有 Cordova 的 plugin 用到了這個權限,但是是哪一個呢?

用 cordova plugin 先看一下現有的 plugin…

dialogs, inappbrowser 都是我 app 需要用到的,whitelist 好像是內建的,

只有 email-composer 之前加進來,但一直還沒有使用到:

testuser@localhost ~ $ cordova plugin
cordova-plugin-dialogs 1.3.0 "Notification"
cordova-plugin-email-composer 0.8.3 "EmailComposer"
cordova-plugin-inappbrowser 1.5.0 "InAppBrowser"
cordova-plugin-whitelist 1.3.0 "Whitelist"

 

上網查了一下,結果真的是 email-composer 這個 plugin 用到了 GET_ACCOUNTS 權限

cordova-plugin-email-composer: GET_ACCOUNTS permission

抱怨的人後來改用了另外一個 plugin 叫 com.jcjee.plugins.emailcomposer,

不過反正我現在還沒用到 Email 的功能,就先移除掉吧:

cordova plugin remove cordova-plugin-email-composer

 

移除之後,用 cordova 重新編譯 apk,再檢查一次權限,

果然這次只剩下預期的 INTERNET 權限,GET_ACCOUNTS 權限已經不需要了:

testuser@localhost ~ $ aapt d --values badging MultiLibraryLogin_sign3.30.apk
uses-permission: name='android.permission.INTERNET'

 

這樣子的話,就只要上傳新的 apk 就行了,不用去弄隱私權政策囉~^^

(之後如果免不了的話,可能還是得弄…)

 

(本頁面已被瀏覽過 2,534 次)

2 thoughts on “[Cordova] 移除不必要的 GET_ACCOUNTS 權限,避免隱私權政策的麻煩

  1. 您好,我也是使用Cordova的使用者,並且也上線到GOOGLE PLAY很長一段的時間了
    但因為我這邊要求的權限更多,不只是GET_ACCOUNTS
    android.permission.CAMERA,
    android.permission.RECORD_AUDIO,
    android.permission.READ_PHONE_STATE,
    android.permission.GET_ACCOUNTS,
    android.permission.READ_CONTACTS
    那想問一下,您知道如何撰寫"隱私權政策"嗎,可否有相關的範本呢??
    版主回覆:(02/09/2017 04:53:01 AM)
    Google 一下「隱私權政策 範本」就可以找到不少囉,
    像是「政府網站版型與內容管理規範」裡就有隱私權保護政策範例:
    http://www.webguide.nat.gov.tw/index.php/ch/read_file/home/id/75/app/speci.html
    另外,也可以直接去看一下其他 app 的隱私權條款,
    蠻多都會直接寫在 app 裡面~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料