The User Interface
When you first start DataVeil, you will be presented with a screen similar to that shown below:
After retrieving a schema from a database and moving the relevant(*) Tables and Columns into your Project, or open a previously saved DataVeil project (.dvp file), the workspace will be populated similar to that shown below.
(*) 'Relevant' simply means those Tables and Columns that you wish to have visibility in your Project. This should always include at least all of the sensitive Columns. Some users, however, may prefer to see the sensitive Columns within the broader context of their schema and may therefore add additional non-sensitive Columns and Tables to their Project and perhaps even the entire schema.
Please refer to the Getting Started section for a step-by-step description on how to retrieve a database schema and add it to your project.
The screen shown above is that of a project that has already had some columns defined as Sensitive.
Sensitive columns are shown in blue in the Explorer tree, and indicated with a blue "S" in the Diagram.
Non-Sensitive columns are indicated with a grey "N" in the Diagram. It is not necessary to tag non-sensitive columns; however, you can do so for clarity to users of the project. These Non-Sensitive columns shall also be ignored (by default) in Discovery searches. It is therefore similar to Excluded columns. The difference is that Excluded columns shall not be shown in the project, whereas Non-Sensitive columns can be shown in the project.
The diagram shows only those dependencies where both the parent and child columns are both in the Project.
This contains three tabbed views: Project, DBMS, Excluded
This provides a tree representation of your project.
The topmost level is the Project node and the label represents the project's name - which corresponds to the name of the file it is saved in. The full path of the project file, if it has already been saved, will be shown in the Properties Window when the Project node is selected.
The blue column names indicate that they have been marked as Sensitive by the user and must be masked.
The current selection in the Project view can define the scope of what is shown in several other Windows, including:
* Project Diagram Window
* Masks Summary Window
* Masking Window
* Dependencies Window
* Properties Window (far right)
Project Diagram Window
The Diagram Window always shows only what has been added to the current Project and not anything else that is either in the DBMS or Excluded views.
Each dependency between columns is indicated with a line and the arrow points toward the parent of the dependency. You can view details of the dependency by hovering the mouse over the line, or visit the Dependencies Window for a detailed list. A thick black line indicates that this dependency was manually defined by the user in the Dependencies Window. The regular lines are foreign key relationships defined in the database schema. A dashed line means that the dependency has been disabled.
Each table diagram has the following columns:
Sensitivity: 'S' : A blue 'S' indicates that the column is marked as Sensitive. An 'N' indicates that the user has explicitly declared the column as Not Sensitive. Blank indicates that the sensitivity is 'Unknown' (not explicitly determined by the user) and is treated by DataVeil as Not Sensitive.
Keys: 'P' indicates the column is (part of) a Primary Key. 'F'
indicates the column is (part of) a Foreign Key. A number preceding the 'F' is a count of
the number of foreign keys to which that column belongs. For example "2F" means there are 2
Foreign Key definitions to which this column belongs. Full details are available in the
Note: Keys that are disabled on the DBMS are ignored by DataVeil (they shall not be shown.)
Column: the table's column name
Type: the data type of column
Nullable: null indicates that the column's data type definition allows nulls. A blank indicates that nulls are not allowed.
Masks Summary Window
This will show a summary list of all masks defined at the scope selected. The default is to show all masks for the entire project.
You can right-click on a mask and choose a function to perform directly on the mask or related to its parent object.
This is where you can view all mask details defined for a Column or Table.
Select the object that you want to mask in the Explorer, and then click on the Masking tab which will open the Masking Window.
This example shows the mask defined for the column businessName in the table sales.Customer:
This Window will show all Project dependencies, which includes foreign key relationships and user-defined dependencies, filtered according to the selection of the Project view.
In the example below, we have selected the table sales.Customer and so only dependencies related to this table are shown. To see all dependencies in the Project, click on the Project node (cube icon).
Note: Only those dependencies where at least a parent or child column is in the Project are shown in the Dependencies window.
Note: Dependencies that are disabled on the DBMS are ignored by DataVeil (they shall not be shown)
The column names shown in blue indicate that they are Sensitive columns.
You can Add user-defined dependencies here by clicking on the 'Add...' button. Such user-defined dependencies are indicated as 'User' in the 'Origin' column.
You can also disable dependencies using the Enabled checkbox column (after unlocking them using the 'Lock Enabled column' checkbox). This is a more advanced concept where you can mask a parent or child column in a dependency relationship independently of the other column.
For example, suppose you needed to provide your Sales database for an external analysis purpose but you did not want to reveal statistical information such as which particular stores were most profitable. Therefore, you could disable the foreign key on the identifying Store Location in the Orders table and mask the Store Location with valid but evenly distributed locations . Referential integrity is maintained, and now it is impossible to know not only which store the order originally came from, but it will also completely hide any statistical distribution information across your stores that could have leaked sensitive competitive or strategic information.
DataVeil provides a Discovery feature to help you find sensitive data.
DataVeil provides many built-in ("System") patterns for detection of sensitive data and you can also define your own patterns using regular expressions. Patterns can search column name and/or column data.
You also have options to ignore columns that are already marked Sensitive, Not Sensitive or have been Excluded from the project. This can help reduce search result clutter of false-positive results and those which have already been categorized.
Please refer to Discovery for more details.
This is where you compile and run a DataVeil project.
Real-time execution status is displayed within the Window. An example is shown below:
This is where settings specific to the current project are maintained.
The Project Key tab is discussed in Project Security.
The Connection settings are also found under the Settings tab. The Connection settings can also be accessed by right-clicking on the database icon and selecting the "Connection..." action.
Creating and configuring Connections is discussed in Connections.
This window shall open automatically at the bottom of the user interface whenever DataVeil emits a warning or error message, or when a Run is performed.
You can also open this window manually from the main menu Window->Output->Output or pressing Ctrl+4.
Log messages continue to be written to the logger in memory regardless of whether the Logger window is open or not. Therefore, you can always open the Logger window to review messages that had previously occurred. The log messages are not deleted when the Logger window is closed. The messages are retained for the entire DataVeil session, even if you open or create several distinct Projects (all log messages are retained.) The Logger is cleared when the DataVeil GUI is exited.
You can right-click over the Logger window to display options such as word wrap ('Wrap text'), search ('Find...') and filtering ('Filter...') of the display.
Data Browser Window
The Data Browser window shows a sample of the actual data values on the database.
Its content is populated by the currently selected table or column.
The example below shows a data sample for the currently selected table kona.sales.Customer.
Please refer to the Data Browser section for further details.