Kullanıcı gizliliğini koruma

Kullanıcılar, gizliliklerini tehlikeye atan veya ihtiyaç duyduğu türden daha fazla izin isteyen uzantıları yüklemez. İzin istekleri kullanıcılara mantıklı gelmeli ve uzantının uygulanması için gereken önemli bilgilerle sınırlı olmalıdır. Kullanıcı verilerini toplayan veya ileten uzantıların Kullanıcı Gizliliğini Koruma bölümündeki politikalara uyması gerekir.

Uzantı kullanıcılarını, kimliklerini güvende tutmak için bu önlemlerden yararlanarak koruyun ve saygı gösterin.

Gerekli izinleri azalt

Bir uzantının erişebileceği API'ler manifest'in permissions alanında belirtilir. Ne kadar çok izin verilirse, saldırganın bilgileri ele geçirmek için o kadar çok yolu olur. Yalnızca uzantının bağımlı olduğu API'ler listelenmelidir ve daha az kullanılan seçenekler dikkate alınmalıdır. Bir uzantının istediği izin sayısı ne kadar azsa kullanıcıya o kadar az izin uyarısı gösterilir. Kullanıcıların sınırlı uyarılara sahip bir uzantıyı yükleme olasılığı daha yüksektir.

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

activeTab

Komut dosyası eklemek için ana makine izinlerini kullanan uzantılar bunun yerine genellikle activeTab'in yerini alabilir. activeTab izni, bir uzantının şu anda etkin olan sekmeye yalnızca kullanıcı uzantıyı çağırdığında geçici olarak erişmesine izin verir. Kullanıcı geçerli sekmeden ayrıldığında veya sekmeyi kapattığında erişim kesilir. <all_urls> ürününün birçok kullanımına alternatif olarak işlev görür.

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

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 ihtiyaç duydukları özellikleri ve izinleri seçmelerine olanak tanıyın. Bir uzantının temel işlevi açısından gerekli değilse özelliği isteğe bağlı hale getirip API'yi veya alan adını optional_permissions alanına taşıyın.

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

İsteğe bağlı izinleri dahil etmek, uzantının neden belirli bir izne ihtiyaç duyduğunu açıklamasına olanak tanır Kullanıcı ilgili özelliği etkinleştirdiğinde Uzantı, kullanıcıya özellikleri.

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

Tamam! tıklandığında, hizmet çalışanında aşağıdaki etkinlik tetiklenir.

chrome.action.onClicked.addListener((event) => {
  // Permissions must be requested from inside a user gesture, like a button's
  // click handler.
  chrome.permissions.request(
    {
      permissions: ["tabs", "scripting"],
      origins: ['https://www.google.com/']
    },
    function (granted) {
      // The callback argument will be true if the user granted the permissions.
      if (granted) {
        // doSomething();
      } else {
        // doSomethingElse();
      }
    }
  );
});

Daha sonra kullanıcıdan aşağıdaki isteği yapması istenir.

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

İsteğe bağlı izinler, bir uzantı güncellemesinde de uygulanabilir. Bu işlem, yeni sunulan özellik, uzantıyı devre dışı bırakmadan kullanıcılara sunuluyor. izin verebilirsiniz.

Kullanıcı bilgilerini sınırlandırın ve koruyun

Yalnızca bir uzantının ihtiyaç duyduğu minimum veri miktarını isteyin. Bir uzantının kullanıcıdan ne kadar az bilgi isterse uzantının güvenliği ihlal edilirse daha az maruz kalınır.

İstenen tüm kullanıcı verileri dikkatli bir şekilde ele alınmalıdır. Google Analytics 4 ile verileri güvenli bir sunucuda kayıtlı bir alan adına sahip olmanız gerekir. Bağlanmak ve hassas kullanıcı verilerinin istemcide tutulmasını önlemek için her zaman HTTPS kullanın tarafından korunduğundan emin olun.

Veri tasarrufu ve gizli mod

Uzantılar, storage API'yi kullanarak veya veri tasarrufu sağlar. Uzantının bir şeyi kaydetmesi gerektiğinde, öncelikle bunun bir gizli pencere açılır. Varsayılan olarak, uzantılar gizli pencerelerde çalışmaz.

Gizli mod, pencereden hiçbir parça bırakılmayacağını taahhüt eder. Veri analisti verileri uzantılar söz konusu olduğunda bu vaadi yerine getirmelidir. Bir uzantı normalde göz atmayı kaydediyorsa gizli pencerelerdeki geçmişi kaydetme. Ancak uzantılar, ayarları gizli modda olsun ya da olmasın, herhangi bir pencereden tercihlerinizi değiştirebilirsiniz.

Bir pencerenin gizli modda olup olmadığını belirlemek için ilgili pencerenin incognito özelliğini kontrol edin. tabs.Tab veya windows.Window nesnesi.

function saveTabData(tab) {
  if (tab.incognito) {
    return;
  } else {
    chrome.storage.local.set({data: tab.url});
  }
}