Anonymisation
Entités autres que Project
Signature : anonymize<T>(parentEntity: T, { property: string; method: 'dataMasking' | 'pseudonymization' | Function }[]) => T.
Exemple
// Anonymisation de deux propriétés
// forecastedTurnover sera anonymisée avec la méthode pseudonymization
// intraVATNumber sera anonymisée avec une méthode personnalisée
await Entities('FinanceCompany').anonymize(company, [
{ property: 'forecastedTurnover', method: 'pseudonymization' },
{ property: 'intraVATNumber', method: R.always('schtroumpf') }
]);Entité Project
La fonction anonymize de lâentitĂ© Project anonymise lâensemble des entitĂ©s de lâarborescence selon une spĂ©cification passĂ©e en paramĂštre.
Signature : anonymize<T>(project: T, spec: Record<string, Record<string, { anon: { algorithm: 'dataMasking' | 'pseudonymization' | (value: unknown) => unknown } }>>) => Promise<T | null>
Exemple
await Entities('Project').anonymize(project, {
Offer: { name: { anon: { algorithm: 'dataMasking' } } },
Pack: { name: { anon: { algorithm: 'pseudonymization' } } },
Project: { name: { anon: { algorithm: () => 'foo' } } }
});Types d'anonymisation
Deux algorithmes dâanonymisation sont proposĂ©s nativement :
- dataMasking
- pseudonymization
Il est Ă©galement possible de spĂ©cifier une mĂ©thode dâanonymisation personnalisĂ©e.
dataMasking
Cette mĂ©thode consiste Ă masquer les donnĂ©es Ă lâaide dâun caractĂšre prĂ©dĂ©fini.
Type de la donnée | Valeur aprÚs anonymisation |
|---|---|
Boolean | ** |
Date | ******** |
Number | **** |
String | ChaĂźne de mĂȘme longueur composĂ©e de *. |
pseudonymization
Cette mĂ©thode remplace les donnĂ©es dâorigine par des valeurs fictives.
Type de la donnée | Valeur aprÚs anonymisation |
|---|---|
Boolean | false |
Date | 1984/01/01 |
Number | 42 |
String | John |
Méthode d'anonymisation personnalisée
Pour utiliser une mĂ©thode dâanonymisation personnalisĂ©e, il suffit de spĂ©cifier une fonction dont la signature est : (property: unknown) => string