diff --git a/README.fr.md b/README.fr.md index 558a0ec..6806513 100644 --- a/README.fr.md +++ b/README.fr.md @@ -2,7 +2,7 @@ **Database Anonimizer** est un outil écrit en GO et qui permet **d'anonymiser ou supprimer des données** d'une base de données **MySQL** ou **PostgreSQL**. -Il répond à plusieurs cas d'usags comme le **permettre de transférer une copie de base de données anonymisée à des développeurs et des développeuses** ou répondre à la nécessité d'anonymiser ou supprimer des données dans le cadre du RGPD (Règlement général sur la protection des données) selon des durées de conservation définies dans un registre de traitement. +Il répond à plusieurs cas d'usags comme le **permettre de transférer une copie de base de données anonymisée à des développeurs et des développeuses** ou répondre à la nécessité d'**anonymiser ou supprimer des données dans le cadre du RGPD** (Règlement général sur la protection des données) selon des durées de conservation définies dans un registre de traitement. Le projet inclue une grande quantité de générateurs de données aléatoires. Il permet également de générer des données via des modèles écrits en Twig. Vous pouvez spécifier des règles précises pour chaque tables ou bien des règles globales appliquées sur chacunes des tables de votre configration. diff --git a/README.md b/README.md new file mode 100644 index 0000000..73971dc --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Database Anonimize + +**Database Anonymizer** is a tool written in GO that allows **anonymizing or deleting data from a MySQL or PostgreSQL database**. + +It caters to various use cases such as **providing developers with an anonymized copy of a database** or **fulfilling the need to anonymize or delete data in compliance with GDPR (General Data Protection Regulation) requirements**, based on retention periods defined in the treatment register. + +The project includes a vast array of random data generators. It also enables data generation via Twig-written templates. You can specify precise rules for each table or global rules applied to all tables in your configuration. + +## Usage + +### Configuration + +The configuration is written in YAML. Here's a complete example: + +``` +rules: + columns: + phone: phone_e164number + generators: + person_name: [display_name] + actions: + - table: user + virtual_columns: + domain: internet_domain + columns: + firstname: person_firstname + lastname: person_lastname + email: "{{ (firstname ~ '.' ~ lastname ~ '@' ~ domain)|lower }}" + - table: company + columns: + name: company_name + - table: access_log + query: 'select * from access_log where date < (NOW() - INTERVAL 6 MONTH)' + delete: true + - table: user_ip + primary_key: [user_id, ip_id] + delete: true +``` + +### Exécution + +To display help, use `-h`: + +``` +database-anonymizer -h +``` + +Here are examples for MySQL and PostgreSQL: + +``` +database-anonymizer --dsn "mysql://username:password@tcp(db_host)/db_name" --schema ./schema.yaml +database-anonymizer --dsn "postgres://postgres:postgres@localhost:5432/test" --schema ./schema.yaml +```