Noise Generator (NoiseGenerator)

The Noise Generator masks values in numeric columns. It adds or multiplies the original value by random noise.

The Noise Generator does not support linking. It can be either self-consistent or consistent with another column. You cannot configure differential privacy.

The metadata object is populated from the NoiseMetadata object. The generator configuration includes:

  • Whether to use additive or multiplicative noise.

  • For additive noise, the percentage of the underlying value to scale the noise to.

  • For multiplicative, the minimum and maximum value for the scaling factor.

{
  "schema": "string",
  "table": "string",
  "column": "string",
  "dataType": "string", //MongoDB only
  "metadata": {
    "presetId": "string",
    "generatorId": "NoiseGenerator",
    "noiseStrategy": "enum",
    "min": numeric,  //For multiplicative
    "max": numeric,  //For multiplicative
    "ratio": numeric  //For additive
    "isConsistent": boolean,
    "consistencyColumn": "string",
    "encryptionProcessor": "x-on", //To use configured Structural data encryption
    "customValueProcessor": "string"  //If custom value processor applied
  }
}

Example replacement

In this example replacement for the Noise Generator, the additive noise strategy is used. It scales the noise to 10% of the underlying value. The generator is consistent with the name column.

{
  "name": "age",
  "schema": "public",
  "table": "users",
  "links": [
    {
      "schema": "public",
      "table": "users",
      "column": "age",
      "metadata": {
        "presetId": "NoiseGenerator",
        "generatorId": "NoiseGenerator",
        "noiseStrategy": "Additive",
        "ratio": 0.1,
        "isConsistent": true,
        "consistencyColumn": "name"
      }
    }
  ]
}

Last updated