Cookies Having Independent Partitioned State (CHIPS)
Baseline
2025
Newly available
Since December 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Cookies Having Independent Partitioned State (CHIPS, auch bekannt als partitionierte Cookies) ermöglichen es Entwicklern, ein Cookie in einen partitionierten Speicher zu integrieren, wobei ein separates Cookie-Jar pro Top-Level-Site verwendet wird.
Ohne Cookie-Partitionierung können Drittanbieter-Cookies Dienste in die Lage versetzen, Benutzer zu verfolgen und ihre Informationen über nicht miteinander verbundene Top-Level-Sites hinweg zu assoziieren. Cookies, die als Partitioned gekennzeichnet sind, sind doppelt getreu: nach dem Ursprung, der sie setzt, und dem Ursprung der Top-Level-Seite.
Das bedeutet, dass sie nur im Kontext der Top-Level-Site gelesen werden können, auf der sie gesetzt wurden. Dies blockiert Cross-Site-Tracking, ermöglicht jedoch weiterhin legitime Verwendungen von Drittanbieter-Cookies wie das Beibehalten des Zustands eingebetteter Karten oder Chat-Widgets über eine Domain und ihre Subdomains hinweg sowie das Speichern von Konfigurationsinformationen für Subresource-CDN-Load-Balancing und Headless-CMS-Anbieter.
Wie funktioniert CHIPS?
Um zu verstehen, wie CHIPS funktioniert, betrachten wir ein kurzes Beispiel. Historisch gesehen, wenn eine Site Inhalte über ein <iframe> einbettet, konnte der eingebettete Inhalt als Reaktion auf die Cross-Site-Anfrage ein Cookie auf dem Gerät des Benutzers setzen. Wenn der Benutzer andere Sites besucht, die denselben Inhalt einbetten, kann der eingebettete Inhalt auf dasselbe Cookie zugreifen, das ursprünglich von der ersten Instanz des eingebetteten Inhalts gesetzt wurde. Dies ermöglicht es dem Inhaltsanbieter, Benutzeraktivitäten auf diesen und anderen Sites zu verfolgen, die denselben Inhalt einbetten.
Beispiel:
- Ein Benutzer besucht
https://site-a.example, die Inhalte vonhttps://3rd-party.exampleeinbettet.https://3rd-party.examplesetzt ein Cookie auf dem Gerät des Benutzers. - Der Benutzer besucht
https://site-b.example, die ebenfallshttps://3rd-party.exampleeinbettet. Diese neue Instanz vonhttps://3rd-party.examplekann weiterhin auf das Cookie zugreifen, das gesetzt wurde, als der Benutzer auf der vorherigen Seite war.
Dies funktioniert, weil Cookies historisch gesehen mit einem Schlüssel gespeichert wurden, der auf dem Host- oder Domainnamen der Site basiert, die sie gesetzt hat, auch bekannt als Host-Schlüssel. Im obigen Fall würde das Cookie mit einem Schlüssel von ("3rd-party.example") gespeichert.
Browser mit CHIPS-Unterstützung bieten ein neues Attribut für den Set-Cookie HTTP-Header — Partitioned — das bei Setzung es Site-Besitzern ermöglicht, sich für die Verwendung von CHIPS zu entscheiden:
Set-Cookie: __Host-example=34d8g; SameSite=None; Secure; Path=/; Partitioned;
Hinweis:
Partitionierte Cookies müssen mit Secure gesetzt werden. Zusätzlich können Sie das __Host-Präfix verwenden, wenn Sie partitionierte Cookies setzen, um sie nur an die aktuelle Domain oder Subdomain zu binden. Dies wird empfohlen, wenn Sie Cookies nicht zwischen Subdomains teilen müssen.
Mit Partitioned gesetzten Cookies werden Drittanbieter-Cookies mithilfe von zwei Schlüsseln gespeichert, dem Host-Schlüssel und einem neuen Partition-Schlüssel. Der Partition-Schlüssel basiert auf der Site, einschließlich des Schemas, der Top-Level-URL, die der Browser besuchte, als die Anfrage an den URL-Endpunkt gestellt wurde, der das Cookie gesetzt hat.
Zurück zu unserem Beispiel:
- Ein Benutzer besucht
https://site-a.example, die Inhalte vonhttps://3rd-party.exampleeinbettet.https://3rd-party.examplesetzt ein Cookie auf dem Gerät des Benutzers unter Verwendung vonPartitioned, was bedeutet, dass der Site-Inhaber sich für CHIPS entscheidet. - Der Speicherschlüssel für das Cookie wäre nun
{("https://site-a.example"), ("3rd-party.example")}}. - Wenn der Benutzer
https://site-b.examplebesucht, die ebenfallshttps://3rd-party.exampleeinbettet, kann die neue eingebettete Instanz nicht mehr auf das Cookie zugreifen, da der Partition-Schlüssel nicht übereinstimmt.
Hinweis: CHIPS ähnelt dem von Firefox implementierten Zustandspartitionierungsmechanismus. Der Unterschied besteht darin, dass die Zustandspartitionierung die Cookie-Speicherung standardmäßig für Drittanbieter-Kontexte aufteilt, während CHIPS ein Opt-in für partitionierte Cookies für sowohl Erst- als auch Drittanbieter-Kontexte erlaubt. Es wird empfohlen, den Opt-in-Mechanismus von CHIPS anstelle der Zustandspartitionierung zu verwenden, um die kompatibelsten partitionierten Cookies bereitzustellen.
CHIPS und Subdomains
CHIPS ermöglicht es weiterhin, dass Drittanbieter-Inhalte, die über verschiedene Subdomains einer Site eingebettet sind, auf Drittanbieter-Cookies zugreifen, die von diesen Inhalten gesetzt wurden. Betrachten wir ein Einzelhandels-Website-Beispiel, das einen Drittanbieter-Chatdienst verwendet:
- Ein Benutzer besucht
https://shoppy.example, die einen Drittanbieter-Chat-Service vonhttps://3rd-party.example/chateinbettet, um Unterstützung für Benutzer bereitzustellen, die Hilfe benötigen.https://3rd-party.example/chatsetzt ein Cookie auf dem Gerät des Benutzers unter Verwendung vonPartitioned, um den Zustand des Chats über verschiedene Site-Subdomains hinweg aufrechtzuerhalten. - Der Speicherschlüssel für das Cookie wäre
{("https://shoppy.example"), ("3rd-party.example/chat")}}. - Der Benutzer besucht verschiedene Subdomains, die ebenfalls
https://3rd-party.example/chateinbetten, einschließlichhttps://support.shoppy.exampleundhttps://checkout.shoppy.example. Die neuen eingebetteten Instanzen können auf das Cookie zugreifen, da der Partition-Schlüssel weiterhin übereinstimmt.
Spezifikationen
| Specification |
|---|
| Cookies Having Independent Partitioned State specification> # section-2.1> |
Browser-Kompatibilität
Siehe auch
- Cookies Having Independent Partitioned State (CHIPS) auf privacysandbox.google.com
- CHIPS Explainer