PROJEKTDETAILS / FRÜHE ENTWICKLUNGSPHASE

Lokaler Datenschutz.
Ein offenes Projekt.

Bowden-PII erkennt und ersetzt personenbezogene Kennungen, bevor Text einen anderen Dienst erreicht. Diese Projektdetails unterscheiden die funktionsfähige Grundlage von den längerfristigen Plänen.

Funktionsfähiger Code. Frühe Entwicklung.

Der deterministische Python-Kern, die Kommandozeile, stabile typisierte Platzhalter, eine lokale Platzhalterzuordnung und öffentliche Audit-Metadaten sind umgesetzt. Eine optionale Hybrid-Laufzeit kombiniert Regeln mit einem lokalen neuronalen Token-Klassifikator.

Die öffentliche Version 0.0.1 enthält die lokale Laufzeit, gezielte Tests und einen kleinen synthetischen Benchmark. Trainingsdatensätze, Modellgewichte und Forschungswerkzeuge gehören nicht zu diesem Download.

Das Projekt befindet sich in einer frühen Entwicklungsphase. Eine funktionsfähige Implementierung und erfolgreiche synthetische Evaluationen belegen keine Zuverlässigkeit im Produktivbetrieb. Prüfen Sie eigene Daten und Arbeitsabläufe, bevor Sie sich auf die Ergebnisse verlassen.

Was die Regeln erkennen

Kategorie Umgesetzter Umfang
Schweizer Kennungen AHV/AVS/NSS, UID/CHE, Schweizer MWST-Zusätze
Finanzkennungen IBAN, Schweizer QR-IBAN, Kreditkarten
Kontaktdaten E-Mail-Adressen, konservative Muster für Schweizer Telefonnummern
Netzwerkkennungen URLs, IP-Adressen, MAC-Adressen

Wo sinnvoll, werden Prüfsummen und Validierungsregeln eingesetzt. Die breitere Abdeckung europäischer Telefon- und Steuerkennungen ist noch geplant. Namen und Adressbestandteile gehören zum experimentellen neuronalen Umfang.

Mit der lokalen Laufzeit starten

Die öffentliche Entwicklervorschau 0.0.1 ist auf GitHub verfügbar. Sie benötigen Python 3.11 oder neuer. Die Standard-Engine arbeitet ohne Modellgewichte. Downloads und Versionshinweise.

git clone --branch v0.0.1 --depth 1 https://github.com/48Nauts-Operator/bowden-pii.git
cd bowden-pii
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Verwenden Sie die API in Ihrer Anwendung:

from bowden_pii import redact

result = redact(
    "Kontakt: mia@example.ch",
    policy="strict",
)

print(result.redacted)
# Kontakt: [EMAIL_1]

# Nur innerhalb Ihrer lokalen Datenschutzgrenze aufbewahren.
local_map = result.placeholder_map

# Audit-Metadaten enthalten keine erkannten Originalwerte.
audit = result.audit

Oder nutzen Sie die Kommandozeile:

bowden-pii --policy strict "Kontakt: mia@example.ch"

Typisierte Platzhalter bleiben innerhalb eines Maskierungsergebnisses konsistent. Anwendungen verwalten die Zuordnungen über Dokumente, Sitzungen und Mandanten hinweg selbst. Der deterministische Kern hat keine Laufzeitabhängigkeiten; neuronale und OCR-Funktionen benötigen zusätzliche Einrichtung und Dateien.

Festlegen, was maskiert wird

Profil Deterministisches Verhalten Hybrid-Schwellenwert
Strikt Alle unterstützten Klassen 0,5
Ausgewogen Behält URLs bei 0,7
Zurückhaltend AHV, IBAN, QR-IBAN, MWST, Karten, E-Mail, Telefon 0,9

Bei hybrider Erkennung bestimmt der Schwellenwert, welche neuronalen Erkennungskandidaten übernommen werden. Validierte deterministische Treffer haben bei Überschneidungen Vorrang. Niedrigere Schwellenwerte können mehr tatsächliche Treffer, aber auch mehr Fehlalarme liefern. Messen Sie diese Abwägung mit eigenem Material.

Über korrekt formatierte Kennungen hinaus

Die experimentelle neuronale Ebene untersucht Namen, Adressbestandteile und OCR-typische Fehler. Erste MiniLM-Testtrainings und ein grösserer synthetischer Trainingslauf mit 12’000 Zeilen sind abgeschlossen. Das sind Forschungsgrundlagen, keine validierte Veröffentlichung eines universell einsetzbaren Modells.

Als Nächstes stehen eine breitere Evaluation mit öffentlichen Dokumenten und OCR-Texten, bessere Negativbeispiele, zusätzliche Telefonnummernformate und der Vergleich mit einem mehrsprachigen Modell an. Die Strategie für synthetische Daten umfasst Deutsch, Französisch, Italienisch und Englisch. Die mehrsprachige Leistung im Alltag muss noch umfassender geprüft werden.

Die Ausführung im Browser, begleitende Dienste, verwaltete Zuordnungsspeicherung und kontrollierte lokale Wiederherstellung sind längerfristige Ziele. Die Animation der Website ist eine Illustration; die interaktiven Beispiele wurden mit der deterministischen Python-Engine vorberechnet.

Datenschutz gehört zur Integration

Führen Sie die Erkennung innerhalb Ihrer vorgesehenen Datenschutzgrenze aus und geben Sie nur den maskierten Text weiter. Bewahren Sie Platzhalterzuordnungen lokal auf, trennen Sie Mandanten, schützen Sie die Speicherung und kontrollieren Sie, wer Originalwerte wiederherstellen darf.

Bei der Maskierung können Kennungen übersehen werden. Auch scheinbar gewöhnlicher Kontext kann eine Person identifizierbar machen. Dieses Projekt garantiert weder Anonymität noch die Einhaltung rechtlicher Vorgaben. Es ersetzt keine Zugriffskontrollen, Verschlüsselung, Aufbewahrungsregeln oder Prüfung ausgehender Daten.

Prüfen Sie den gesamten Ablauf: Prompt-Logs, Fehlerprotokolle, Analysewerkzeuge, Embeddings, Dokumentextraktion, Screenshots und Cloud-Fallbacks können Quelldaten offenlegen, selbst wenn der endgültige Prompt maskiert ist.

Über diese Website

Diese statische Website verwendet ein Analyseskript von wave.21nauts.com. Schriftarten und Styles werden lokal geladen; ein Text-Upload-Formular gibt es nicht. Der Hosting-Anbieter erhält gewöhnliche Webanfragen und kann Zugriffsprotokolle führen. Animation und Beispiele laden keine Texte hoch. Externe Quellen werden erst geöffnet, wenn Sie dem jeweiligen Link folgen.

Das Projekt ist nach Caspar Bowden benannt. Es ist unabhängig und steht in keiner Verbindung zu seinem Nachlass oder einer Organisation.