diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8ed8b38f4d..f3129f26c8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,7 +15,13 @@ The types of changes are:
* `Fixed` for any bug fixes.
* `Security` in case of vulnerabilities.
-## [1.9.2](https://github.com/ethyca/fides/compare/1.9.2...main)
+## [Unreleased](https://github.com/ethyca/fides/compare/1.9.2...main)
+
+### Docs
+
+* Add unlinked docs and fix any remaining broken links [#1266]https://github.com/ethyca/fides/pull/1266)
+
+## [1.9.2](https://github.com/ethyca/fides/compare/1.9.1...1.9.2)
### Deprecated
diff --git a/docs/fides/docs/development/release_checklist.md b/docs/fides/docs/development/release_checklist.md
deleted file mode 100644
index aae21dc32e..0000000000
--- a/docs/fides/docs/development/release_checklist.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Release Checklist
-
-
-## Documentation
-- [ ] Quickstart verified working and up-to-date
-- [ ] Tutorial verified working and up-to-date
-- [ ] Fidesdemo verified working and up-to-date
-- [ ] New/updated API endpoints described in the Guides
-- [ ] New/updated API endpoints included in the Postman collections
-- [ ] New tables/columns added to database diagram
-- [ ] If appropriate, confirm no regressions in core UI flows for the Admin UI
-- [ ] If appropriate, confirm no regressions in core UI flows for the Privacy Centre
-
-
diff --git a/docs/fides/docs/ui/local_dev.md b/docs/fides/docs/development/ui.md
similarity index 100%
rename from docs/fides/docs/ui/local_dev.md
rename to docs/fides/docs/development/ui.md
diff --git a/docs/fides/docs/getting_started.md b/docs/fides/docs/getting_started.md
deleted file mode 100644
index 369d83388a..0000000000
--- a/docs/fides/docs/getting_started.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Getting Started
-The [fidesops repository](https://github.com/ethyca/fidesops) includes a built-in docker compose configuration for quickly experimenting with a working demo environment.
-
-For a more detailed guide on fidesops, [the tutorial](tutorial/index.md) provides an in-depth introduction, and a [full installation guide](deployment.md) is available for production deployments.
-
-## Requirements
-
-* [Docker 12+](https://docs.docker.com/desktop/#download-and-install)
-* Python 3.8+
-
-## Build from the fidesops repo
-
-Ensure nothing is running on ports `8080`, `5432`, or `6379` prior to these steps.
-
-1. Clone the [fidesops repository](https://github.com/ethyca/fidesops).
-
-2. Run `docker compose up` from the root of the fidesops project directory. The provided `docker-compose.yml` will create the necessary databases and spin up the server.
-
-3. Visit `http://0.0.0.0:8080/health` in your browser. A response of `{"webserver": "healthy", "database": "healthy", "cache": "healthy"}` indicates a successful deployment.
-
-## Build from your project
-
-!!! info "Note"
- The provided docker instructions are intended only for experimenting in development environments. For production installations, see the [deployment guides](deployment.md).
-
-Ensure nothing is running on ports `8080`, `5432`, or `6379` prior to these steps.
-
-1. To replicate the demo environment in your own project, create a `docker-compose.yml` file like the example below in your application's root directory.
-
- ```yaml title="docker-compose.yml
"
- services:
- fidesops:
- image: ethyca/fidesops
- container_name: fidesops
- depends_on:
- - db
- - redis
- expose:
- - 8080
- healthcheck:
- test: ["CMD", "curl", "-f", "http://0.0.0.0:8080/health"]
- interval: 30s
- timeout: 10s
- retries: 3
- start_period: 1s
- ports:
- - "8080:8080"
- volumes:
- - type: bind
- source: ./
- target: /fidesops #Update this to the path of your project directory
- read_only: False
-
- db:
- image: postgres:12
- volumes:
- - app-db-data:/var/lib/postgresql/data/pgdata
- environment:
- - PGDATA=/var/lib/postgresql/data/pgdata
- - POSTGRES_USER=postgres
- - POSTGRES_PASSWORD=216f4b49bea5da4f84f05288258471852c3e325cd336821097e1e65ff92b528a
- - POSTGRES_DB=app
-
- expose:
- - 5432
- ports:
- - "0.0.0.0:5432:5432"
- deploy:
- placement:
- constraints:
- - node.labels.fidesops.app-db-data == true
-
- redis:
- image: "redis:6.2.5-alpine"
- command: redis-server --requirepass testpassword
- environment:
- - REDIS_PASSWORD=testpassword
- expose:
- - 6379
- ports:
- - "0.0.0.0:6379:6379"
-
- volumes:
- app-db-data:
- ```
-
-2. Ensure Docker is running, and run `docker compose up` from the project's root directory. This will pull the latest fidesops Docker image, create the sample databases, and start the server.
-
-3. Visit `http://0.0.0.0:8080/health` in your browser. A response of `{"webserver": "healthy", "database": "healthy", "cache": "healthy"}` indicates a successful deployment.
diff --git a/docs/fides/docs/guides/creating_users.md b/docs/fides/docs/guides/creating_users.md
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/docs/fides/docs/guides/fidesops_workflow.md b/docs/fides/docs/guides/fidesops_workflow.md
index fc784b6753..4a2d42e7ac 100644
--- a/docs/fides/docs/guides/fidesops_workflow.md
+++ b/docs/fides/docs/guides/fidesops_workflow.md
@@ -1,6 +1,6 @@
# Fidesops Privacy Request Execution
-When a [Privacy Request](privacy_requests.md) is submitted, fidesops performs several prerequisite checks, and then visits your collections in two passes: first, to retrieve relevant data for the subject across all your collections, and again to mask the subject's data, if necessary.
+When a [Privacy Request](../getting-started/privacy_requests.md) is submitted, fidesops performs several prerequisite checks, and then visits your collections in two passes: first, to retrieve relevant data for the subject across all your collections, and again to mask the subject's data, if necessary.
The following guide outlines the steps fidesops takes to fulfill a privacy request from end to end, including optional configurations and manual data retrieval.
@@ -11,9 +11,9 @@ Prior to processing a privacy request, fidesops first creates records to store t
| Step | Description |
| --- | --- |
| **Persist** | Fidesops creates a privacy request in long-term storage to capture high-level information (e.g. date created, current status). Fidesops saves the identity of the subject to both short- and long-term storage. |
-| **Verify** | If configured, Fidesops sends an [email](./privacy_requests.md#subject-identity-verification) to the user to verify their identity before proceeding. |
+| **Verify** | If configured, Fidesops sends an [email](../getting-started/privacy_requests.md#subject-identity-verification) to the user to verify their identity before proceeding. |
| **Notify** | If configured, the user will receive an [email](./email_communications.md) verifying that their request has been received. |
-| **Approve** | If configured, Fidesops will require a system administrator to [approve](./configuration_reference.md) the request before proceeding. |
+| **Approve** | If configured, Fidesops will require a system administrator to [approve](../installation/configuration.md) the request before proceeding. |
## Privacy request execution
@@ -47,25 +47,25 @@ If a request to a pre-execution webhook fails, request execution will exit with
### Access request automation
-Access request automation is performed regardless of whether there are access or erasure Rules defined, as both Rules require this data. See how to [configure policies, rules, and rule targets](policies.md) for additional information.
+Access request automation is performed regardless of whether there are access or erasure Rules defined, as both Rules require this data. See how to [configure policies, rules, and rule targets](policies.md) for additional information.
-This step visits all Collections and retrieves all Fields that you've defined in your [Datasets](datasets.md). Fidesops builds a graph in accordance with how you've designated your Collections are related, visits each Collection in turn, and gathers all the results together.
+This step visits all Collections and retrieves all Fields that you've defined in your [Datasets](../getting-started/datasets.md). Fidesops builds a graph in accordance with how you've designated your Collections are related, visits each Collection in turn, and gathers all the results together.
#### Graph building
-Fidesops builds a Directed Acyclic Graph, or DAG, where each location or node corresponds to a Collection in one of your Datasets. The graph helps determine the order in which nodes will be visited. Fidesops begins with any Collections that can be queried using the supplied identity data, and then points those Collections toward dependent Collections, etc. If fidesops can't determine how to reach a Collection, it will exit early with a status of `error`. To remedy an errored access request, you update how your Collections are related to each other in your Datasets, and resubmit the privacy request.
+Fidesops builds a Directed Acyclic Graph, or DAG, where each location or node corresponds to a Collection in one of your Datasets. The graph helps determine the order in which nodes will be visited. Fidesops begins with any Collections that can be queried using the supplied identity data, and then points those Collections toward dependent Collections, etc. If fidesops can't determine how to reach a Collection, it will exit early with a status of `error`. To remedy an errored access request, you update how your Collections are related to each other in your Datasets, and resubmit the privacy request.
![Access Graph](../img/access_graph.png)
#### Graph Execution
-After the graph is built, Fidesops passes the result to [Dask](https://www.dask.org/) to execute sequentially. Fidesops visits one Collection at a time, following the graph created, and uses Dask to determine ordering for ties.
+After the graph is built, Fidesops passes the result to [Dask](https://www.dask.org/) to execute sequentially. Fidesops visits one Collection at a time, following the graph created, and uses Dask to determine ordering for ties.
-For the first Collections in the graph connected to the root, Fidesops uses the customers' provided identity to locate subject data, by either making database queries or HTTP requests to a configured API endpoint. The details on how to access your data are determined by the [Connection](connection_types.md) type. Fidesops retrieves all Fields that have been configured on the Collection, and caches the results in temporary storage for usage later. Fidesops then passes the results of that Collection to downstream Collections that similarly make queries, temporarily cache the results, and return their results to their own downstream Collections.
+For the first Collections in the graph connected to the root, Fidesops uses the customers' provided identity to locate subject data, by either making database queries or HTTP requests to a configured API endpoint. The details on how to access your data are determined by the [Connection](connection_types.md) type. Fidesops retrieves all Fields that have been configured on the Collection, and caches the results in temporary storage for usage later. Fidesops then passes the results of that Collection to downstream Collections that similarly make queries, temporarily cache the results, and return their results to their own downstream Collections.
A Collection isn't visited until Fidesops has searched for data across all of its upstream Collections. This continues until all Collections have been visited. See [Query Execution](query_execution.md) for more information.
![Access Execution](../img/access_execution.png)
-If there is a failure trying to retrieve data on any Collections, the request is retried the number of times [configured](./configuration_reference.md) by `task_retry_count` until the request exits with status `error`. Both the `access` step and errored Collection are cached in temporary storage.
+If there is a failure trying to retrieve data on any Collections, the request is retried the number of times [configured](../installation/configuration.md) by `task_retry_count` until the request exits with status `error`. Both the `access` step and errored Collection are cached in temporary storage.
Restarting the privacy request will restart from this step and failed Collection. Collections that have already been visited will not be visited again.
#### Final result retrieval
@@ -73,24 +73,24 @@ The final step of an automated access request gathers all the results for each C
### Upload results
-If configured, Fidesops uploads the results retrieved from access automation for the data subject.
+If configured, Fidesops uploads the results retrieved from access automation for the data subject.
-For each configured access Rule, Fidesops filter the graph results to match targeted Data Categories. See [Datasets](datasets.md) for more details.
+For each configured access Rule, Fidesops filter the graph results to match targeted Data Categories. See [Datasets](../getting-started/datasets.md) for more details.
Fidesops also supplements the results with any data manually uploaded from [manual webhooks](#respond-to-manual-webhooks). Each data package is uploaded in JSON
-or CSV format to a specified storage location like Amazon S3. See [Storage](storage.md) for more information.
+or CSV format to a specified storage location like Amazon S3. See [Storage](../getting-started/storage.md) for more information.
### Erasure request automation
-If applicable, (erasure [Rules](policies.md#Rule-attributes) are configured on your execution policy), Fidesops builds a simpler version of the access request graph, and visits each Collection in turn, performing masking requests as necessary.
+If applicable, (erasure [Rules](policies.md#Rule-attributes) are configured on your execution policy), Fidesops builds a simpler version of the access request graph, and visits each Collection in turn, performing masking requests as necessary.
-#### Graph building
+#### Graph building
The "graph" for an erasure runs on the data from the access request, which is kept in temporary storage, and can be used to locate data for each Collection individually. Because the data has already been found, each Collection could be visited in any order or run in parallel. The graph is configured so each Collection has its previous access request results passed in as inputs, and each Collection returns a count of records masked when complete.
![Erasure Graph](../img/erasure_graph.png)
#### Graph execution
-Fidesops visits each Collection sequentially, using a deterministic order set by Dask. For each row of data retrieved in the access request step, Fidesops attempts to mask the data targeting the fields specified on your execution policy, using the [masking strategies](masking_strategies.md) you've defined. If no rows exist from the access request, or no Fields on that Collection match the targeted Data Categories, no masking occurs. Fidesops caches a count of the records
-that had fields masked in temporary storage.
+Fidesops visits each Collection sequentially, using a deterministic order set by Dask. For each row of data retrieved in the access request step, Fidesops attempts to mask the data targeting the fields specified on your execution policy, using the [masking strategies](masking_strategies.md) you've defined. If no rows exist from the access request, or no Fields on that Collection match the targeted Data Categories, no masking occurs. Fidesops caches a count of the records
+that had fields masked in temporary storage.
The masking request might involve an `update` database query or an `update` or `delete` HTTP request depending on the [Connection Type](connection_types.md). The Email Connector type doesn't mask any data itself, but instead persists how to locate and mask that Collection in temporary storage for use later.
@@ -100,9 +100,9 @@ If masking fails on a given Collection, Fidesops retries the requests for a conf
### Send erasure request emails
After the access and erasure steps have both executed, Fidesops checks if there are any third parties that need to be additionally emailed to complete erasure requests on your behalf. See [emailing third party services to mask data](email_communications.md#Email-third-party-services-to-mask-data) for more information.
-Fidesops retrieves any masking instructions cached by Email Connectors in the erasure request step, and combines them into a single email per Dataset.
+Fidesops retrieves any masking instructions cached by Email Connectors in the erasure request step, and combines them into a single email per Dataset.
-This step is only performed if you have Email Connectors configured. If the email send fails for any reason, the request will exit with status `error`. Fidesops will cache this step in temporary storage, so retrying the request will resume from this point.
+This step is only performed if you have Email Connectors configured. If the email send fails for any reason, the request will exit with status `error`. Fidesops will cache this step in temporary storage, so retrying the request will resume from this point.
### Run policy post-execution webhooks
@@ -112,18 +112,18 @@ If a request to a post-execution webhook fails, request execution will exit with
### Send email notifications
-If configured, Fidesops will send a followup email to the data subject to let them know their request has finished processing. For access Rules, the emails will contain links to where the data subject can retrieve data. For erasure Rules, the emails will simplify notify them that their request is complete.
+If configured, Fidesops will send a followup email to the data subject to let them know their request has finished processing. For access Rules, the emails will contain links to where the data subject can retrieve data. For erasure Rules, the emails will simplify notify them that their request is complete.
Request execution will then exit with the status `complete`.
## Additional notes
-- Fidesops uses Redis as temporary storage to support executing your request. Data automatically retrieved from each Collection, manually uploaded data, and details about where the Privacy Request may be paused or where it failed may all be temporarily stored. This information will expire in accordance with the `FIDESOPS__REDIS__DEFAULT_TTL_SECONDS` [setting](./configuration_reference.md).
-- The current fidesops execution strategy prioritizes being able to erase as many of the original Collections requested as possible. If Fidesops masks
+- Fidesops uses Redis as temporary storage to support executing your request. Data automatically retrieved from each Collection, manually uploaded data, and details about where the Privacy Request may be paused or where it failed may all be temporarily stored. This information will expire in accordance with the `FIDESOPS__REDIS__DEFAULT_TTL_SECONDS` [setting](../installation/configuration.md).
+- The current fidesops execution strategy prioritizes being able to erase as many of the original Collections requested as possible. If Fidesops masks
some Collections and then registers a failure, the current logic will mask the original remaining Collections using the temporarily saved data retrieved in the original access step instead of re-querying the Collections. Once data is masked in one Collection, it could potentially prevent us from being able to locate data in downstream Collections, and so will use temporarily stored data.
- Data added in the interim, or data related to newly added Collections, can be missed.
- - If the automated access step fails part of the way through, a new Collection is added, and then the request is restarted from failure,
+ - If the automated access step fails part of the way through, a new Collection is added, and then the request is restarted from failure,
Fidesops may miss data from already completed Collections downstream, and any Collections further downstream of that set.
- - If the erasure step fails, a new Collection is added, and the request is restarted from failure, Fidesops may miss masking data from the new
+ - If the erasure step fails, a new Collection is added, and the request is restarted from failure, Fidesops may miss masking data from the new
Collection and data downstream of the new Collection.
- Nodes on the graph correspond to individual Collections within Datasets, not Datasets. The graph built may result in Fidesops
visiting a Collection in one Dataset to be able to find data on a Collection in a separate Dataset, which is used to find data on a Collection in the original Dataset.
diff --git a/docs/fides/docs/guides/manual_webhooks.md b/docs/fides/docs/guides/manual_webhooks.md
index ee69e1c1d8..9226bba99b 100644
--- a/docs/fides/docs/guides/manual_webhooks.md
+++ b/docs/fides/docs/guides/manual_webhooks.md
@@ -1,12 +1,12 @@
# Manual Webhooks
Manual webhooks are a simple way for data to be manually uploaded for an access request. Erasure requests are not supported at this time.
-They differ from the more complex [manual connection configs](datasets.md#Configure-a-manual-Dataset) that integrate directly with the graph.
+They differ from the more complex [manual connection configs](../getting-started/datasets.md#Configure-a-manual-Dataset) that integrate directly with the graph.
Manual webhooks gather data *outside* of the graph as a first step, and are more similar to [policy_webhooks](policy_webhooks.md).
If you have manual webhooks defined, privacy request execution will exit early and remain in a state of `requires_input`.
-Once data has been manually uploaded for all the manual webhooks, then the privacy request can be resumed. Data uploaded
+Once data has been manually uploaded for all the manual webhooks, then the privacy request can be resumed. Data uploaded
for manual webhooks is passed on directly to the data subject alongside the data package. It is
not filtered on data category. Any manual data uploaded is passed on as-is.
diff --git a/docs/fides/docs/guides/oauth.md b/docs/fides/docs/guides/oauth.md
index 6898f1e29d..090899ca7a 100644
--- a/docs/fides/docs/guides/oauth.md
+++ b/docs/fides/docs/guides/oauth.md
@@ -6,7 +6,7 @@ When you invoke a Fides API, you must pass an _access token_ as the value of the
## Create the root client
Create an access client ID and secret for the "root" client. In your [`fides.toml`](../installation/configuration.md), these are defined as `oauth_root_client_id` and `oauth_root_client_secret`.
-**The root client token contains all scopes,** and can call any of the Fides APIs. Once authenticated, creating additional [users](./creating_users.md) with individual scopes is recommended.
+**The root client token contains all scopes,** and can call any of the Fides APIs. Once authenticated, creating additional users with individual scopes is recommended.
To create a root token, call the `POST /api/v1/oauth/token` endpoint:
@@ -42,7 +42,7 @@ Content-Type: application/json
## Create additional clients
-Because the root client's token contains all scopes, it can create new clients and new client ID/client secret pairs which can be used to create additional access tokens.
+Because the root client's token contains all scopes, it can create new clients and new client ID/client secret pairs which can be used to create additional access tokens.
!!! info "Best practices recommend creating a client with the scope `CLIENT_CREATE` to create any new clients. This will help to reduce the utilization of the all-scopes root client."
@@ -59,7 +59,7 @@ curl \
The authorization header value is formed as `Bearer `, and the request's `Content-Type` is `application/json`.
### Authorize a client with scopes
-To add scopes to the client, the body of your request must contain an array of scope tokens.
+To add scopes to the client, the body of your request must contain an array of scope tokens.
You can retrieve the available scopes by calling [`GET /api/v1/oauth/scopes`](/api/index.md#operations-OAuth-read_scopes_api_v1_oauth_scope_get).
@@ -75,7 +75,7 @@ Content-Type: application/json
}
```
## Create an access token
-You then create a new access token by calling [`POST /api/v1/oauth/token`](../api/index.md#operations-OAuth-acquire_access_token_api_v1_oauth_token_post) with the new credentials.
+You then create a new access token by calling [`POST /api/v1/oauth/token`](../api/index.md#operations-OAuth-acquire_access_token_api_v1_oauth_token_post) with the new credentials.
In the above example, the new access token only lets the client read policies and rules. The client cannot create other clients, write policies, or perform other operations using Fides APIs.
@@ -87,4 +87,4 @@ If you call the Fides API with an expired token, the call returns `401`.
### Other OAuth Calls
-Fides defines OAuth operations that let you delete a client, and read and write a client's scopes. See the [**OAuth** section of the **API** documentation](/api/index.md#operations-tag-OAuth) for details.
+Fides defines OAuth operations that let you delete a client, and read and write a client's scopes. See the [**OAuth** section of the **API** documentation](/api/index.md#operations-tag-OAuth) for details.
diff --git a/docs/fides/docs/img/access_execution.png b/docs/fides/docs/img/access_execution.png
new file mode 100644
index 0000000000..b724160380
Binary files /dev/null and b/docs/fides/docs/img/access_execution.png differ
diff --git a/docs/fides/docs/img/access_graph.png b/docs/fides/docs/img/access_graph.png
new file mode 100644
index 0000000000..781005a38e
Binary files /dev/null and b/docs/fides/docs/img/access_graph.png differ
diff --git a/docs/fides/docs/img/erasure_graph.png b/docs/fides/docs/img/erasure_graph.png
new file mode 100644
index 0000000000..4f6775e72a
Binary files /dev/null and b/docs/fides/docs/img/erasure_graph.png differ
diff --git a/docs/fides/docs/postman/using_postman.md b/docs/fides/docs/postman/using_postman.md
deleted file mode 100644
index 7566e89752..0000000000
--- a/docs/fides/docs/postman/using_postman.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# Using the fidesops postman collection
-
-A minimal Postman collection is included to assist in setting up your fidesops configurations, and in executing example `access` and `erasure` privacy requests against mock external databases.
-
-## Loading the collection
-1. Get [Postman](https://www.postman.com/)
-2. Postman > File > Import
-
- ![File_Import](../img/postman_images/import_collection.png)
-
-3. Upload the fidesops collection found in `docs/fidesops/docs/postman/Fidesops.postman_collection.json`
-
- ![Upload Fidesops Collection](../img/postman_images/upload_files.png)
-
-4. Click on the imported `fidesops` collection in the left pane and then find `Variables` to edit `fidesops` collection variables.
- - Some variables are populated for you, and some will be added in this guide's next steps.
-
- ![Open Fidesops Variables](../img/postman_images/open_fidesops_variables.png)
-
-5. Add your `oauth_root_client_id` and `oauth_root_client_secret` under `CURRENT VALUE`.
- - `fidesopsadmin` and `fidesopsadminsecret` are default configurations for testing, found in your `fidesops.toml`. Add the appropriate values for your instance if they differ.
- - **Important:** Click `Save`!
-
- ![Add root client id and secret](../img/postman_images/add_root_client_id_and_secret.png)
-
-## Bring up local servers and mock databases
-1. Run `nox -s dev -- ` in your terminal.
- - This brings up the `fidesops` server and the list of datastores specified, i.e. `nox -s dev -- postgres mongodb`. These mock datastores are pre-populated with test data to represent your datastores.
-
-!!! Note ""
- The following list of requests is kept in the `Minimum API calls to create an Access Privacy Request` folder. Some of the returned data will need to be saved as additional variables for use in other steps.
-
- ![Fidesops container](../img/postman_images/fidesops_container.png)
-
-## Saving Authentication variables
-1. Click on the `Get Root Client Token` request, and click `Send` to send a `POST` request to fidesops to create a root token.
-
- ![Create root token](../img/postman_images/create_root_client_token.png)
-
-2. Copy the `access_token` returned in the response body, and paste it as the `Current Value` of `root_client_token` in fidesops' variables.
- - **Important:** Click `Save`!
-
- ![Get root token](../img/postman_images/root_token_response.png)
- ![Save root token](../img/postman_images/save_root_client_token.png)
-
-3. Similarly, click on `Create Client`, and click `Send` to send a `POST` request to fidesops to create a new client.
- - Copy the `client_id` and `client_secret` and paste into `Current Value` slots in fidesops variables and click "Save".
-
-4. Finally, click on the `Get Client Token` request, and click `Send` to send another `POST` request to fidesops. This will create a token for the client made in the previous step.
-
- ![client variables](../img/postman_images/client_form_data.png)
-
- - If you click on **Body**, you can see that the `client_id` and `client_secret` have been added as form data for you.
-
-
-5. Save the returned token under `client_token` in the fidesops variables. The `client_token` will be automatically passed into the rest of your requests as the Bearer Token.
-
- ![final token](../img/postman_images/final_token.png)
-
-
-## Building out remaining privacy request configuration
-Run through the remaining requests in the `Minimum API calls to create an Access Privacy Request` folder. Because variables are automatically being populated for you, you should be able to click on each request, clicking `Send` for each one.
-
-Inspect the `Body` of each request to see what is sent to fidesops:
-
-1. Specify where your data is going:
- 1. SEND `Create/Update Storage` - Local Storage Config - Sets up a local folder for uploading your privacy request results (local testing only)
-2. Configure what data you care about, and what to do with it:
- 1. SEND `Create/Update Policies` - Creates a Policy to handle Privacy Requests
- 2. SEND `Create/Update Access Rule` - Defines an `access` Rule on the previous Policy, which specifies results will be uploaded to the configured local storage
- 3. SEND `Create/Update Rule Targets` - Specify a RuleTarget that says to will return data that has been marked as having a `user` data category
-3. Create ConnectionConfigs, and add connection secrets for the `postgres_example` and `mongodb_example` mock databases:
- 1. SEND `Create/Update Connection Configs: Postgres`
- 2. SEND `Create/Update Connection Configs: Mongo`
- 3. SEND `Update Connection Secrets: Postgres`
- 4. SEND `Update Connection Secrets: Mongo`
-4. Add annotations of the Postgres and Mongo datastores:
- 1. SEND `Create/Update Postgres Dataset`
- 2. SEND `Create/Update Dataset Mongo`
-
-!!! Note ""
- API calls to additional supported datastores (MsSQL, MySQL) are in separate folders within the collection.
-
-## Run a privacy request
-You have now completed the basic configuration required to create an Access Request.
-
-1. SEND `Create Access Privacy Requests`
- - If "succeeded", note the "id" that is returned. Succeeded means the privacy request has been created and is *pending,* not that its execution is complete.
-
- ![Succeeded Request](../img/postman_images/succeeded_privacy_request.png)
-
-2. Check your local `fides_uploads` folder, configured earlier, to see access request results.
- - This is run asynchronously, so it may take a few moments to complete. This particular request should have retrieved data from both the `postgres_example` and `mongodb_example` databases with the `user` data_category
-
- ![Local Results](../img/postman_images/local_results.png)
-
-
-
-## Next steps
-1. Check out other requests in the collection!
- - The `Calls to create an Erasure Request` folder walks you through configuring a separate erasure policy, and executing an erasure request.
-
-!!! Note ""
- Note that these erasure requests will mask data in your connected datastores (`postgres_example` and `mongo_example` here. **If you connect your own live databases, data may be deleted.**
-
-Happy experimenting!
diff --git a/docs/fides/docs/saas_connectors/example_configs/salesforce.md b/docs/fides/docs/saas_connectors/example_configs/salesforce.md
index 88fd4db2e9..a261ad945a 100644
--- a/docs/fides/docs/saas_connectors/example_configs/salesforce.md
+++ b/docs/fides/docs/saas_connectors/example_configs/salesforce.md
@@ -18,9 +18,9 @@ For more information, see the [Salesforce sObject API reference](https://develop
## Connection Settings
-Fidesops provides a [Postman collection](../../postman/using_postman.md) for easily establishing connections to your third party applications. Additional connection instructions may be found in the [configuration guide](../saas_config.md).
+Fidesops provides a [Postman collection](../../development/postman/using_postman.md) for easily establishing connections to your third party applications. Additional connection instructions may be found in the [configuration guide](../saas_config.md).
-**Deletion requests** are fulfilled by masking PII via `UPDATE` endpoints. To [give fidesops permission](../../guides/configuration_reference.md#configuration-variable-reference) to remove PII using `DELETE` endpoints, ensure the `masking_strict` variable in your `fidesops.toml` file is set to `false`.
+**Deletion requests** are fulfilled by masking PII via `UPDATE` endpoints. To [give fidesops permission](../../installation/configuration.md#configuration-variable-reference) to remove PII using `DELETE` endpoints, ensure the `masking_strict` variable in your `fidesops.toml` file is set to `false`.
## Example Salesforce Configuration
diff --git a/docs/fides/mkdocs.yml b/docs/fides/mkdocs.yml
index ffe0920725..9d65cf67d2 100644
--- a/docs/fides/mkdocs.yml
+++ b/docs/fides/mkdocs.yml
@@ -10,13 +10,13 @@ edit_uri: blob/main/docs/fides/docs/
nav:
- Fides:
- What is Fides?: index.md
- - Installation:
+ - Installation:
- Overview: installation/overview.md
- Project Requirements: installation/requirements.md
- Installation from PyPI: installation/pypi.md
- Installation from Docker: installation/docker.md
- Configuration: installation/configuration.md
- - Working with Fides:
+ - Working with Fides:
- Connect to Databases: getting-started/database_connectors.md
- Generate Resources: getting-started/generate_resources.md
- Create Datasets: getting-started/datasets.md
@@ -29,6 +29,7 @@ nav:
- Extend the Taxonomy: guides/extend_taxonomy.md
- Generate Data Maps: guides/generate_datamaps.md
- Configure Email Communications: guides/email_communications.md
+ - View Available Connection Types: guides/connection_types.md
- Annotate Complex Fields: guides/complex_fields.md
- Configure Data Masking: guides/masking_strategies.md
- Execution Policy Webhooks: guides/policy_webhooks.md
@@ -36,6 +37,16 @@ nav:
- Integrate with OneTrust: guides/onetrust.md
- Preview Query Execution: guides/query_execution.md
- Data Rights Protocol: guides/data_rights_protocol.md
+ - Configure Manual Webhooks: guides/manual_webhooks.md
+ - Understanding Privacy Request Execution: guides/fidesops_workflow.md
+ - Tutorial:
+ - Overview: tutorial/index.md
+ - Add Fides to the App: tutorial/add.md
+ - Annotate the Dataset: tutorial/dataset.md
+ - Annotate the System: tutorial/system.md
+ - Write a Policy: tutorial/policy.md
+ - Add Google Analytics: tutorial/google.md
+ - Manage Google Analytics with Fides: tutorial/pass.md
- SaaS Connectors:
- Connect to SaaS Applications: saas_connectors/saas_connectors.md
- SaaS Configuration: saas_connectors/saas_config.md
@@ -65,23 +76,28 @@ nav:
- Manage Datastores: ui/datastores.md
- Manage Users: ui/user_management.md
- Privacy Center: ui/privacy_center.md
+ - Deployment: ui/deployment.md
- Fides Lang: https://ethyca.github.io/fideslang/
- API: api/index.md
- Development:
- Overview: development/overview.md
- Contributing Details: development/contributing_details.md
- Code Style: development/code_style.md
+ - UI Development: development/ui.md
- Fideslog Analytics: development/fideslog.md
- Database Migration: development/database_migration.md
- Documentation: development/documentation.md
- Testing: development/testing.md
- Pull Requests: development/pull_requests.md
- Releases: development/releases.md
+ - Jetbrains Debugging: development/jetbrains_debugging.md
+ - Using Postman: development/postman/using_postman.md
+ - Updating the Database Diagram: development/update_erd_diagram.md
- Community:
- Github, Slack, and Discord: community/overview.md
- Community Hints and Tips: community/hints_tips.md
- Code of Conduct: community/code_of_conduct.md
- - About Ethyca:
+ - About Ethyca:
- About Ethyca: ethyca.md
- License: license.md