Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anonimatron features? #146

Open
Sinenoxos opened this issue Oct 27, 2021 · 3 comments
Open

Anonimatron features? #146

Sinenoxos opened this issue Oct 27, 2021 · 3 comments

Comments

@Sinenoxos
Copy link

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:

  1. Can we modify a field in a json stored in a MariaDB database?(just one key)
  2. 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.

@realrolfje
Copy link
Owner

Hi, thanks for checking out Anonimatron.

  1. 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)
  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

@Sinenoxos
Copy link
Author

Sinenoxos commented Oct 28, 2021

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.

@realrolfje
Copy link
Owner

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:

  1. 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.
  2. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants