Pengguna tidak akan menginstal ekstensi jika ekstensi tersebut membahayakan privasi mereka atau meminta lebih banyak izin daripada yang tampaknya diperlukan. Permintaan izin harus dapat dipahami oleh pengguna dan dibatasi pada informasi penting yang diperlukan untuk menerapkan ekstensi. Ekstensi yang mengumpulkan atau mengirimkan data pengguna harus mematuhi kebijakan privasi data pengguna .
Lindungi dan hormati pengguna ekstensi dengan menyertakan tindakan pencegahan ini untuk menjaga keamanan identitas mereka. Ingat: makin sedikit data yang dapat diakses ekstensi, makin sedikit data yang dapat bocor secara tidak sengaja.
Mengurangi izin yang diperlukan
API yang dapat diakses ekstensi ditentukan di kolom izin manifes. Makin banyak izin yang diberikan, makin banyak cara yang dimiliki penyerang untuk mencegat informasi. Hanya API yang bergantung pada ekstensi yang harus dicantumkan, dan pertimbangkan opsi yang tidak terlalu mengganggu. Makin sedikit izin yang diminta ekstensi, makin sedikit peringatan izin yang akan ditampilkan kepada pengguna. Pengguna cenderung menginstal ekstensi dengan peringatan terbatas.
Ekstensi tidak boleh "menyiapkan" akses ke data pengguna dengan meminta izin yang saat ini tidak diperlukan, tetapi mungkin akan diterapkan di masa mendatang. Sertakan izin baru dengan update ekstensi dan pertimbangkan untuk menjadikannya opsional.
activeTab
Ekstensi yang menggunakan izin host untuk menyisipkan skrip sering kali dapat mengganti activeTab.
Izin activeTab akan memberikan akses sementara ke ekstensi ke tab yang saat ini aktif, hanya saat pengguna memanggil ekstensi. Akses akan terputus saat pengguna keluar dari atau menutup tab saat ini. Fitur ini berfungsi sebagai alternatif untuk banyak penggunaan <all_urls>.
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
Izin activeTab tidak menampilkan pesan peringatan selama penginstalan.
Memilih izin opsional
Berikan pengguna kemampuan untuk memilih fitur dan izin yang mereka butuhkan dari ekstensi dengan menyertakan
izin opsional. Jika fitur tidak penting untuk fungsi inti ekstensi, jadikan fitur tersebut opsional dan pindahkan API atau domain ke kolom optional_permissions.
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
Dengan menyertakan izin opsional, ekstensi dapat menjelaskan alasan ekstensi memerlukan izin tertentu saat pengguna mengaktifkan fitur yang relevan. Ekstensi dapat menawarkan opsi kepada pengguna untuk mengaktifkan fitur.

Mengklik Oke akan memicu peristiwa berikut dalam skrip latar belakang.
document.querySelector('#button').addEventListener('click', function(event) {
// Permissions must be requested from inside a user gesture, like a button's
// click handler.
chrome.permissions.request({
permissions: ['tabs'],
origins: ['https://www.google.com/']
}, function(granted) {
// The callback argument will be true if the user granted the permissions.
if (granted) {
// doSomething();
} else {
// doSomethingElse();
}
});
});
Kemudian, pengguna akan diminta dengan permintaan berikut.

Izin opsional juga dapat diterapkan dalam update ekstensi. Dengan demikian, fitur baru akan tersedia bagi pengguna tanpa menonaktifkan ekstensi, seperti yang mungkin terjadi jika mengupdate dengan izin baru yang diperlukan.
Membatasi dan mengamankan informasi pengguna
Hanya minta data pengguna minimum yang diperlukan ekstensi. Makin sedikit informasi yang diminta ekstensi dari pengguna, makin sedikit eksposur jika ekstensi tersebut disusupi.
Semua data pengguna yang diminta harus ditangani dengan hati-hati. Simpan dan ambil data di server aman dengan domain terdaftar. Selalu gunakan HTTPS untuk terhubung dan hindari menyimpan data pengguna sensitif di sisi klien ekstensi karena penyimpanan ekstensi tidak dienkripsi.