המשתמשים לא יתקינו תוסף אם הוא פוגע בפרטיות שלהם או אם הוא מבקש הרשאות נוספות לפי הצורך. בקשות הרשאה צריכות להיות הגיוניות למשתמשים ומוגבלות לבקשות שנדרש כדי להטמיע את התוסף. תוספים שאוספים או מעבירים נתוני משתמשים כלשהם פועלים בהתאם למדיניות הפרטיות של נתוני המשתמשים .
כדי להגן על המשתמשים בתוספים ולכבד אותם, יש לכלול את אמצעי הזהירות האלה לשמירה על בטיחות הזהות שלהם. חשוב לזכור: ככל שלתוסף תהיה גישה לפחות לנתונים, כך הוא יוכל להדליף בטעות פחות נתונים.
צריך לצמצם את ההרשאות הנדרשות
ממשקי ה-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 כדי להתחבר ולהימנע משמירה של נתוני משתמש רגישים בלקוח של התוסף, כי האחסון של התוספים לא מוצפן.