Using Structural securely

To generate de-identified data, Tonic Structural requires access to customer data that might be sensitive in nature, protected by regulation or contract, or that otherwise requires special handling to meet processing obligations.

To ensure the security of your data, when you configure and use the Structural application, Structural advises that you use industry best practices for secure data handling.

We have compiled the following recommendations for using Structural securely. This list of suggestions is not comprehensive, and is based on a general use case.

Your use case might require additional considerations depending on the type of data that is processed, your underlying systems, and other legal and organizational requirements.

Recommendations for both Structural Cloud and self-hosted Structural instances

The following recommendations apply both to Structural Cloud and to self-hosted instances of Structural.

Restrict access to Structural

You should grant Structural accounts to users based on the principle of least privilege. Each user should only have access to the workspaces and datasets that they need to perform their required tasks.

Structural produces de-identified data that is stored in destination databases. Some end users might not need access to the Structural application at all, but still need access to the destination data.

Restricting access to Structural includes restricting access to the application and API keys that provide access to the Structural API.

Review access to Structural

Periodically review the current user access to Structural to ensure that the current access levels are appropriate.

Secure data in transit

Maintain protective measures for data as it moves from your data store to Structural.

Configure databases that the Structural application connects to (source and destination databases) to only accept encrypted connections that use industry standard cryptographic algorithms.

Secure physical devices and access points

Make sure that there are physical security and environmental controls for all of your devices and access points.

This includes devices that are used by remote or home-based employees who use Structural.

Use single sign-on to manage access

If you have a Professional or Enterprise license, use an external identity provider to manage access to Tonic.

When you use an external identity provider, you can control the password, multifactor, location, and other authentication requirements to meet your specific use case.

Additional recommendations for self-hosted instances

For self-hosted instances, the following additional recommendations apply.

Maintain firewalls and restrict network access

Deploy Structural in an environment that prevents unauthorized and accidental access from outside the system.

This can include:

  • Configuring and using web application and network firewalls

  • Using AWS Security Groups, Azure Network Security Groups, or Google Cloud firewall rules to control access to Structural and to control Structural access to other networked devices

  • Using firewalls or stateless access control lists to deny traffic on unapproved ports or based on the traffic direction or type

  • If applicable, allowlisting end-user traffic to IP addresses within a network or VPN

Maintain security for inbound and outbound data

Maintain protective measures for data as it moves from your end users to the Structural application. Configure your infrastructure deployment to use encryption-in-transit. Structural can be configured in multiple ways to use and enforce encryption-in-transit.

Tonic.ai recommends that all customers who deploy Structural enforce encrypted communication.

Inbound traffic to the Structural application can be load balancer configured with TLS termination. Some customers either do not want to or cannot use a load balancer. In that case, when you set up Structural, you install a certificate to encrypt inbound traffic to the Structural application. You can also use this configuration to ensure encrypted communication between the load balancer and the application.

For outbound traffic (traffic from the Structural application to source and destination databases), you can configure Tonic to enforce SSL/TLS communication.

Require HTTPS for inbound traffic

For increased security, ensure that the Tonic web server only listens on https and not on http.

To configure this, set the environment setting TONIC_HTTPS_ONLY to true.

See Configuring environment settings.

Monitor network traffic

Because of its access to sensitive data, you should configure and monitor network traffic for environments that run the Structural application.

At a minimum, Tonic.ai suggests that you use industry standard IDS/IPS systems to detect unauthorized access.

Use disk encryption

Use industry standard disk encryption on all of the underlying storage that is associated with your Structural instances and the associated databases.

Collect and analyze logs

Collect logs from Structural components and analyze them for anomalies that indicate malicious acts, natural disasters, and errors. Analyze anomalies to determine whether they represent security events.

Enable log sharing with Tonic.ai to allow Tonic.ai staff to monitor these logs. Tonic.ai staff can apply their domain knowledge of Structural to the log analysis.

Keep Structural upgraded

Tonic.ai releases updates to the Structural software multiple times a week. Updates can include fixes to improve Tonic security.

We recommend that you upgrade Structural at least once every two weeks. For details, go to Updating Structural.

Last updated