הגנה על פרטיות המשתמשים

המשתמשים לא יתקינו תוסף אם הוא פוגע בפרטיות שלהם או מבקשים הרשאות נוספות שנראה שהם צריכים. בקשות הרשאה צריכות להיות הגיוניות למשתמשים ומוגבלות למידע הקריטי שנדרש להטמעת התוסף. תוספים שאוספים או מעבירים נתוני משתמש חייבים לעמוד בדרישות של מדיניות הפרטיות של נתוני משתמשים .

הגנו על המשתמשים בתוספים ולכבד אותם על ידי הכללת אמצעי הזהירות האלה לשמירה על הזהות שלהם. חשוב לזכור: ככל שלתוסף יש פחות נתונים לגשת אליו, כך יש פחות נתונים שהוא עלול להדליף בטעות.

הפחתת ההרשאות הנדרשות

ממשקי ה-API שהתוסף יכול לגשת אליהם מפורטים בשדה ההרשאות של המניפסט. ככל שמוענקים יותר הרשאות, כך יש לתוקפים יותר דרכים ליירט מידע. צריך להופיע ברשימה רק ממשקי ה-API שבהם התוסף תלוי, וצריך לשקול אפשרויות פחות פולשניות. ככל שהתוסף מבקש פחות הרשאות, כך יוצגו למשתמש פחות אזהרות לגבי הרשאות. קיימת סבירות גבוהה יותר שמשתמשים יתקינו תוסף עם אזהרות מוגבלות.

אסור לתוספים "להכין הוכחה לעתיד" לנתוני המשתמשים על ידי בקשת הרשאות שהם לא צריכים כרגע, אבל אפשר להטמיע אותן בעתיד. כדאי לכלול הרשאות חדשות בעדכוני התוספים, ולשקול להגדיר אותן כאופציונליות.

activeTab

תוספים שמשתמשים בהרשאות מארח כדי להחדיר סקריפטים יכולים לעיתים קרובות להחליף את activeTab. ההרשאה activeTab תעניק לתוסף גישה זמנית לכרטיסייה שפעילה כרגע, רק כשהמשתמש יפעיל את התוסף. הגישה נקטעת כשהמשתמש יוצא מהכרטיסייה הנוכחית או סוגר אותה. היא משמשת כחלופה לשימושים רבים של <all_urls>.

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

ההרשאה activeTab לא מציגה הודעות אזהרה במהלך ההתקנה.

בחירה בהרשאות אופציונליות

המשתמשים יכולים לבחור אילו תכונות והרשאות הם צריכים מהתוסף, על ידי הכללת הרשאות אופציונליות. אם התכונה לא חיונית לפונקציונליות העיקרית של התוסף, צריך להגדיר אותה כאופציונלי ולהעביר את ה-API או הדומיין לשדה optional_permissions.

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

הוספה של הרשאות אופציונליות מאפשרת לתוסף להסביר למה צריך לקבל הרשאה מסוימת כשהמשתמש מפעיל את התכונה הרלוונטית. התוסף יכול להציע למשתמש אפשרות להפעיל תכונות.

צילום מסך של חלון קופץ שמבקש להפעיל הרשאות

לחיצה על אישור! תפעיל את האירוע הבא בסקריפט הרקע.

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

המשתמש יתבקש לבחור את הבקשה הבאה.

צילום מסך של בקשה להרשאות אופציונליות.

אפשר גם להטמיע הרשאות אופציונליות בעדכון תוסף. כך התכונה החדשה תהיה זמינה למשתמשים בלי להשבית את התוסף, כמו במקרה של עדכון עם ההרשאות הנדרשות החדשות.

הגבלה ואבטחה של נתוני המשתמשים

יש לבקש רק את נתוני המשתמש המינימליים הנדרשים לתוסף. ככל שהתוסף מבקש מהמשתמשים פחות פרטים, כך פחות חשיפה במקרה שהתוסף נפרץ.

יש להתייחס בזהירות לכל נתוני המשתמשים המבוקשים. אחסון ואחזור נתונים בשרת מאובטח עם דומיין רשום. חשוב להשתמש תמיד ב-HTTPS כדי להתחבר ולהימנע משמירת נתונים רגישים של משתמשים בצד הלקוח של התוסף, כי האחסון של התוספים לא מוצפן.