finalyse
This commit is contained in:
@@ -17,108 +17,97 @@ export const AnonymizationInterface = ({
|
||||
|
||||
const anonymizedTypes = new Set<string>();
|
||||
|
||||
// ✅ NOUVEAUX PATTERNS PRESIDIO
|
||||
// Correspondance exacte avec les patterns de highlightEntities.tsx
|
||||
|
||||
// Noms (PERSON)
|
||||
// PERSON -> Prénoms/Noms
|
||||
// PERSON -> Prénoms, Noms de famille ET Noms complets
|
||||
if (outputText.includes("<PERSON>")) {
|
||||
anonymizedTypes.add("Prénoms");
|
||||
anonymizedTypes.add("Noms de famille");
|
||||
anonymizedTypes.add("Noms complets");
|
||||
}
|
||||
|
||||
// Emails (EMAIL_ADDRESS)
|
||||
// EMAIL_ADDRESS -> Adresses e-mail
|
||||
if (outputText.includes("<EMAIL_ADDRESS>")) {
|
||||
anonymizedTypes.add("Adresses e-mail");
|
||||
}
|
||||
|
||||
// Téléphones (PHONE_NUMBER)
|
||||
// PHONE_NUMBER -> Numéros de téléphone
|
||||
if (outputText.includes("<PHONE_NUMBER>")) {
|
||||
anonymizedTypes.add("Numéros de téléphone");
|
||||
}
|
||||
|
||||
// Adresses (LOCATION)
|
||||
// BE_PHONE_NUMBER -> aussi Numéros de téléphone
|
||||
if (outputText.includes("<BE_PHONE_NUMBER>")) {
|
||||
anonymizedTypes.add("Numéros de téléphone");
|
||||
}
|
||||
|
||||
// LOCATION -> Adresses
|
||||
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"
|
||||
// BE_ADDRESS -> aussi Adresses
|
||||
if (outputText.includes("<BE_ADDRESS>")) {
|
||||
anonymizedTypes.add("Adresses");
|
||||
}
|
||||
|
||||
// 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>")) {
|
||||
// FLEXIBLE_DATE ou DATE_TIME -> Dates
|
||||
if (
|
||||
outputText.includes("<FLEXIBLE_DATE>") ||
|
||||
outputText.includes("<DATE_TIME>")
|
||||
) {
|
||||
anonymizedTypes.add("Dates");
|
||||
}
|
||||
|
||||
// Numéros d'entreprise belges (BE_ENTERPRISE_NUMBER)
|
||||
// IBAN -> Coordonnées bancaires (au lieu de Numéros d'ID)
|
||||
if (outputText.includes("<IBAN>")) {
|
||||
anonymizedTypes.add("Coordonnées bancaires");
|
||||
}
|
||||
|
||||
// CREDIT_CARD -> aussi Coordonnées bancaires (au lieu de Valeurs numériques)
|
||||
if (outputText.includes("<CREDIT_CARD>")) {
|
||||
anonymizedTypes.add("Coordonnées bancaires");
|
||||
}
|
||||
|
||||
// NRP -> Numéros d'ID
|
||||
if (outputText.includes("<NRP>")) {
|
||||
anonymizedTypes.add("Numéros d'ID");
|
||||
}
|
||||
|
||||
// BE_PRO_ID -> Numéros d'ID
|
||||
if (outputText.includes("<BE_PRO_ID>")) {
|
||||
anonymizedTypes.add("Numéros d'ID");
|
||||
}
|
||||
|
||||
// BE_ENTERPRISE_NUMBER -> Numéros d'ID
|
||||
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 (anciens patterns)
|
||||
if (outputText.includes("[Email1]") || outputText.includes("[Email")) {
|
||||
anonymizedTypes.add("Adresses e-mail");
|
||||
}
|
||||
|
||||
// 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 (anciens patterns)
|
||||
if (outputText.includes("[Adresse1]") || outputText.includes("[Adresse")) {
|
||||
anonymizedTypes.add("Adresses");
|
||||
}
|
||||
|
||||
// Numéros d'ID / Sécurité sociale (anciens patterns)
|
||||
if (
|
||||
outputText.includes("[NuméroSS1]") ||
|
||||
outputText.includes("[NuméroSS") ||
|
||||
outputText.includes("[ID")
|
||||
) {
|
||||
anonymizedTypes.add("Numéros d'ID");
|
||||
}
|
||||
|
||||
// Valeurs monétaires
|
||||
if (outputText.includes("[Montant") || /\[\d+[€$]\]/.test(outputText)) {
|
||||
anonymizedTypes.add("Valeurs monétaires");
|
||||
}
|
||||
|
||||
// Noms de domaine
|
||||
if (outputText.includes("[Domaine") || /\[.*\.com\]/.test(outputText)) {
|
||||
// URL -> Noms de domaine
|
||||
if (outputText.includes("<URL>")) {
|
||||
anonymizedTypes.add("Noms de domaine");
|
||||
}
|
||||
|
||||
// Valeurs numériques
|
||||
if (
|
||||
/\[\d+\]/.test(outputText) &&
|
||||
!outputText.includes("[Téléphone") &&
|
||||
!outputText.includes("[Montant")
|
||||
) {
|
||||
// CREDIT_CARD -> Coordonnées bancaires (supprimer la duplication)
|
||||
if (outputText.includes("<CREDIT_CARD>")) {
|
||||
anonymizedTypes.add("Coordonnées bancaires");
|
||||
}
|
||||
|
||||
// Supprimer cette ligne dupliquée :
|
||||
// if (outputText.includes("<CREDIT_CARD>")) {
|
||||
// anonymizedTypes.add("Valeurs numériques");
|
||||
// }
|
||||
|
||||
// IP_ADDRESS -> Valeurs numériques
|
||||
if (outputText.includes("<IP_ADDRESS>")) {
|
||||
anonymizedTypes.add("Valeurs numériques");
|
||||
}
|
||||
|
||||
// Texte personnalisé (si du texte a été modifié mais pas avec les patterns spécifiques)
|
||||
if (sourceText !== outputText && anonymizedTypes.size === 0) {
|
||||
anonymizedTypes.add("Texte personnalisé");
|
||||
// BE_VAT -> Valeurs numériques
|
||||
if (outputText.includes("<BE_VAT>")) {
|
||||
anonymizedTypes.add("Valeurs numériques");
|
||||
}
|
||||
|
||||
return anonymizedTypes;
|
||||
@@ -133,7 +122,7 @@ export const AnonymizationInterface = ({
|
||||
items: ["Noms de famille", "Adresses", "Dates"],
|
||||
},
|
||||
{
|
||||
items: ["Noms complets", "Numéros d'ID", "Valeurs numériques"],
|
||||
items: ["Noms complets", "Numéros d'ID", "Coordonnées bancaires"],
|
||||
},
|
||||
{
|
||||
items: ["Adresses e-mail", "Valeurs monétaires", "Texte personnalisé"],
|
||||
|
||||
Reference in New Issue
Block a user