Firefox - Cookies & site data löschen, wenn Container geschlossen wird

BobbyD

Experte
Thread Starter
Mitglied seit
31.07.2022
Beiträge
934
Die Überschrift sagt es schon, ich suche ein (hoffentlich einfaches) AddOn, das genau dies bewerkstelligen kann. Aktuell wird beim Schließen des FF gelöscht, das reicht mir aber nicht.
 
Lösung
Ich hab jetzt einfach mal eine entsprechende Erweiterung geschrieben, um auszuprobieren, was sich machen lässt:
JSON:
{
    "manifest_version": 2,
    "name": "Private Identities",
    "version": "1.0",
    "permissions": [
        "browsingData",
        "contextualIdentities"
    ],
    "background": {
        "scripts": ["background.js"]
    }
}
Javascript:
browser.tabs.onRemoved.addListener(tabId => {
    // SNAFU: tabs.get() fails because the tabId is already considered ivalid
    // But tabs.query() results still include the removed tab?
    // Workaround: Determine the cookieStoreId of the removed tab by matching all tabs in the query and filtering for the id afterwards
    browser.tabs.query({})
        .then(tabs =>...
Die Überschrift sagt es schon, ich suche ein (hoffentlich einfaches) AddOn, das genau dies bewerkstelligen kann. Aktuell wird beim Schließen des FF gelöscht, das reicht mir aber nicht.
Temporary Containers bietet automatisch verwaltete temporäre Container, die nach dem schließen des letzten Tabs automatisch nach einer Zeit komplett gelöscht werden.

Cookies und (ggf. auch local storage?) von "herkömmlichen" Containern beim schließen des letzten Tabs zu löschen sollten die entsprechenden APIs hergeben, aber alles andere (speziell Cache und Verlauf) hätte afaik Nebeneffekte.
 
Zuletzt bearbeitet:
Ich nutze Firefox Multi-Account Containers zwecks Umleitung in diverse Socks-Proxys und kann daher diese Erweiterung nicht nutzen. Ich hab auch den Eindruck, dass was ich will, nicht existiert. Cookies löschen könne einige per Container, nicht aber Site-Data.
Was fällt denn für dich alles unter „Site-Data“? Ob eine passende Erweiterung existiert dürfte maßgeblich davon abhängen, ob sich das was du willst überhaupt als Web Extension in Firefox umsetzen lässt.
  • browsingData.removeCookies() und browsingData.removeLocalStorage() kann man auf einen Container-spezifischen Store beschränken
  • IndexedDB hat keine keine eigene Methode, kann aber über browsingData.remove() entfernt werden.
    • Verwendet die gleichen browsingData.RemovalOptions wie die anderen beiden, aber in wie weit die [URL='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browsingData/RemovalOptions#cookiestoreid']cookieStoreId[/URL] dabei beachtet wird ist unklar / undokumentiert
  • Session storage sollte beim schließen des letzten Tabs in der page session eh gelöscht werden
  • History und Cache sind nicht zwischen Containern isoliert
 
Was fällt denn für dich alles unter „Site-Data“?
Screenshot 2024-08-16 221030.png
 
Ich hab jetzt einfach mal eine entsprechende Erweiterung geschrieben, um auszuprobieren, was sich machen lässt:
JSON:
{
    "manifest_version": 2,
    "name": "Private Identities",
    "version": "1.0",
    "permissions": [
        "browsingData",
        "contextualIdentities"
    ],
    "background": {
        "scripts": ["background.js"]
    }
}
Javascript:
browser.tabs.onRemoved.addListener(tabId => {
    // SNAFU: tabs.get() fails because the tabId is already considered ivalid
    // But tabs.query() results still include the removed tab?
    // Workaround: Determine the cookieStoreId of the removed tab by matching all tabs in the query and filtering for the id afterwards
    browser.tabs.query({})
        .then(tabs => browser.contextualIdentities.get(tabs.find(tab => tab.id == tabId).cookieStoreId))
        .then(
            identity => {
                // Only clear containers following the naming convention
                if (/\[private\]$/i.test(identity.name))
                    browser.tabs.query({ cookieStoreId: identity.cookieStoreId })
                        // This will include the removed tab!
                        .then(tabsUsingStore => {
                            if (tabsUsingStore.length <= 1) browser.browsingData.remove(
                                { cookieStoreId: identity.cookieStoreId },
                                {
                                    cookies: true,
                                    indexedDB: true,
                                    localStorage: true,
                                    // The following will trigger an "Firefox does not support clearing X with 'cookieStoreId'." error
                                    cache: false,
                                    downloads: false,
                                    formData: false,
                                    history: false,
                                    passwords: false,
                                    pluginData: false,
                                    serverBoundCertificates: false,
                                    serviceWorkers: false
                                }
                            );
                        }
                        )
            },
            // The store was not associated with a contextual identity (i.e. the tab was not containerized)
            error => {}
        )
});

Die Erweiterung löscht für Container, deren Name auf [private] endet (Groß-/Kleinschreibung egal) alle Daten, soweit das im Rahmen einer Web Extension möglich ist (siehe Code), sobald der letzte Tab geschlossen wird.
Gegenüber den Daten, die über die im Screenshot abgebildete UI gelöscht werden fehlt damit mindestens der Cache. Der lässt sich aber per API weder Hostname- noch Container-spezifisch löschen, nur global.

Benutzung auf eigene Gefahr, ich würde empfehlen, zur Sicherheit erst einmal ein neues Profil (bzw. eine Kopie des aktuellen) zum testen zu verwenden.
 
Lösung
Gegenüber den Daten, die über die im Screenshot abgebildete UI gelöscht werden fehlt damit mindestens der Cache. Der lässt sich aber per API weder Hostname- noch Container-spezifisch löschen, nur global.
Ich denke auch, das ist das Problem, Mozilla ging es bei den Containern wohl vorrangig um die Cookies. Mir geht es jetzt aber darum, dass die selbe Website keine Rückschlüsse ziehen kann, dass ich sie während der aktuellen FF-Session bereist einmal besucht hatte... Ob das mittels des Caches für die Website möglich ist, weiß ich nicht und ich kann das auch nicht überprüfen. Cookie AutoDelete hält auch eine entsprechende Formulierung und Warnung bereit, wenn man mehr als die Cookies löschen will. Sie schreiben, dass sie dann nur alles löschen könnten. Wenn ich das aktiviere, wird aber die Site-Data weiterhin nicht gelöscht.
Nimm mir das bitte nicht übel, aber ich selber könnte es eh nicht verifizieren, ich muss mich eh an den Dialog von FF halten und dazu sagst Du ja schon, dass man nicht alles löschen kann. Ich steck da auch überhaupt nicht drin in der Materie.

Ich hoffe einfach, dass Mozilla den Container in Zukunft noch ausweitet. Vermutlich wird das aber nichts, weil es da ja eher um die Trennung der Daten geht und nicht deren zeitnahe Löschung.
PS: Ich markiere deinen Beitrag trotzdem einfach mal als Lösung, auch wenn ich ihn nicht getestet habe. Es deutet halt alles darauf hin, dass es aktuell so nicht geht.
 
Fingerprinting über den Cache ist definitiv möglich. Wenn es nur darum geht eine triviale Beschränkung auf einer Webseite zu umgehen, kannst du es ja trotzdem mal probieren.

Wenn es dir allerdings ernst ist mit Schutz vor fp, werden dir simple Proxies und in FF über die GUI die Website-Daten löschen auch nicht ansatzweise reichen.
Da würde schon ein richtiges Anonymisierungsnetzwerk und ein einigermaßen gegen fp gehärteter Browser fällig, mit anderen Worten: Benutz Tor Browser.
Aber ohne deinen Usecase im Detail zu kennen kann man da schlecht eine Pauschalaussage machen.¹

[1] Wenn es illegal / in der Grauzone ist oder gegen die Forenregeln verstößt will ich es auch gar nicht wissen.
 
@YCbCr Mir geht es dabei aktuell um youtube, ich bin dort nicht eingeloggt und es gibt keine Beschränkungen. Den TOR-Browser zu benutzen hätte aber für mich zu viele Einschränkungen, will ich daher nicht. Ich nutze einen nach meinen Bedürfnissen angepassten und mit Privacy-Extensions "gehärteten" FF und dabei soll es auch bleiben. :wink:
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh