Staging data in an intermediate Google Sheet is best practice when piping data from a source with sensitive data to a source that will have public view access. This prevents bad actors from accessing data by manipulating an [[IMPORTRANGE]] function should they get edit access to the sheet. It also can protect against users moving columns and breaking imports.
First, create a new tab in the original sheet called `_export` (or similar). Copy the data column-by-column using the syntax
```
={Sheet1!A:A}
```
where the original sheet is called `Sheet1` and the column that contains the data is column `A`. For added protection, hide the `_export` sheet.
Next, export the data to a new Google Sheet.
1. Create a new Google Sheet to stage the data
2. Use a combination of `QUERY` and `IMPORTRANGE` to import only non-sensitive data from the source sheet.
3. Use `IMPORTRANGE` from the new Google Sheet to the public destination sheet.
For added protection, restrict permissions on the staged data.