presidio ok v.1

This commit is contained in:
nBiqoz
2025-07-28 20:55:11 +02:00
parent 6d12017561
commit dc734e08f0
4 changed files with 221 additions and 163 deletions

View File

@@ -17,34 +17,75 @@ export const AnonymizationInterface = ({
const anonymizedTypes = new Set<string>();
// Détecter les patterns d'anonymisation dans le texte de sortie
// ✅ NOUVEAUX PATTERNS PRESIDIO
// Noms (PERSON)
if (outputText.includes("<PERSON>")) {
anonymizedTypes.add("Prénoms");
anonymizedTypes.add("Noms de famille");
anonymizedTypes.add("Noms complets");
}
// Noms (Prénoms, Noms de famille, Noms complets)
// Emails (EMAIL_ADDRESS)
if (outputText.includes("<EMAIL_ADDRESS>")) {
anonymizedTypes.add("Adresses e-mail");
}
// Téléphones (PHONE_NUMBER)
if (outputText.includes("<PHONE_NUMBER>")) {
anonymizedTypes.add("Numéros de téléphone");
}
// Adresses (LOCATION)
if (outputText.includes("<LOCATION>")) {
anonymizedTypes.add("Adresses");
}
// IBAN (IBAN)
if (outputText.includes("<IBAN>")) {
anonymizedTypes.add("Numéros d'ID"); // Ou créer une nouvelle catégorie "IBAN"
}
// Organisations (ORGANIZATION)
if (outputText.includes("<ORGANIZATION>")) {
anonymizedTypes.add("Noms de domaine"); // Ou adapter selon vos besoins
}
// Dates personnalisées (CUSTOM_DATE)
if (outputText.includes("<CUSTOM_DATE>")) {
anonymizedTypes.add("Dates");
}
// Numéros d'entreprise belges (BE_ENTERPRISE_NUMBER)
if (outputText.includes("<BE_ENTERPRISE_NUMBER>")) {
anonymizedTypes.add("Numéros d'ID");
}
// ✅ ANCIENS PATTERNS (pour compatibilité)
// Noms (anciens patterns [Nom1], [Nom2]...)
if (outputText.includes("[Nom1]") || outputText.includes("[Nom")) {
anonymizedTypes.add("Prénoms");
anonymizedTypes.add("Noms de famille");
anonymizedTypes.add("Noms complets");
}
// Emails
// Emails (anciens patterns)
if (outputText.includes("[Email1]") || outputText.includes("[Email")) {
anonymizedTypes.add("Adresses e-mail");
}
// Téléphones
if (
outputText.includes("[Téléphone1]") ||
outputText.includes("[Téléphone")
) {
// Téléphones (anciens patterns)
if (outputText.includes("[Téléphone1]") || outputText.includes("[Téléphone")) {
anonymizedTypes.add("Numéros de téléphone");
}
// Adresses
// Adresses (anciens patterns)
if (outputText.includes("[Adresse1]") || outputText.includes("[Adresse")) {
anonymizedTypes.add("Adresses");
}
// Numéros d'ID / Sécurité sociale
// Numéros d'ID / Sécurité sociale (anciens patterns)
if (
outputText.includes("[NuméroSS1]") ||
outputText.includes("[NuméroSS") ||
@@ -53,14 +94,6 @@ export const AnonymizationInterface = ({
anonymizedTypes.add("Numéros d'ID");
}
// Dates
if (
outputText.includes("[Date") ||
/\[\d{2}\/\d{2}\/\d{4}\]/.test(outputText)
) {
anonymizedTypes.add("Dates");
}
// Valeurs monétaires
if (outputText.includes("[Montant") || /\[\d+[€$]\]/.test(outputText)) {
anonymizedTypes.add("Valeurs monétaires");