גרסת מקור לניסיון של קובצי cookie עם מצב נפרד למחיצות (CHIPS)

החל מגרסה 100 של Chrome, גרסת המקור לניסיון של CHIPS מאפשרת לצרף קובצי cookie לאחסון 'מחולק למחיצות', עם צנצנת קובצי cookie נפרדת לכל אתר ברמה העליונה.

השינויים

מה זה CHIPS?

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

קובץ Cookie של צד שלישי המחולק למחיצות מקושר לאתר ברמה העליונה שבו הוא מוגדר בהתחלה ולא ניתן לגשת אליו ממקומות אחרים. המטרה היא לאפשר הגדרה של קובצי cookie על ידי שירות צד שלישי, אבל לקרוא אותם רק בהקשר של האתר ברמה העליונה שבו הם הוגדרו בהתחלה.

למי מיועדת גרסת המקור לניסיון?

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

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

כמה זמן תימשך תקופת הניסיון?

תקופת הניסיון תהיה זמינה מ-Chrome 100 ל-Chrome 105. כדאי לבדוק את לוח הזמנים להשקה של Chrome כדי לראות את תאריכי הפרסום המתוכננים.

איך נרשמים לגרסת המקור לניסיון

דרישות מוקדמות

גרסה 103 יציבה של Chrome.

מה עושים

  1. כדי להירשם לתקופת הניסיון המקורית ולקבל אסימון לדומיינים, צריך להיכנס לדף המקור לניסיון של CHIPS.

  2. צריך לכלול את הכותרת Origin-Trial עם אסימון חוקי בכל תשובה עם הכותרת Set-Cookie שכוללת את Partitioned:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. אפשר להוסיף את המאפיין Partitioned לקובצי Cookie באחת משתי הדרכים הבאות:

    • בכותרת Set-Cookie:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • ב-JavaScript:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

דוגמה

אתרים שמשתתפים בגרסת המקור לניסיון צריכים לכלול את הכותרות הבאות בתגובה:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

יש לוודא שהוא פועל

בדיקת הכותרות

אם הבעת הסכמה להשתתף בגרסת המקור לניסיון והגדרת קובץ Cookie עם חלוקה למחיצות, הבקשות הבאות מלקוח Chrome יכללו את כותרת הבקשה Sec-CH-Partitioned-Cookies: ?0 עד לסיום הסשן הנוכחי.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

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

תשובות שלא כוללות את הכותרת Set-Cookie עם התווית Partitioned לא ישפיעו על סטטוס ההשתתפות בגרסת המקור לניסיון של אתר.

אם לא תגיב עם אסימון חוקי בכותרת Origin-Trial, קובצי ה-Cookie המחולקים למחיצות במחשב יומרו לקובצי Cookie ללא חלוקה למחיצות.

פרטים נוספים זמינים במסמכי התיעוד של CHIPS ב-chromium.org.

DevTools

  1. צריך לעבור אל chrome://flags/#partitioned-cookies ולשנות את ההגדרה ל'מופעל'.
  2. מפעילים מחדש את Chromium: לוחצים על הלחצן 'הפעלה מחדש' בפינה השמאלית התחתונה או עוברים אל chrome://restart.
  3. צריך לעבור אל chrome://settings/cookies ולוודא שלחצן הבחירה מוגדר ל'קבלת כל קובצי ה-Cookie' או 'חסימת קובצי Cookie של צד שלישי במצב פרטי'.
  4. טוענים את האתר עם ההטמעה.
  5. פותחים את כלי הפיתוח אל Application > Cookies (קובצי cookie) > yourSite ומחפשים את העמודה Partition Key בכלי הפיתוח.

פרטים נוספים

דרישות לגבי קובצי Cookie

  • צריך להגדיר קובצי Cookie עם חלוקה למחיצות באמצעות Secure. (לא נדרש יותר Path=/: ניתן לעיין בכתובת github.com/privacycg/CHIPS/pull/49).
  • לא ניתן להשתמש במאפיין SameParty יחד עם המאפיין Partitioned.

Chrome יאכוף את הכללים האלה לגבי קובצי cookie שמוגדרים עם המאפיין Partitioned, גם אם החלוקה למחיצות (partitioning) של קובצי cookie מופעלת או מושבתת. קובצי Cookie שהוגדרו באופן שגוי יידחו.

אם החלוקה למחיצות (partitioning) של קובצי Cookie מושבתת, אבל קובץ ה-Cookie מוגדר עם המאפיינים הנכונים, Chrome יתעלם מהמאפיין Partitioned וקובץ ה-Cookie שייווצר עדיין יישלח בבקשות למארח שלו באתרים שונים ברמה העליונה שבהם הוא הוגדר.

קובצי Cookie עם חלוקה למחיצות צריכים לכלול גם את המאפיין SameSite=None, כדי לאפשר שליחה של קובצי Cookie בהקשר של צד שלישי בדפדפנים שלא תומכים בחלוקה למחיצות (partitioning) של קובצי Cookie.

JavaScript ו-service worker

למסגרות שמצטרפות לגרסת המקור לניסיון תהיה גישה לקריאה ולכתיבה של קובצי cookie המחולקים למחיצות באמצעות ממשקי API של JavaScript כמו document.cookie ו-CookieStore API. מסגרות שלא נמצאות בסקריפטים של הניסוי לא יוכלו לקרוא או לכתוב קובצי Cookie שחולקו למחיצות.

גרסת המקור לניסיון של CHIPS לא נתמכת ב-Service Workers.

מעורבות ושיתוף משוב