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:
-
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):
CODEmethod addmethod <method_id> <type> <display_name>
-
Add the confidentiality rule DLL (Dynamic Linked Library) to your method:
CODEmethod <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).
-
Set the properties of your method. This specifies which rules you want to use, and the parameters for those rules:
CODEmethod <method_id> <dc_plugin_id> addproperty <property_name> <property_value>
Depending on the rule, you may need to set multiple properties.
-
Apply your method to the database:
CODEcat <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
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
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
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
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
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
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
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:
- In SuperCROSS, select Edit > Options and then the Data tab. Change the value of the Confidentiality String and click OK.
- In SuperWEB2, you need to edit the CubeCatalog.xml configuration file. See Configure Settings for Concealment and Cells with No Contributors - SuperWEB2 for more information.
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:
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:
method F50 confrule addproperty ZeroSuppressCells TRUE