2017 API

Müller Dominik

Konfigurierbares Tool zum anonymisieren von CRM Daten

Durchführung: 06.02.2017 bis 10.03.2017

Umfeld

Die Firma Cybersystems GmbH bietet Microsoft Dynamics CRM Lösungen an und passen sie nach Kundenwunsch an. Das CRM (=Customer-Relationship-Management) ist ein webbasiertes Tool, mit welchem Unternehmen ihre Kundendaten professionell verwalten können. Die Personalien des Kunden und auch alle Aktivitäten zwischen dem Unternehmen und dem Kunden werden aufgezeichnet, um den Mitarbeitern einen besseren Überblick zu verschaffen. Mit einem CRM kann der Draht zum Kunden verbessert werden und steigert somit indirekt den Unternehmenserfolg.
Das Dynamics CRM beinhaltet viele verschiedene Entitäten, wie z.B. Firmen, Kontakte, Rechnungen und Verkaufschancen. Viele dieser Entitäten sind allerdings eher vertraulich, wie z.B. die Rechnungen, und das ist für uns ein kleines Problem.
Damit wir das CRM unseres Kunden auch anpassen können, kopieren wir nämlich die Datenbank des Kunden zu uns auf den Entwicklungsserver. Dort nehmen wir dann Anpassungen am Design vor oder entwickeln Applikationen. Das Problem dabei ist, dass wir auf unserem eigenen Server dann alle vertraulichen Kundendaten sehen können.

Ziel

Damit wir zukünftig die eingetragenen Daten unserer Kunden nicht mehr eindeutig erkennen können und so auch keine Schwierigkeiten bzgl. Datenschutzproblemen bekommen könnten, wird ein Anonymisierungs-Tool entwickelt. Der Benutzer kann dann auswählen, welche Entitäten (z.B. Firma, Kontakt) und welche Felder anonymisiert werden sollen. Das Tool kann man dann als Konsole über die ausgewählten Datensätze laufenlassen und die Daten werden anonymisiert.

Lösung

Ich habe mich entschieden, mein Tool als Konsole mit der Programmiersprache C# zu entwickeln. Damit man die zu anonymisierenden Entitäten und Felder auswählen kann, existiert eine Konfigurations-Datei, in der man seine Daten eingeben kann. Da dies aber eine JSON-Datei ist und ein wenig kompliziert aufgebaut ist, muss man ein gewisses technisches Know-How haben, um dieses Tool zu benutzen. Es gibt ausserdem noch eine zweite Konfigurations-Datei, in welcher man die Zugriffsdaten des CRMs eingeben kann. Wenn man alles so konfiguriert hat, wie man will, kann man die Konsole starten.
In der Konsole wird man dann aufgefordert, für jede zu anonymisierende Entität eine Ansicht auszuwählen (z.B. Aktive Kontakte). Alle Datensätze in dieser Ansicht werden dann automatisch anonymisiert.

Fazit

Ich bin eigentlich sehr zufrieden mit meiner Arbeit, da ich alle Anforderungen erfüllen konnte und es mir auch Spass gemacht hat. In diesen zwei Wochen habe ich viel Neues über die Programmiersprache C# gelernt, was mir in meiner Zukunft sicher helfen wird. Ich habe ausserdem meinen Zeitplan gut einhalten und meine Arbeit rechtzeitig abgeben können.