תיאור
אפשר להשתמש ב-chrome.privacy
API כדי לשלוט בשימוש בתכונות ב-Chrome שעשויות להשפיע על הפרטיות של המשתמש. ממשק ה-API הזה מסתמך על אב הטיפוס ChromeSetting מסוג API כדי לקבל את ההגדרות של Chrome ולהגדיר אותן.
הרשאות
privacy
כדי להשתמש ב-API, צריך להצהיר על ההרשאה 'פרטיות' במניפסט של התוסף. לדוגמה:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
מושגים ושימוש
קל לקרוא את הערך הנוכחי של הגדרה ב-Chrome. קודם צריך למצוא את הנכס הרצוי, ואז להפעיל את get()
באובייקט הזה כדי לאחזר את הערך הנוכחי שלו ואת רמת הבקרה של התוסף. לדוגמה, כדי לבדוק אם התכונה של מילוי אוטומטי של כרטיס אשראי מופעלת ב-Chrome, כותבים:
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
שינוי הערך של הגדרה הוא תהליך קצת יותר מורכב, כי קודם צריך לוודא שהתוסף יכול לשלוט בהגדרה. המשתמש לא יראה שינוי בהגדרות שלו אם התוסף מפעיל או משבית הגדרה שמוגדרת לערך ספציפי על ידי מדיניות הארגון (levelOfControl
יוגדר כ-not_controllable), או אם תוסף אחר שולט בערך (levelOfControl
יוגדר כ-controlled_by_other_extensions). הקריאה ל-set()
תצליח, אבל ההגדרה תבוטל באופן מיידי. מכיוון שזה עלול לבלבל, מומלץ להזהיר את המשתמש אם ההגדרות שבחר לא חלות בפועל.
המשמעות היא שצריך להשתמש בשיטה get()
כדי לקבוע את רמת הגישה, ואז להפעיל את set()
רק אם התוסף יכול לשלוט בהגדרה (למעשה, אם התוסף לא יכול לשלוט בהגדרה, מומלץ להשבית את התכונה באופן חזותי כדי למנוע בלבול אצל המשתמשים):
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
אם אתם רוצים לקבל עדכונים על שינויים בערך של הגדרה מסוימת, מוסיפים מאזין לאירוע onChange
שלה. בין היתר, כך תוכלו להזהיר את המשתמש אם תוסף שהותקן לאחרונה מקבל שליטה בהגדרה מסוימת, או אם המדיניות הארגונית מבטלת את השליטה שלכם. לדוגמה, כדי להאזין לשינויים בסטטוס המילוי האוטומטי של כרטיס האשראי, הקוד הבא מספיק:
chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
דוגמאות
כדי לנסות את ה-API הזה, מתקינים את דוגמת ה-API לפרטיות מהמאגר chrome-extension-samples.
סוגים
IPHandlingPolicy
מדיניות הטיפול ב-IP של WebRTC.
טיפוסים בני מנייה (enum)
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
מאפיינים
network
הגדרות שמשפיעות על האופן שבו Chrome מטפל בחיבורי רשת באופן כללי.
סוג
אובייקט
מאפיינים
-
networkPredictionEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, Chrome מנסה לזרז את חוויית הגלישה באינטרנט על ידי פתרון מראש של רשומות DNS ופתיחה מראש של חיבורי TCP ו-SSL לשרתים. ההעדפה הזו משפיעה רק על הפעולות שמבוצעות על ידי שירות החיזוי הפנימי של Chrome. היא לא משפיעה על טעינה מראש או על חיבורים מראש שמתחילים בדף אינטרנט. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
webRTCIPHandlingPolicyChrome מגרסה 48 ואילך
מתן אפשרות למשתמשים לציין את האיזון בין ביצועי המדיה לבין הפרטיות, שמשפיע על אופן הניתוב של תעבורת הנתונים ב-WebRTC ועל מידת החשיפה של פרטי הכתובת המקומית. הערך של ההעדפה הזו הוא מסוג IPHandlingPolicy, וערך ברירת המחדל שלו הוא
default
.
services
הגדרות שמאפשרות להפעיל או להשבית תכונות שדורשות שירותי רשת של צד שלישי שסופקו על ידי Google ועל ידי ספק החיפוש שמוגדר כברירת מחדל.
סוג
אובייקט
מאפיינים
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, Chrome משתמש בשירות אינטרנט כדי לפתור שגיאות ניווט. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
גרסה 70 ואילך של Chromeאם ההגדרה הזו מופעלת, Chrome יציע למלא באופן אוטומטי כתובות ונתונים אחרים של טפסים. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
גרסה 70 ואילך של Chromeאם התכונה מופעלת, Chrome יציע למלא טפסים של כרטיסי אשראי באופן אוטומטי. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
autofillEnabled
types.ChromeSetting<boolean>
הופסקה השימוש ב-Chrome 70יש להשתמש ב-privacy.services.autofillAddressEnabled וב-privacy.services.autofillCreditCardEnabled. הוא נשאר בגרסה הזו לצורך תאימות לאחור, והוא יוסר בעתיד.
אם ההגדרה הזו מופעלת, Chrome יציע למלא טפסים באופן אוטומטי. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, מנהל הסיסמאות ישאל אם רוצים לשמור סיסמאות. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
אם ההגנה מופעלת, Chrome עושה כמיטב יכולתו כדי להגן עליכם מפני פישינג ותוכנות זדוניות. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, Chrome ישלח ל-Google מידע נוסף כשהגלישה הבטוחה תחסום דף, למשל את התוכן של הדף החסום. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, Chrome שולח את הטקסט שאתם מקלידים בסרגל הכתובות למנוע החיפוש שמוגדר כברירת מחדל. מנוע החיפוש מספק חיזויים של אתרים וחיפושים שעשויים להיות השלמות אפשריות של מה שהקלדתם עד עכשיו. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, Chrome משתמש בשירות אינטרנט כדי לתקן שגיאות איות. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
אם האפשרות הזו מופעלת, Chrome יציע לתרגם דפים שאינם בשפה שאתם קוראים. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל שלו הוא
true
.
websites
הגדרות שקובעות איזה מידע Chrome יספק לאתרים.
סוג
אובייקט
מאפיינים
-
adMeasurementEnabled
types.ChromeSetting<boolean>
גרסה 111 ואילך של Chromeאם ההגדרה הזו מושבתת, Attribution Reporting API ו-Private Aggregation API יושבתו. הערך של ההעדפה הזו הוא מסוג בוליאני, וערך ברירת המחדל הוא
true
. תוספי Chrome יכולים להשבית את ממשקי ה-API האלה רק על ידי הגדרת הערךfalse
. אם תנסו להגדיר את ממשקי ה-API האלה ל-true
, תופיע שגיאה. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome מגרסה 65 ואילךאם ההגדרה הזו מופעלת, Chrome שולח את הכותרת 'לא לעקוב אחריי' (
DNT: 1
) עם הבקשות שלכם. הערך של ההעדפה הזו הוא מסוג בוליאני וערך ברירת המחדל הואfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
גרסה 111 ואילך של Chromeאם ההגדרה הזו מושבתת, Fledge API יושבת. הערך של ההעדפה הזו הוא מסוג בוליאני וערך ברירת המחדל הוא
true
. תוספים יכולים להשבית את ה-API הזה רק על ידי הגדרת הערך ל-false
. אם תנסו להגדיר את ה-API הזה כ-true
, תוצג שגיאה. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
אם ההגדרה הזו מופעלת, Chrome שולח פינגים של ביקורת כשאתר מבקש זאת (
<a ping>
). הערך של ההעדפה הזו הוא מסוג בוליאני וערך ברירת המחדל הואtrue
. -
protectedContentEnabled
types.ChromeSetting<boolean>
התכונה זמינה רק ב-Windows וב-ChromeOS: אם ההגדרה הזו מופעלת, Chrome מספק מזהה ייחודי לתוספים כדי להפעיל תוכן מוגן. הערך של ההעדפה הזו הוא מסוג בוליאני, וערך ברירת המחדל הוא
true
. -
referrersEnabled
types.ChromeSetting<boolean>
אם האפשרות הזו מופעלת, Chrome שולח כותרות
referer
עם הבקשות שלכם. כן, השם של ההעדפה הזו לא תואם לכותרת עם השגיאה באיות. לא, אנחנו לא הולכים לשנות אותו. הערך של ההעדפה הזו הוא מסוג בוליאני וערך ברירת המחדל הואtrue
. -
types.ChromeSetting<boolean>
גרסה 121 ואילך של Chromeאם ההגדרה הזו מושבתת, התכונה קבוצות של אתרים קשורים מושבתת. הערך של ההעדפה הזו הוא מסוג בוליאני, וערך ברירת המחדל הוא
true
. תוספים יכולים להשבית את ה-API הזה רק על ידי הגדרת הערך ל-false
. אם תנסו להגדיר את ה-API הזה כ-true
, תוצג שגיאה. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
אם ההגדרה הזו מושבתת, Chrome מונע מאתרים של צד שלישי להגדיר קובצי cookie. הערך של ההעדפה הזו הוא מסוג בוליאני וערך ברירת המחדל הוא
true
.**הערה:**יכול להיות שאתרים מסוימים עדיין יוכלו לגשת לקובצי cookie של צד שלישי כשה-API הזה מחזיר את הערך
false
, אם יש להם פטור תקף או שהם משתמשים ב-Storage Access API במקום זאת. -
topicsEnabled
types.ChromeSetting<boolean>
גרסה 111 ואילך של Chromeאם ההגדרה הזו מושבתת, Topics API יושבת. הערך של ההעדפה הזו הוא מסוג בוליאני וערך ברירת המחדל הוא
true
. תוספים יכולים להשבית את ה-API הזה רק על ידי הגדרת הערך ל-false
. אם תנסו להגדיר את ה-API הזה כ-true
, תוצג שגיאה.