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
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.
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
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
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.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
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
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.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
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
From the recommended generators panel on Privacy Hub, you can now enable or disable self-consistency for each column.
When you create a virtual foreign key, the nullability of the foreign key is now determined by the nullability of the foreign key column.
On Privacy Hub and the job details view, changed the label on the Download option to Reports and Logs.
Db2 for LUW
MySQL
PostgreSQL
Sending telemetry to Tonic.ai is now required and enforced. After 5 days of failed telemetry connections, a warning displays. If the connection issue persists for 15 days, data generation is restricted.
Structural Cloud users can now reset their passwords from the login page. To reset your password, click Forgot your password?.
You can now set the TONIC_POSTGRES_REFRESH_MATERIALIZED_VIEWS environment setting from the Environment Settings tab on Tonic Settings.
File connector
SQL Server
Added a new API endpoint to resolve all schema changes in a workspace. You can choose whether to resolve only conflicting changes, only notifications, or all of the schema changes.
Fixed an issue that caused the Tonic Structural PyML Service to be unreachable in IPV4-only containers.
Added a new conflicting schema change when a column that has an assigned generator becomes a foreign key. Foreign key columns must inherit the generator from the primary key.
Structural can now generate data with subsetting when a primary key table is truncated, as long as the foreign keys that reference the primary key are nullable.
Amazon Redshift
File connector
Snowflake
SQL Server
For the notifications image, replaced alpine with ubuntu.
File connector
MongoDB
MySQL
Snowflake
SQL Server
During the free trial, Structural now displays next step highlights to indicate the next recommended action. When you hover over the recommended action, Structural displays an explanatory tooltip.
A new environment setting, TONIC_DB_MAX_POOL_SIZE, sets the connection pool size for the Structural application database. The default value is 3.
Fixed an issue where the preview data in the JSON Mask generator editor did not respect the applied table filter.
File connector
MongoDB
PostgreSQL
Fixed an issue in Table View where characters were sometimes represented inaccurately. For example, a lowercase x would become a multiplication symbol.
Fixed an issue where data generation to Tonic Ephemeral Cloud failed with the error "Ephemeral URL not found".
For a schema change that adds a new column, both the Schema Changes view and the API response now include the data type for the new column.
For the Structural free trial, Structural now displays a checklist for each workspace. There are slightly different checklists for database-based and file connector workspaces.
Added support to run Structural in dual-stack networks and IPv6-only network environments.
On the workspace details view, fixed an issue where an Ephemeral API key appeared to be populated when no value was provided.
Fixed an issue that caused data generation to Ephemeral to fail with "Ephemeral output must be configured".
Fixed an issue where data generation to Ephemeral failed after a first successful run.
Amazon Redshift
MySQL
SQL Server
Writing output to a Tonic Ephemeral snapshot - For database types that Tonic Ephemeral supports (currently PostgreSQL and MySQL), you can now write the output to an Ephemeral user snapshot. This replaces the option to write the output to an Ephemeral database, except for workspaces in the Structural free trial. In Ephemeral, you can use the user snapshot to start new Ephemeral databases.
Other updates
For the UUID Key generator, added a new configuration option, Preserve Version and Variant. By default, the setting is turned off. When turned on, the version and variant bits from the source UUID are preserved in the output value. For the API, the new setting is preserveVersionAndVariant.
In the Tonic Structural free trial, the sample workspace now by default writes the output to a Tonic Ephemeral database.
Fixed an issue where vertical scrolling was sometimes blocked.
You can now configure the allowed SSL/TLS protocols and ciphers on the Tonic Web Server. To configure the protocols and ciphers, use the environment settings TONIC_WEB_SERVER_TLS_PROTOCOLS and TONIC_WEB_SERVER_TLS_CIPHERS.
File Connector
MongoDB
MySQL
The Structural API now includes endpoints to get and set the assigned table modes and table filters for a workspace.
Fixed an issue where the workspace audit trail displayed generator preset events that occurred before the workspace was created.
Fixed an issue where an error was returned when users tried to export selected files from a file group.
Improved error message when Structural cannot write output to Ephemeral because Ephemeral does not have a compatible base image for the database.
Databricks
Google BigQuery
Oracle
Output to a Tonic Ephemeral database - Tonic Ephemeral is a separate Tonic.ai product that allows you to create temporary databases. On Tonic Cloud, for data connectors that Ephemeral supports (currently PostgreSQL and MySQL), you can configure the workspace to write the destination data to an Ephemeral database. This is the default option for data connectors that Ephemeral supports.
The database belongs to your Ephemeral account. If you do not already have an Ephemeral account, then Tonic automatically creates a two-week Ephemeral free trial account for you. The Tonic data generation job details provide access to the database connection details.
Free trial checklist - During the free trial, the sample workspace now includes a checklist to help users get through the required steps to complete their first data generation.
Other updates
Free trial users can no longer use a public email address to create an account.
Fixed an issue where password reset links lead to a blank page.
Fixed an issue where pay-as-you-go users would see the countdown for a free trial.
In the sample workspace, fixed an issue where a faulty destination database template caused an error when a user tried to update it.
Google BigQuery
Oracle
PostgreSQL
Snowflake