Kullanıcı gizliliğini koruyun

Kullanıcılar, gizliliklerini ihlal eden veya ihtiyaç duyduğu ek izinleri isteyen uzantıları yüklemezler. İzin istekleri kullanıcılar için anlamlı olmalı ve uzantının uygulanması için gereken kritik bilgilerle sınırlı olmalıdır. Kullanıcı verilerini toplayan veya ileten uzantılar, kullanıcı verileri gizlilik politikalarına uygun olmalıdır .

Kimliklerini güvende tutmak için bu önlemleri ekleyerek uzantı kullanıcılarını koruyup onlara saygı gösterin. Unutmayın: Bir uzantı ne kadar az veriye erişebilirse yanlışlıkla o kadar az veri sızdırabilir.

Gerekli izinleri azaltın

Bir uzantının erişebileceği API'ler manifest'in izinler alanında belirtilir. Ne kadar çok izin verilirse saldırganın bilgilere müdahale etmek için kullanabileceği yol o kadar artar. Sadece bir uzantının bağımlı olduğu API'ler listelenmelidir ve daha az rahatsız edici seçeneklere dikkat edilmelidir. Bir uzantı ne kadar az izin isterse kullanıcıya o kadar az izin uyarısı gösterilir. Kullanıcıların, sınırlı sayıda uyarı alan uzantıları yükleme ihtimali daha yüksektir.

Uzantılar, şu anda ihtiyaç duymadıkları ancak gelecekte uygulayabilecekleri izinleri isteyerek kullanıcı verilerine erişim için "geleceğe hazır" olmamalıdır. Uzantı güncellemeleriyle yeni izinleri dahil edin ve bunları isteğe bağlı hale getirmeyi düşünün.

activeTab

Komut dosyası yerleştirmek için ana makine izinlerini kullanan uzantılar, genellikle bunun yerine activeTab yerine activeTab kullanılabilir. activeTab izni, bir uzantının şu anda etkin olan sekmeye geçici olarak erişmesine izin verir (yalnızca kullanıcı uzantıyı çağırdığında). Kullanıcı geçerli sekmeden ayrıldığında veya kapattığında erişim kesilir. <all_urls> işlevinin birçok kullanımına alternatif olarak hizmet verir.

{
  "name": "Very Secure Extension",
  "version": "1.0",
  "description": "Example of a Secure Extension",
  "permissions": ["activeTab"],
  "manifest_version": 2
}

ActiveTab izni, yükleme sırasında uyarı mesajı göstermez.

İsteğe bağlı izinleri etkinleştirin

İsteğe bağlı izinler ekleyerek kullanıcıların uzantıdan ihtiyaç duydukları özellikleri ve izinleri seçmelerine olanak tanıyın. Bir uzantının temel işlevi için gerekli olmayan özellikler varsa bunu isteğe bağlı hale getirin ve API'yi veya alanı optional_permissions alanına taşıyın.

{
  "name": "Very Secure Extension",
  ...
  "optional_permissions": [ "tabs", "https://www.google.com/" ],
  ...
}

İsteğe bağlı izinlerin eklenmesi, kullanıcı ilgili özelliği etkinleştirdiğinde uzantının neden belirli bir izne ihtiyaç duyduğunu açıklayabilmesini sağlar. Uzantı, kullanıcıya özellikleri etkinleştirme seçeneği sunabilir.

İzinlerin etkinleştirilmesini isteyen bir pop-up&#39;ın ekran görüntüsü

Tamam! tıklandığında arka plan komut dosyasında aşağıdaki etkinlik tetiklenir.

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();
    }
  });
});

Ardından, kullanıcıya aşağıdaki istek sorulur.

İsteğe bağlı izin isteğinin ekran görüntüsü.

Uzantı güncellemesinde isteğe bağlı izinler de uygulanabilir. Bu işlem, uzantıyı devre dışı bırakmadan yeni özelliği kullanıcıların kullanımına sunar. Gerekli yeni izinlerle güncelleme yapıldığında da bu durum yaşanabilir.

Kullanıcı bilgilerini sınırlama ve güvenliğini sağlama

Yalnızca bir uzantının ihtiyaç duyduğu minimum kullanıcı verilerini isteyin. Bir uzantının kullanıcıdan istediği bilgi sayısı ne kadar azsa, uzantının güvenliği ihlal edilirse o kadar az bilgi gösterilir.

İstenen tüm kullanıcı verileri dikkatli bir şekilde ele alınmalıdır. Verileri kayıtlı bir alana sahip güvenli bir sunucuda depolayın ve alın. Uzantı depolama alanı şifrelenmediğinden bağlanmak için her zaman HTTPS kullanın ve hassas kullanıcı verilerini uzantının istemci tarafında tutmaktan kaçının.