Create sensitivity rule from Database View - When you select the Database View bulk edit option for columns that have the same data type, do not have an assigned generator, and do not have a recommended generator, you now have the option to create a custom sensitivity rule. You can then immediately run a new sensitivity scan to catch matching columns.
Fixed an issue with the JSON Mask generator configuration panel where the example data did not update correctly.
Structural now displays a warning when the pre-job checks determine that the source database is on a newer major version than the destination database.
Salesforce - Rewrote the connector algorithm to avoid using sentinels, and to improve subset creation.
Updated the application to reflect the rename to Tonic Structural. Includes renaming the Tonic Settings view to Structural Settings.
From the Access Management tab of Structural Settings, users with permission to manage Structural access can now restore deleted users.
For a column that is part of a unique compound index, Structural now only suggests generators that can be used for unique columns.
Structural now detects SWIFT codes based on the format of the data in addition to the column name.
Fixed an issue where all subsetting WHERE clauses failed internally.
Databricks
TONIC_DATABRICKS_SKIP_CREATE_DB
indicates whether to skip the schema creation. The default is false. The environment setting TONIC_DATABRICKS_ENABLE_WORKSPACE_SKIP_CREATE_DB
indicates whether to include the option in the workspace configuration, and use TONIC_DATABRICKS_SKIP_CREATE_DB
to determine the default. The default is true. You can add these settings to the Environment Settings list on Structural Settings.File connector
Snowflake
Self-hosted instances can now schedule sensitivity scans to run automatically on a weekly basis. By default, the weekly scans are enabled and run each Sunday at midnight.
Structural can now detect the following additional sensitivity types:
File connector
Oracle
Salesforce
PostgreSQL
Snowflake on AWS
The scheduled sensitivity scans are now daily instead of weekly. By default, the scans run every day at midnight. Structural scans the 10 workspaces that have the most recent activity. Activity is defined as either a user-initiated workspace event that is added to the Protection Audit Trail, or a data generation job.
On the details view for custom sensitivity rules, fixed an issue where the Edit Current Preset button was always disabled.
When a generation to Ephemeral fails, Structural job logs now include the Ephemeral logs and destination database pod logs.
For users who do not have permission to manage sensitivity rules, the Sensitivity Rules option now displays in a disabled state.
When you configure a workspace to write to a self-hosted Ephemeral instance, or to write to Ephemeral Cloud from a self-hosted Structural instance, the workspace configuration now includes an option to test the Ephemeral connection.
Structural can now detect the following additional sensitivity types that are defined by the HIPAA Safe Harbor method:
Removed the environment setting TONIC_SUBSETTING_CYCLE_BREAK_GREEDY_ALGORITHM
. The greedy algorithm to compute the required cycle breaks for subsetting is no longer available.
Snowflake
TONIC_SNOWFLAKE_SKIP_CREATE_DB
is false, meaning that Structural creates the destination database and schema. If you set this to true, then Structural does not create the schema. You must create the destination database with the full schema. You can add TONIC_SNOWFLAKE_SKIP_CREATE_DB
to the Environment Settings list on Tonic Settings.Yugabyte data connector - Structural now allows you to connect to databases on Yugabyte version 2024.1 and above. The Yugabyte data connector is available with a Professional or Enterprise license. It only supports Yugabyte SQL (YSQL).
When you configure a custom security rule, you can now create or edit the assigned generator preset. You can also use a workspace to preview the security rule results. The preview displays the matching columns for the selected workspace.
Structural can now detect the following additional sensitivity types:
MySQL
ALLOW_INVALID_DATES
is set, Structural now allows Passthrough for columns that contain invalid dates.Snowflake
Fixed an issue on the webhook configuration panel where users could not click Save when the Message Body tab contained large property values.
Fixed an issue that caused the Notifications service to stop processing webhooks.
Improved the detection of name values to identify more specific types of names.
Amazon EMR
For post-job webhook URLs, you cannot use URLs that resolve to a private IPv4 range.
To provide the column name matching criteria for custom sensitivity rules, you can now use a regular expression.
The Structural sensitivity scan can now detect UK and Canada postal codes.
You can now use the Structural API to manage custom sensitivity rules.
When you configure a PostgreSQL or MySQL workspace to write the destination data to a container repository, you can now specify the name of the database.
Fixed an issue where the column sensitivity type was not updated when a later sensitivity scan detected a different type. Columns that are manually marked as sensitive are not affected.
Increased the number of column names that Structural uses to detect sensitivity types.
Amazon EMR
Salesforce
WHERE
clauses in subsetting target table configuration.Custom sensitivity rules - On self-hosted Enterprise instances, you can now configure custom sensitivity rules, which allow you to create your own sensitivity types. For each rule, you configure the general data type, text matching rules for the column name, and the recommended generator. Structural uses these rules during the sensitivity scan. Matching columns are included on the Recommended Generators by Sensitivity Type panel.
Toleration configuration for output to container repositories - Self-hosted customers who write output to a container repository can now set pod tolerations to enable pods to be scheduled on nodes that have taints. The tolerations are configured in environment settings. You can add these settings to the Environment Settings list on Tonic Settings.
MySQL
Fixed an issue where sensitivity scans suggested generators based on substrings within a column name.
HTML is now removed from text in comment fields.
Fixed an issue where the XML Path generator did not work correctly.
A new environment setting, TONIC_SUBSETTING_CYCLE_BREAK_GREEDY_ALGORITHM
, indicates whether to use a new, faster greedy algorithm to compute the required cycle breaks for subsetting. By default, the setting is false
.
File connector
MongoDB
MySQL
Oracle
Salesforce
TONIC_SALESFORCE_CONSUMER_KEY
and TONIC_SALESFORCE_CONSUMER_SECRET
environment settings.Snowflake
ALTER
statements were inappropriately run through the GetDdl flow.Sensitivity scans now detect name values more accurately.
Fixed an issue with certificate uploads for database settings.
Fixed an issue where the Structural application would hang after you created a workspace.
Shared logs are now transferred to an HTTPS endpoint instead of an Amazon S3 endpoint.
Amazon EMR
WHERE
clauses as invalid.Amazon Redshift
PostgreSQL
Salesforce data connector - The Salesforce data connector is now available for self-hosted instances that have a Professional or Enterprise license. It is currently only available by request. To request access to the Salesforce data connector, contact Tonic.ai support.
Linking address columns for recommended generators - The recommended generators panel in Privacy Hub now indicates when address columns should be linked. The columns are displayed in groups. You then apply the recommended generators to all of the columns in the group, and the columns are automatically linked.
Other updates
Fixed an issue with subsetting. When processing upstream tables with nullable foreign keys that had no referenced key values to process, upstream filters were not applied.
Improved performance of the Conditional generator when using the IS IN
operator.
The upsert option for workspaces is now out of beta.
Fixed an issue where the number of generators that are slow to compute was calculated incorrectly, which affected how we parallelized the generator processing.
The default value for the environment setting TONIC_ORACLE_DBLINK_ENABLED
is changed to false. The plan is to eventually remove the feature.
Fixed an issue where the TONIC_DISABLE_IPV6
setting did not completely prevent services from binding to ipv6 addresses.
When applied to a numeric type column, the SSN generator now by default generates values without hyphens.
Amazon EMR
File connector
MongoDB
MySQL
Oracle
Snowflake
API endpoints for subset configuration - The Tonic API now includes endpoints for subsetting configuration. You can use the endpoints to retrieve the subsetting configurations for a workspace, update subsetting configuration, and remove subsetting configuration. A subsetting configuration identifies a table as either a target table (percentage or WHERE
clause) or a lookup table.
Improved how Tonic identifies values as names, to reduce false positives.
For upsert data generation, fixed an issue that caused failures on tables that contain foreign keys but no primary keys.
File connector
MongoDB
Oracle
PostgreSQL
Helm charts for deploying Structural to Kubernetes are now published at quay.io/tonicai/structural in addition to GitHub.
From the recommended generators panel on Privacy Hub, you can now enable or disable self-consistency for all columns within a sensitivity category.
Fixed an issue in Table View that sometimes caused the column order to be incorrect.
Added an environment variable TONIC_DISABLE_IPV6
to the PyML container. When set to true, the container no longer listens on IPv6 addresses.
File connector
MySQL
WHERE
clauses when the table or schema name contained special characters.PostgreSQL
Snowflake
SQL Server