Database Scrambler

Content Type: Module
Categories: Utility,Data

Overview

Are you using sensitive data in your non-production environments?

A lot of development, test and acceptance environments contain sensitive information, often caused by using old production backups.

Governance on access rights in non-production environments is often not as strict as in production environments. This enables testers to work more efficient but also introduces an enormous security risk. Users could have access to sensitive data they don't need to perform their work. Apart from that, using personal data for things other than delivering your service to your customer is a big no-no according to the GDPR, testing is not a part of your service delivery.

On the other hand, being able to restore data from your production environment can be very useful. You get an as good as it gets copy of your real production environment. All your data and configuration is copied with great ease.

So how can we combine the two? An easy way to keep your non-production environments in line with your production environment without comprimising security? In comes the Database Scrambler! It is a Mendix module that can be configured to scramble specific rows and columns in your Mendix application. A list of features and capabilities is listed below

  • You can configure per table what columns you would like to scramble
  • Scramble entire tables
  • Scramble specific rows, this comes in handy if you need to scramble incoming API data for instance.
  • The module can detect a newly restored database from production that has not been scrambled yet. It will execute the scramble on start-up
  • If you need certain columns to adhere to validations (ie IBAN numbers) you can define a list from which the module will randomly pick one, great for testing integrations and validation rules
  • You can choose between various scrambling methods, for instance you can choose to scramble a string value with a random string, a random string from a predefined list, a fixed value or a random string that keeps capitals, spaces and numbers.
  • File documents are also supported, the module can replace all file documents with a dummy file or empty them

If you are interested in this module please reach out and we'll help you set it up!

Documentation

Features and limitations

  • Allows users to select objects and attributes to change.
  • Attributes can be set to a random or constant value.
  • Data scrambling in the AfterStartup only works when both constants (AllowDatabaseScrambling and UseDatabaseScramblingInAfterStartup) are set to TRUE
  • Data scrambling locally works without a license key, when scrambling on a cloud environment or server add the license key to the LicenseKey constant.
  • To scramble data change the constant AllowDatabaseScrambling to TRUE
  • Change the constant UseDatabaseScramblingInAfterStartup to TRUE

(DO NOT SET AllowDatabaseScrambling and UseDatabaseScramblingInAfterStartup TO TRUE ON PRODUCTION ENVIRONMENTS)

Dependencies

  • Mendix version 10.0.0
  • CommunityCommons module is required
  • MxModelReflection module is required
  • JWT module is required

Installation

  • Add the microflow 'AfterStartup_DatabaseScrambler' found in the _USE ME folder to your own AfterStartup microflow;
  • Add the microflow 'NAV_ScrambleRule_Overview' to your navigation or administrator page;

Configuration

  • Create new scramble rules by selecting entities to scramble
  • Select scramble attributes of the entity to scramble and choose which scramble type you want to use
  • You can create value lists to be applied when scrambling
  • Use java action 'ScrambleListOfObjects' in your own logic (this java action does not check the AllowDatabaseScrambling constant, the constant should be checked in de microflow before accessing this java action)
  • Data scrambling in the AfterStartup only works when both constants (AllowDatabaseScrambling and UseDatabaseScramblingInAfterStartup) are set to TRUE

Frequently Asked Questions [optional]

  • Q: I want to know more about pricing or receive more information. Whom should I contact?
  • A: Contact us via licenses@bizzomate.com
  • Q: I want to test this module. How can I do that? 
  • A: The Database Scrambler works locally without a license key, when you are on a cloud environment or server add the license key to the LicenseKey constant.
  • Q: I've scrambled data that I didn't intend on scrambling. How can I reverse this action? 
  • A: Scrambling data is definitive, there is no way of getting the data back… beware.

Releases

Version: 2.1.2
Framework Version: 10.0.0
Release Notes: - Bug fix: When using a language with a different decimal seperator as en_US resulting in a Java-error
Version: 2.0.0
Framework Version: 10.0.0
Release Notes: - Added support for Mendix 10 - Some visual tweaks
Version: 1.0.0
Framework Version: 9.12.0
Release Notes: Added language support for en_US, en_GB, nl_NL, nl_BE and de_DE