chrome.privacy

תיאור

אפשר להשתמש ב-chrome.privacy API כדי לשלוט בשימוש בתכונות ב-Chrome שיכולות להשפיע על הפרטיות של המשתמש. ה-API הזה מסתמך על אב הטיפוס ChromeSetting של API מסוג כדי לקבל ולהגדיר את התצורה של Chrome.

הרשאות

privacy

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

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

Chrome 48 ואילך

מדיניות הטיפול ב-IP של WebRTC.

Enum

'default'

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

מאפיינים

network

הגדרות שמשפיעות על האופן שבו Chrome מטפל בחיבורים לרשת באופן כללי.

סוג

אובייקט

מאפיינים

  • networkPredictionEnabled

    אם ההעדפה הזו מופעלת, דפדפן Chrome מנסה להאיץ את חוויית הגלישה באינטרנט על ידי פתרון מראש של רשומות DNS ופתיחה מראש של חיבורי TCP ו-SSL לשרתים. ההעדפה הזו משפיעה רק על פעולות שמבוצעות על ידי שירות החיזוי הפנימי של Chrome. היא לא משפיעה על אחזור מראש או על חיבור מראש שמתחילים מדף אינטרנט. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל הוא true.

  • webRTCIPHandlingPolicy
    Chrome 48 ואילך

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

services

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

סוג

אובייקט

מאפיינים

  • alternateErrorPagesEnabled

    אם ההעדפה הזו מופעלת, Chrome משתמש בשירות אינטרנט כדי לפתור שגיאות בניווט. ערך ההעדפה הוא בוליאני, וערך ברירת המחדל הוא true.

  • autofillAddressEnabled
    Chrome 70 ואילך

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

  • autofillCreditCardEnabled
    Chrome 70 ואילך

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

  • autofillEnabled
    הוצא משימוש מאז Chrome 70

    צריך להשתמש ב-privacy.services.autofillAddressEnabled וב-privacy.services.autofillCreditCardEnabled. האפשרות הזו נשארת בגרסה הזו לצורך תאימות לאחור, והיא תוסר בעתיד.

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

  • passwordSavingEnabled

    אם היא מופעלת, מנהל הסיסמאות ישאל אם אתם רוצים לשמור סיסמאות. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל הוא true.

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

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

  • spellingServiceEnabled

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

  • translationServiceEnabled

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

websites

הגדרות שקובעות איזה מידע Chrome מעמיד לרשות אתרים.

סוג

אובייקט

מאפיינים

  • adMeasurementEnabled
    Chrome 111 ואילך

    אם ההגדרה הזו מושבתת, Attribution Reporting API ו-Private Aggregation API מושבתים. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל הוא true. תוספים יכולים להשבית את ממשקי ה-API האלה רק על ידי הגדרת הערך false. אם תנסו להגדיר את ממשקי ה-API האלה לערך true, תוצג שגיאה.

  • doNotTrackEnabled
    Chrome 65+

    אם ההגדרה הזו מופעלת, Chrome שולח כותרת Do Not Track ‏(DNT: 1) עם הבקשות שלכם. הערך של ההעדפה הזו הוא מסוג בוליאני, וערך ברירת המחדל הוא false.

  • fledgeEnabled
    Chrome 111 ואילך

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

  • hyperlinkAuditingEnabled

    אם ההעדפה הזו מופעלת, Chrome שולח פינגים של ביקורת כשאתר מבקש זאת (<a ping>). הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל הוא true.

  • protectedContentEnabled

    זמין רק ב-Windows וב-ChromeOS: אם ההגדרה הזו מופעלת, Chrome מספק פלאגינים עם מזהה ייחודי כדי להריץ תוכן מוגן. הערך של ההעדפה הזו הוא בוליאני, וערך ברירת המחדל הוא true.

  • referrersEnabled

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

  • relatedWebsiteSetsEnabled
    Chrome 121 ואילך

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

  • thirdPartyCookiesAllowed

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

    הערה: יכול להיות שאתרים ספציפיים עדיין יוכלו לגשת לקובצי Cookie של צד שלישי כשה-API הזה מחזיר false, אם יש להם פטור תקף או שהם משתמשים במקום זאת ב-Storage Access API.

  • topicsEnabled
    Chrome 111 ואילך

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