Stand-alone data scrambling is another feature of DMM. It leverages the scrambling and anonymization algorithm used during data migrations to be used on an OutSystems database with data-at-rest.
This feature does not have any associated cost, you just need to have an activated version of Infosistema DMM to be able to fully use it. The structures and steps are very similar to those of the data migration as it is also separated into two steps: configuration and execution, which can be executed at different times. They can also be executed in different applications that leverage the DMM engine.
We will start by describing the configuration step and it's resulting JSON configuration file and afterward, we will detail the execution process.
The feature of Data Scrambling allows for information to be cleaned (column is set to null), anonymized (column is replaced with a hash) or scrambled (where DMM detects a parttern, and replaces the information with new data that follows the same pattern, scrambling information between records for that column). To detect a scrambling pattern, DMM must find enough data records (usually ~50 records). If not enough records are available in the database, an error message is shown "Attribute does not have enough data to be scrambled".
The purpose of performing the scrambling configuration is to obtain a reusable JSON configuration file that describes a set of scrambling options. When the DMM engine receives a configuration file, it will analyze it and execute the necessary commands on the database to scramble the data.
Note that these changes are irreversible, so you must make sure to not execute a data scrambling operation over your production environment unless you really want to.
To start your configuration, just click on "Executions > Data Scrambling" in the top menu of the DMM OutSystems Component.
In this first step, a single dropdown will appear. The available values for this dropdown are the configured connection string from the settings screen. You must choose the connection that will represent the database where you want the data scrambling to happen. Notice that you can pick the Runtime Connection to cause Infosistema DMM to scramble the database of the environment where it is installed.
Please note that no validations are made on this step, which means that if you pick a connection for the destination that does not have the required privileges for execution, an error may appear later on. A detailed list of the required privileges may be found on the Requirements page of this manual.
You can also upload a previously saved configuration and jump directly to the preview and execution step.
In this step, a list of applications that exist in the database is displayed to the left. When you select one, a list of Modules belonging to that application is displayed in the right column. Picking the desired Module for migration will let you continue the configuration process.
The next step is very similar to the previous one. A list of entities is displayed, and clicking on one of them will fill the center column with their attributes. The special actions will appear next to each attribute. Clicking on a special action will add it to the current selection panel to the right. The special action will then turn bold and the other actions will disappear. You can remove previously selected actions and add as many actions as you need. When you're satisfied with your picks, click continue to advance in the process.
In the final step of the configuration phase, you can review all entities and their respective fields to make sure you've picked the intended fields and actions before executing the operation.
Within each entity with attributes picked for scrambling you can also find a filtering field. This is where you can write the SQL syntax that you want to apply. During execution, only records that are returned by the filter you've defined will be subject to scrambling.
Depending on your subscription version, a Validation & Subscription Check screen may appear here.
If it does, you can find more information about the process at this link.
Inside the OutSystems Component, there is a single screen that handles the execution. Whether you've followed the configuration process or you've uploaded a previously saved configuration file, the same screen will appear.
On this screen, confirming the operation with the checkbox and clicking on "Start Scrambling" will start the deletion process. Under the hood, DMM is creating an execution plan and performing the necessary changes to the database accordingly to the configuration.