Skip to main content
Skip table of contents

Configure the Confidentiality Plugin

SuperSTAR is supplied with a Data Control plugin for confidentiality. You can use this plugin to apply random rounding of values and cell suppression to your databases.

To configure the confidentiality plugin, you need to use the method command in SuperADMIN. There are several steps involved:

  1. Create a new method, give it a name and ID, and specify whether the method is mandatory or a table method (typically, you will want to configure the method as mandatory, so that it is always applied):

    CODE
    method addmethod <method_id> <type> <display_name>
  2. Add the confidentiality rule DLL (Dynamic Linked Library) to your method:

    CODE
    method <method_id> adddcplugin <dc_plugin_id> confidentialityrule.dll

    The DLL must be located in the same directory as the SuperSERVER executable (typically C:\Program Files\STR\SuperSERVER SA if you installed to the default location).

  3. Set the properties of your method. This specifies which rules you want to use, and the parameters for those rules:

    CODE
    method <method_id> <dc_plugin_id> addproperty <property_name> <property_value>

    Depending on the rule, you may need to set multiple properties.

  4. Apply your method to the database:

    CODE
    cat <database_id> addmethod <method_id>

If you want to see the effect of the various rules, see this page for an example of a macro for creating disclosure control methods . The example macro creates methods for each of the available rules and then creates multiple copies of the sample retail banking database, each with a different rule applied to it. This can be used to demonstrate how each rule affects the cross tabulation results.

The following examples demonstrate how to configure the various rules available in the confidentiality plugin.

Rounding Rules

0-3 Rounding

GROOVY
method addmethod "0-3" mandatory "Randomly round values between 0 and 3"
method "0-3" adddcplugin confrule confidentialityrule.dll
method "0-3" confrule addproperty RULESET "0-3 Rounding" 
cat bank addmethod "0-3"

These instructions:

  • Create a mandatory method with the ID of 0-3 and the display name Randomly round values between 0 and 3.
    • In this case, both the ID and the display name are enclosed in quotes because they contain spaces.
    • The ID is what you will use in subsequent statements to refer to this method. It can be any value you like as long as it is a unique ID.
    • The display name is optional (you can omit it and the ID will be used instead).
  • Add the confidentiality DLL to the method.
    • When adding the DLL, you need to set a plugin ID. In this case it is confrule but you can use any value you like, as long as it is unique within the scope of the method.
  • Add the 0-3 rounding rule to the method.
  • Apply the method to the sample retail banking database.

Random Rounding

GROOVY
method addmethod RandomRounding mandatory "Random Rounding"
method RandomRounding adddcplugin confrule confidentialityrule.dll
method RandomRounding confrule addproperty RULESET "Random Rounding"
cat bank addmethod RandomRounding

These instructions:

  • Create a mandatory method with the unique ID RandomRounding and the display name Random Rounding.
  • Add the confidentiality DLL to the method.
  • Add the Random Rounding rule to the method.
  • Apply the method to the sample retail banking database.

1-4 Rounding

GROOVY
method addmethod "1-4" mandatory "Randomly round cell values between 1 and 4"
method "1-4" adddcplugin confrule confidentialityrule.dll
method "1-4" confrule addproperty RULESET "1-4 Rounding"
cat bank addmethod "1-4"

These instructions:

  • Create a mandatory method with the unique ID 1-4 and the display name Randomly round cell values between 1 and 4.
  • Add the confidentiality DLL to the method.
  • Add the 1-4 Rounding rule to the method.
  • Apply the method to the sample retail banking database.

Graduated Rounding

GROOVY
method addmethod GraduatedRounding mandatory "Graduated Rounding"
method GraduatedRounding adddcplugin confrule confidentialityrule.dll
method GraduatedRounding confrule addproperty RULESET "Graduated Rounding"
cat bank addmethod GraduatedRounding

These instructions:

  • Create a mandatory method with the unique ID GraduatedRounding and the display name Graduated Rounding.
  • Add the confidentiality DLL to the method.
  • Add the Graduated Rounding rule to the method.
  • Apply the method to the sample retail banking database.

Cell Suppression Rules

Top Contributors

GROOVY
method addmethod "1,90" mandatory "Conceal if one contributor is 90% or more"
method "1,90" adddcplugin confrule confidentialityrule.dll
method "1,90" confrule addproperty RULESET "NK(1,90)"
method "1,90" confrule addproperty TOPN "1"
cat bank addmethod "1,90"

These instructions:

  • Create a mandatory method with the unique ID 1,90 and the display name Conceal if one contributor is 90% or more.
  • Add the confidentiality DLL to the method.
  • Add cell suppression rules, such that a cell will be suppressed if 1 contributing value is 90% or more of the total cell value.
  • Apply the method to the sample retail banking database.

Frequency

GROOVY
method addmethod F50 mandatory "Conceal cells with 50 contributors or fewer"
method F50 adddcplugin confrule confidentialityrule.dll
method F50 confrule addproperty FREQ "true"
method F50 confrule addproperty RULESET "FREQ(30)"
cat bank addmethod F50

These instructions:

  • Create a mandatory method with the unique ID F50 and the display name Conceal cells with 50 contributors or fewer.
  • Add the confidentiality DLL to the method.
  • Add cell suppression rules, such that a cell will be suppressed if the number of contributors is 50 or fewer.
  • Apply the method to the sample retail banking database.

Threshold

GROOVY
method addmethod T500 mandatory "Conceal cell if value is less than or equal to 500"
method T500 adddcplugin confrule confidentialityrule.dll
method T500 confrule addproperty RULESET "THRESHOLD(500)"
cat bank addmethod T500

These instructions:

  • Create a mandatory method with the unique ID F50 and the display name Conceal cell if value is less than or equal to 500.
  • Add the confidentiality DLL to the method.
  • Add cell suppression rules, such that a cell will be suppressed if the cell value is less than or equal to 500.
  • Apply the method to the sample retail banking database.

Configure the Cell Suppression String

Any suppressed cells will be replaced with a confidentiality string. By default this is ..C, but you can change the string if you prefer:

Replace the Cell Value with 0

If you prefer, you can replace suppressed cells with 0 instead of using a confidentiality string.

To make this change, simply set the following property in SuperADMIN:

GROOVY
method  <method_id> <dc_plugin_id> addproperty ZeroSuppressCells TRUE

This property can be used with any of the cell suppression rules. For example, if you configured the frequency rule using the example above, you would use the following command:

GROOVY
method F50 confrule addproperty ZeroSuppressCells TRUE
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.