chrome.privacy

תיאור

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

הרשאות

privacy

מניפסט

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

{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}

שימוש

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

chrome.privacy.services.autofillEnabled.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.autofillEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillEnabled.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.autofillEnabled.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, תוצג שגיאה.