gateway/test_neutralizer/zdocu.html

157 lines
No EOL
5.1 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Daten-Neutralisierer Logik</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 40px;
color: #333;
}
h1, h2, h3 {
color: #2c3e50;
}
.pattern-group {
margin: 20px 0;
padding: 15px;
border: 1px solid #ddd;
border-radius: 5px;
}
.pattern {
margin: 10px 0;
padding: 10px;
background-color: #f8f9fa;
border-left: 4px solid #2c3e50;
}
.languages {
color: #666;
font-style: italic;
}
.replacement {
color: #27ae60;
font-weight: bold;
}
</style>
</head>
<body>
<h1>Daten-Neutralisierer Logik</h1>
<p>Der Daten-Neutralisierer unterstützt die Anonymisierung von sensiblen Daten in verschiedenen Dateiformaten (TXT, JSON, CSV, XML, DOCX) und Sprachen (DE, EN, FR, IT).</p>
<h2>1. Unterstützte Dateiformate</h2>
<ul>
<li>CSV-Dateien</li>
<li>JSON-Dateien</li>
<li>XML-Dateien</li>
<li>Text-Dateien (TXT)</li>
<li>Word-Dokumente (DOCX)</li>
</ul>
<h2>2. Neutralisierungsmuster</h2>
<div class="pattern-group">
<h3>Personenbezogene Daten</h3>
<div class="pattern">
<h4>Vornamen</h4>
<p>Deutsch: vorname, vornamen, rufname, taufname</p>
<p>Englisch: first name, given name, forename, personal name</p>
<p>Französisch: prénom, prénoms, nom de baptême</p>
<p>Italienisch: nome, nome di battesimo</p>
<p class="replacement">Ersetzung: NAME_{uuid}</p>
</div>
<div class="pattern">
<h4>Nachnamen</h4>
<p>Deutsch: nachname, nachnamen, familienname, familiennamen, zuname, zunamen</p>
<p>Englisch: last name, family name, surname, second name</p>
<p>Französisch: nom de famille, nom, noms</p>
<p>Italienisch: cognome, cognomi</p>
<p class="replacement">Ersetzung: NAME_{uuid}</p>
</div>
<div class="pattern">
<h4>Namen mit Titel</h4>
<p>Muster: Herr/Frau/Mr./Mrs./Ms./Monsieur/Madame/Signore/Signora/Dr./Prof.</p>
<p class="replacement">Ersetzung: NAME_{uuid}</p>
</div>
</div>
<div class="pattern-group">
<h3>Kontaktdaten</h3>
<div class="pattern">
<h4>E-Mail-Adressen</h4>
<p>Muster: [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}</p>
<p class="replacement">Ersetzung: EMAIL_{uuid}</p>
</div>
<div class="pattern">
<h4>Telefonnummern</h4>
<p>Allgemein: (+XXX)? (XXX) XXX-XXXX</p>
<p>Deutsch: (+49|0049|0) XXX XXXXXXX</p>
<p>Schweiz: (+41|0041|0) XXX XXX XX XX</p>
<p class="replacement">Ersetzung: PHONE_{uuid}</p>
</div>
</div>
<div class="pattern-group">
<h3>Finanzielle Daten</h3>
<div class="pattern">
<h4>IBAN</h4>
<p>Muster: [A-Z]{2}\d{2}[A-Z0-9]{4}\d{7}([A-Z0-9]?){0,16}</p>
<p class="replacement">Ersetzung: IBAN_{uuid}</p>
</div>
<div class="pattern">
<h4>Kreditkartennummern</h4>
<p>Muster: XXXX-XXXX-XXXX-XXXX</p>
<p class="replacement">Ersetzung: CREDITCARD_{uuid}</p>
</div>
</div>
<div class="pattern-group">
<h3>Adressdaten</h3>
<div class="pattern">
<h4>Vollständige Adressen</h4>
<p>Muster: Straßenname + Hausnummer + PLZ + Stadt</p>
<p class="replacement">Ersetzung: ADDRESS_{uuid}</p>
</div>
<div class="pattern">
<h4>Städte und Orte</h4>
<p>Muster: Stadtnamen mit typischen Endungen (-stadt, -dorf, -berg, etc.)</p>
<p class="replacement">Ersetzung: CITY_{uuid}</p>
</div>
</div>
<h2>3. Verarbeitungslogik</h2>
<ol>
<li>Datei wird basierend auf dem Dateityp eingelesen</li>
<li>Bei Tabellendaten (CSV, JSON, XML):
<ul>
<li>Header werden analysiert und Spaltentypen identifiziert</li>
<li>Daten in den Spalten werden entsprechend dem Spaltentyp neutralisiert</li>
</ul>
</li>
<li>Bei Textdaten:
<ul>
<li>Text wird nach Tabellenstrukturen analysiert</li>
<li>Gefundene Tabellen werden wie oben verarbeitet</li>
<li>Verbleibender Text wird nach Mustern durchsucht</li>
</ul>
</li>
<li>Alle Ersetzungen werden in einer Mapping-Datei protokolliert</li>
</ol>
<h2>4. Logging und Tracking</h2>
<ul>
<li>Mapping-Log: Protokolliert alle durchgeführten Ersetzungen</li>
<li>Replacements-Log: Speichert Original- und anonymisierte Werte</li>
<li>Alle Aktionen werden mit Zeitstempel und Dateiname dokumentiert</li>
</ul>
</body>
</html>