Anonimatron features?
Opened this issue · 3 comments
Hello,
I am currently working on some anonymization project for my company using this tool.
I would like to know if the following are possible:
- Can we modify a field in a json stored in a MariaDB database?(just one key)
- Is it also possible to rename with always the same renaming for all iterations like if the email was 123@gmail.com in several tables, the new email (new123email@fakegmail.com) will be the same in all occurrences when it has been renamed?
Thanks in advance for the assistance and for the very useful tool you created.
Hi, thanks for checking out Anonimatron.
- This is not possible, unless you write a really smart anonymizer (Anonimatron is pluggable). If the rest of the json does not change it sounds doable (but hacky). If the rest of the json changes it becomes a bit harder because of the way synonyms work in Anonimatron (see 2)
- Yes, this is a key feature of Anonimatron, and actually one of the reasons for writing the tool. The change will be consistent throughout the whole database (all configured columns), and between runs. When you run Anonimatron and use the synonym file option, it writes all synonyms (translations) to a file. On the second (or third, forth) run, if you use the same synonym file, all translations will be identical.
I hope this helps, cheers,
Rolf
Hello,
Thanks for the information.
I just need a clarification on the first answer:
“If the rest of the json does not change“.
Change when? Between 2 runs?
One more question:
Is it possible to not anonymize all these fields for some userID ? It would be better to not anonymize the user accounts of people in the company to be still able to connect to our account on the database…?
Thanks in advance.
regarding the json:
If record 1 is {"a":"b", "user":"mail@example.com"}
and record 2 is {"a":"xx", "user":"mail@example.com}
, you probably only want mail@example.com
replaced, but that is hard because anonimatron will look to see if there is an existing synonym for the database field (the whole json). To Anonimatron, the two fields are not the same.
Regarding not anonymizing some records:
- I strongly advise against that, because you get production data in your system, and once you go that route, there is no going back, even if it is your own data. Anonimatron is designed to do a stable conversion, so existing (anonymized) records will be identical in your new database. You can write automation or use the accounts, they will not change even when anonimatron runs again.
- If you absolutely must, you can maybe use a descriminator. This is functionality where the anonimization of column B can be different depending on column A. So if A contains 'email' then B is anonymized as email address, and if A contains 'phone' then B is anonymized as phone number, for example.