# Structural data generation workflow

Tonic Structural data generation combines sensitive data detection and data transformation to create safe, secure, and compliant datasets.

The Structural data generation workflow involves the following steps:

![Overview diagram of the Tonic Structural data generation workflow](/files/sqbeAWrArthlYBmhznVI)

You can also view this [video overview of the Structural data generation workflow](https://youtu.be/j1eVJgWoRyU).

1. To get started, you [create a workspace](/app/workspace/managing-workspaces/workspaces-create-edit-delete.md).\
   \
   When you create a workspace, you identify the type of source data, such as PostgreSQL or MySQL, and establish the connections to the source database and the destination location.\
   \
   The source database contains the original data that you want to synthesize. The destination location is where Structural stores the synthesized data. It might be a database, a storage location, or a container repository.
2. Next, you [analyze the results of the initial sensitivity scan](/app/generation/privacy-hub.md#privacy-hub-view-protection-status).\
   \
   The sensitivity scan identifies columns that contain sensitive data. These columns need to be protected by a generator.
3. Based on the sensitivity scan results, you configure the data generation. The configuration includes:
   * [Assigning table modes to tables.](/app/generation/table-modes.md#table-mode-selection)\
     \
     The table mode controls the number of rows and columns that are copied to the destination database.
   * [Indicating column sensitivity.](/app/generation/privacy-hub.md#privacy-hub-protection-status-flag-sensitive) You can make adjustments to the initial sensitivity assignments.\
     \
     For example, you can mark additional columns as sensitive that the initial scan did not identify as sensitive.
   * [Assigning and configuring column generators.](/app/generation/generators-assign-config/generator-assignment-and-config.md) To protect the data in a column, especially a sensitive column, you assign a generator to it. The generator replaces the source value with a different value in the destination database.\
     \
     For example, the generator might scramble the characters or assign a random value of the same type.
4. After you complete the configuration, you [run the data generation job](/app/workflows/data-generation-run-job.md).\
   \
   The data generation job uses the configured table modes and generators to transform the data from the source database and write the transformed data to the destination location.\
   \
   You can track the job progress and view the job results.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tonic.ai/app/readme-1/tonic-workflows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
