Kullanıcı gizliliğini koruma

Kullanıcılar, gizliliklerini tehlikeye atan veya ihtiyaç duyduğu izinlerden daha fazlasını isteyen uzantıları yüklemez. İzin istekleri kullanıcılara mantıklı gelmeli ve uzantının uygulanması için gerekli olan kritik bilgilerle sınırlı olmalıdır. Kullanıcı verilerini toplayan veya ileten uzantılar kullanıcı verileri gizlilik politikalarına uymalıdır .

Kimliklerinin güvende kalması için bu önlemleri alarak uzantı kullanıcılarını koruyun ve onlara saygı gösterin. Unutmayın: Bir uzantı ne kadar az veriye erişebilirse yanlışlıkla sızdırabileceği veri de o kadar az olur.

Gerekli izinleri azaltma

Bir uzantının erişebileceği API'ler, manifestin izinler alanında belirtilir. İzin sayısı arttıkça saldırganların bilgileri ele geçirebileceği yollar da artar. Yalnızca bir uzantının bağlı olduğu API'ler listelenmeli ve daha az müdahaleci seçenekler dikkate alınmalıdır. 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ı uyarı içeren bir uzantıyı yükleme olasılığı daha yüksektir.

Uzantılar, şu anda ihtiyaç duymadıkları ancak gelecekte uygulayabilecekleri izinleri isteyerek kullanıcı verilerine erişimi "geleceğe uygun" hale getirmemelidir. Uzantı güncellemelerine yeni izinler ekleyin ve bunları isteğe bağlı hale getirmeyi düşünün.

activeTab

Komut dosyaları eklemek için ana makine izinlerini kullanan uzantılar genellikle activeTab yerine kullanılabilir. activeTab izni, uzantıya yalnızca kullanıcı uzantıyı çağırdığında geçerli olan etkin Sekmeye geçici erişim izni verir. Kullanıcı geçerli sekmeden ayrıldığında veya sekmeyi kapattığında erişim kesilir. <all_urls>'nın birçok kullanımına alternatif olarak sunulur.

{
  "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ştirme

İsteğe bağlı izinler ekleyerek kullanıcıların bir uzantıdan hangi özellikleri ve izinleri kullanmak istediklerini seçmelerini sağlayın. Bir özellik, uzantının temel işlevi için gerekli değilse 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ının ilgili özelliği etkinleştirmesi durumunda uzantının neden belirli bir izne ihtiyaç duyduğunu açıklamasına olanak tanır. Uzantı, kullanıcıya özellikleri etkinleştirme seçeneği sunabilir.

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

Tamam'ı tıkladığınızda 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();
    }
  });
});

Kullanıcıya aşağıdaki istek gösterilir.

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

İsteğe bağlı izinler, uzantı güncellemesinde de uygulanabilir. Bu sayede, yeni özellik, uzantı devre dışı bırakılmadan kullanıcıların kullanımına sunulur. Yeni gerekli izinlerle güncelleme yapıldığında uzantı devre dışı bırakılabilir.

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 miktarı ne kadar az olursa uzantının güvenliği ihlal edildiğinde maruz kalınan risk de o kadar az olur.

İstenen tüm kullanıcı verileri dikkatli bir şekilde işlenmelidir. Verileri kayıtlı bir alanla güvenli bir sunucuda depolama ve alma Bağlanmak için her zaman HTTPS kullanın ve hassas kullanıcı verilerini uzantının istemci tarafında tutmaktan kaçının. Uzantı depolama alanı şifrelenmez.