Die policy-driven Privacy-Schicht gegen Profiling und Surveillance Pricing: Personas statt Zufall, lokale Kontrolle statt Blackbox und ein Setup, das Browser-Signale bewusst normiert, bevor Websites sie auswerten koennen.
Identity Firewall kontrolliert, welche digitale Identitaet Websites zu sehen bekommen: User-Agent, Sprache, Zeitzone, Bildschirmparameter und weitere Signale werden pro Domain ueber Personas auf einen gewuenschten, konsistenten Zustand gebracht. Das Projekt verbindet einen Rust-Core fuer Policy und Validierung mit einer Browser-Extension fuer JS-seitiges Spoofing und legt den Fokus auf Privacy, Transparenz und Forschung statt auf undurchsichtige Anti-Tracking-Versprechen.
Schnellstart · Architektur · Threat Model · Core · Extension · Mitmachen
- Warum Identity Firewall?
- Das Alleinstellungsmerkmal: Personas statt Zufall
- Feature Highlights (Today)
- Was heute wirklich implementiert ist
- Architektur auf einen Blick
- Schnellstart
- Projektstruktur
- Security und Trust
- Roadmap (Now / Next / Later)
- Mitmachen
- Lizenz
Viele Websites lesen nicht nur Inhalte, sondern auch den Kontext, aus dem du kommst: Browser, Sprache, Zeitzone, Bildschirmgroesse und weitere Signale werden zu Profilen verdichtet. Genau dort setzt Identity Firewall an:
- Profile werden ueber Personas aktiv normiert
- Domain-Regeln steuern, welche Persona wo gilt
- Spoofing bleibt bewusst konsistent zwischen Policy und Browser-Oberflaeche
- Logging bleibt privacy-aware statt datenhungrig
Das Ziel ist nicht "unsichtbar werden um jeden Preis", sondern Profilierbarkeit zu reduzieren, Preisunterschiede messbar zu machen und Browser-Identitaet fuer Forschung und Selbstschutz kontrollierbarer zu machen.
Identity Firewall ist kein lose zusammengeklebter Header-Hack. Der Kern ist ein regelbasiertes Persona-Modell:
- Eine Persona beschreibt ein bewusst gewaehltes Identitaetsprofil
- Eine Rule mappt Hostnames oder Pattern auf diese Persona
- Die Policy Engine loest fuer eine Domain genau die Persona auf, die angewendet werden soll
- Die Extension setzt diese Entscheidung in der Browserumgebung um
Dadurch entsteht ein reproduzierbarer Workflow fuer Privacy-Tests, Anti-Profiling-Setups und Research zu Surveillance Pricing.
- Rust-Core mit Persona-, Rule- und Policy-Modellen
- Config-Loading fuer TOML und JSON inklusive Validierung
- Regelmuster mit Priorisierung nach Spezifitaet
- Privacy-aware Logging mit Persona- und Host-Kontext
- Browser-Extension mit Popup, Background-Logik und Content-Script-Injektion
- JS-seitiges Spoofing fuer
navigator.*,screen.*,devicePixelRatioundmatchMedia - Dokumentierte Architektur-, Threat-Model- und Runbook-Basis
Wichtig fuer eine ehrliche Erwartungshaltung:
- Implementiert: Rust Policy Engine, Konfigurations-Parsing, Persona-Resolution, Logging-Grundlage und Browser-Extension mit DOM-/JS-Spoofing.
- Teilweise / in Arbeit: Header-Rewriting auf Extension-Seite, tiefere Browser-Integrationen und ausgebaute Forschungs-Workflows.
- Geplant: HTTP/WASM-Anbindung an den Core, experimentelle Mehr-Persona-Tests und optional eine GUI.
Das Repo ist also schon klar nutzbar und testbar, verkauft aber bewusst noch keine "vollstaendige Anti-Fingerprinting-Magie".
flowchart LR
A[Domain Request] --> B[Policy Engine im Rust-Core]
B --> C[Persona fuer Host aufloesen]
C --> D[Browser-Extension setzt Signale um]
D --> E[Website sieht normierte Identitaet]
Die drei Hauptbausteine:
core/verwaltet Personas, Regeln, Konfiguration und Logging.extension/setzt Persona-Entscheidungen im Browser um.docs/beschreibt Grenzen, Risiken und Betriebswissen.
Mehr Tiefe dazu gibt es in docs/ARCHITECTURE.md und PROJECT.md.
- Rust Stable
- Node.js
24 - ein Chromium-basierter Browser fuer den aktuellen Extension-Workflow
npm install
npm install --prefix extension
npm run verify
pwsh -NoLogo -ExecutionPolicy Bypass -File ./.motherlode/scripts/audit.ps1Rust-Core:
cargo build --workspace
cargo test --workspaceExtension:
npm --prefix extension run build
npm --prefix extension run type-check
npm --prefix extension run test- Baue die Extension mit
npm --prefix extension run build. - Oeffne
chrome://extensionsoderedge://extensions. - Aktiviere den Developer Mode.
- Lade den Ordner
extension/als unpacked extension. - Oeffne eine Website und pruefe im Popup, welche Persona gematcht wurde.
core/- Rust-Core fuer Personas, Regeln, Policy-Resolution und Loggingextension/- Browser-Extension mit Background-, Content- und Popup-Logikdocs/- Architektur, Threat Model und Runbooksscripts/- Root-Automation fuer Rust- und Workspace-Kommandos.github/- CI und CodeQL.motherlode/- Repo-Standards und Audit-BasisPROJECT.md- Vision, Ziele und MVP-AbgrenzungRUNBOOK.md- Betriebs- und Entwicklerablauf
Identity Firewall bewegt sich an einer sensiblen Grenze: zwischen User, Browser und adversarialen Websites. Deshalb sind diese Dokumente nicht "nice to have", sondern Teil des technischen Vertrags:
Wichtige Leitplanken im Projekt:
- keine Secrets oder Beispiel-Credentials committen
- keine privacy-feindlichen Defaults einfuehren
- Browser-seitige Eingaben und DOM-Kontexte als untrusted behandeln
- sicherheitsrelevante Aenderungen mit Tests und Doku flankieren
- Rust-Core mit Config-Loading, Validierung und Persona-Resolution
- Browser-Extension mit Popup, Background-Service-Worker und Content-Script-Spoofing
- dokumentierte Architektur-, Threat-Model- und Runbook-Basis
- staerkere Header-Rewriting-Unterstuetzung
- sauberere Core-Integration ueber WASM oder lokale HTTP-Schnittstelle
- mehr automatisierte Tests fuer Browser-seitige Privacy-Flows
- Experiment-Modus fuer Persona-Vergleiche gegen dieselbe URL
- GUI/Tauri-Oberflaeche fuer Persona- und Rule-Management
- tiefere Abdeckung weiterer Fingerprinting-Surfaces
Beitraege sollen fokussiert, reversibel und nachvollziehbar bleiben. Wenn du beitragen willst:
- starte mit CONTRIBUTING.md
- nimm Security-Meldungen ueber SECURITY.md
- fuehre vor PRs die Root-Checks und den Motherlode-Audit aus
- aktualisiere Doku, wenn Verhalten, Workflows oder Sicherheitsannahmen sich aendern
Fuer Core-Aenderungen sind Rust-Tests wichtig, fuer Extension-Aenderungen TypeScript-Tests und manuelle Browser-Validierung.
Dieses Projekt steht unter der MIT-Lizenz. Details in LICENSE.