Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation updates #91 #145

Merged
merged 15 commits into from
Oct 12, 2021
150 changes: 58 additions & 92 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,35 +48,6 @@ If you're looking for a more detailed introduction to Fides, we recommend follow
Ping Successful!
```

1. Now we can seed the database with the default taxonomy:

```bash
root@0f13dd1c5834:/fides/fidesctl# fidesctl apply default_taxonomy/
Loading resource manifests from: default_taxonomy/
Taxonomy successfully created.
----------
Processing data_subject resources...
CREATED 15 data_subject resources.
UPDATED 0 data_subject resources.
SKIPPED 0 data_subject resources.
----------
Processing data_qualifier resources...
CREATED 5 data_qualifier resources.
UPDATED 0 data_qualifier resources.
SKIPPED 0 data_qualifier resources.
----------
Processing data_use resources...
CREATED 18 data_use resources.
UPDATED 0 data_use resources.
SKIPPED 0 data_use resources.
----------
Processing data_category resources...
CREATED 77 data_category resources.
UPDATED 0 data_category resources.
SKIPPED 0 data_category resources.
----------
```

1. Run `ls demo_resources/` to inspect the contents of the demo directory, which includes some pre-made examples of the core Fides resource files (systems, datasets, policies, etc.)

```bash
Expand All @@ -97,7 +68,7 @@ If you're looking for a more detailed introduction to Fides, we recommend follow
data_categories:
- user.provided.identifiable.contact
- user.derived.identifiable.device.cookie_id
data_use: improve_product_or_service
data_use: improve.system
data_subjects:
- customer
data_qualifier: identified_data
Expand All @@ -113,7 +84,7 @@ If you're looking for a more detailed introduction to Fides, we recommend follow
data_categories:
#- user.provided.identifiable.contact # uncomment to add this category to the system
- user.derived.identifiable.device.cookie_id
data_use: marketing_advertising_or_promotion
data_use: advertising
data_subjects:
- customer
data_qualifier: identified_data
Expand Down Expand Up @@ -177,7 +148,7 @@ If you're looking for a more detailed introduction to Fides, we recommend follow
data_uses:
inclusion: ANY
values:
- marketing_advertising_or_promotion
- advertising
data_subjects:
inclusion: ANY
values:
Expand All @@ -188,66 +159,61 @@ If you're looking for a more detailed introduction to Fides, we recommend follow

1. Lastly, let's modify our annotations in a way that would fail this automated privacy policy:

- Edit `demo_resources/demo_system.yml` and uncomment the line that adds `provided_contact_information` to the list of `data_categories` for the `demo_marketing_system`
- Re-run `fidesctl evaluate demo_resources` which will raise an evaluation failure!

```bash
root@fa175a43c077:/fides/fidesctl# vim demo_resources/demo_system.yml

root@fa175a43c077:/fides/fidesctl# git diff demo_resources/demo_system.yml
diff --git a/fidesctl/demo_resources/demo_system.yml b/fidesctl/demo_resources/demo_system.yml
index a707df4..e84a637 100644
--- a/fidesctl/demo_resources/demo_system.yml
+++ b/fidesctl/demo_resources/demo_system.yml
@@ -24,7 +24,7 @@ system:
privacy_declarations:
- name: Collect data for marketing
data_categories:
- #- user.provided.identifiable.contact # uncomment to add this category to the system
+ - user.provided.identifiable.contact # uncomment to add this category to the system
- user.derived.identifiable.device.cookie_id
data_use: marketing_advertising_or_promotion
data_subjects:

root@fa175a43c077:/fides/fidesctl# fidesctl evaluate demo_resources
Loading resource manifests from: demo_resources
Taxonomy successfully created.
----------
Processing registry resources...
CREATED 0 registry resources.
UPDATED 0 registry resources.
SKIPPED 1 registry resources.
----------
Processing system resources...
CREATED 0 system resources.
UPDATED 1 system resources.
SKIPPED 1 system resources.
----------
Processing policy resources...
CREATED 0 policy resources.
UPDATED 0 policy resources.
SKIPPED 1 policy resources.
----------
Processing dataset resources...
CREATED 0 dataset resources.
UPDATED 0 dataset resources.
SKIPPED 1 dataset resources.
----------
Loading resource manifests from: demo_resources
Taxonomy successfully created.
Evaluating the following policies:
demo_privacy_policy
----------
Checking for missing resources...
Executing evaluations...
{
"status": "FAIL",
"details": [
"Declaration (Collect data for marketing) of System (demo_marketing_system) failed Rule (Reject Direct Marketing) from Policy (demo_privacy_policy)"
],
"message": null
}
```
- Edit `demo_resources/demo_system.yml` and uncomment the line that adds `provided_contact_information` to the list of `data_categories` for the `demo_marketing_system`
NevilleS marked this conversation as resolved.
Show resolved Hide resolved

```diff
privacy_declarations:
- name: Collect data for marketing
data_categories:
- #- user.provided.identifiable.contact # uncomment to add this category to the system
+ - user.provided.identifiable.contact # uncomment to add this category to the system
- user.derived.identifiable.device.cookie_id
data_use: marketing_advertising_or_promotion
data_subjects:
```

- Re-run `fidesctl evaluate demo_resources` which will raise an evaluation failure!

```bash
root@fa175a43c077:/fides/fidesctl# fidesctl evaluate demo_resources
Loading resource manifests from: demo_resources
Taxonomy successfully created.
----------
Processing registry resources...
CREATED 0 registry resources.
UPDATED 0 registry resources.
SKIPPED 1 registry resources.
----------
Processing system resources...
CREATED 0 system resources.
UPDATED 1 system resources.
SKIPPED 1 system resources.
----------
Processing policy resources...
CREATED 0 policy resources.
UPDATED 0 policy resources.
SKIPPED 1 policy resources.
----------
Processing dataset resources...
CREATED 0 dataset resources.
UPDATED 0 dataset resources.
SKIPPED 1 dataset resources.
----------
Loading resource manifests from: demo_resources
Taxonomy successfully created.
Evaluating the following policies:
demo_privacy_policy
----------
Checking for missing resources...
Executing evaluations...
{
"status": "FAIL",
"details": [
"Declaration (Collect data for marketing) of System (demo_marketing_system) failed Rule (Reject Direct Marketing) from Policy (demo_privacy_policy)"
],
"message": null
}
```

At this point, you've seen some of the core concepts in place: declaring systems, evaluating policies, and re-evaluating policies on every code change. But there's a lot more to discover, so we'd recommend following [the tutorial](https://ethyca.github.io/fides/tutorial/) to keep learning.

Expand Down
3 changes: 3 additions & 0 deletions docs/fides/docs/ci_reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# CI Reference Implementations
ThomasLaPiana marked this conversation as resolved.
Show resolved Hide resolved

(todo)
24 changes: 24 additions & 0 deletions docs/fides/docs/css/stylesheet.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
body {
font-family: 'Source Sans Pro', sans-serif !important;
}

.md-header {
background-color: #0861ce;
}

.md-header .md-logo img {
height: 1.2rem;
width: auto;
}

.md-content h1,
.md-content h2 {
font-weight: 600;
color: #111439;
}

.md-footer {
background-color: #303036;
padding: 30px 50px;
color: white;
}
33 changes: 10 additions & 23 deletions docs/fides/docs/getting_started/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ The recommended way to get Fidesctl running is to launch it using the supplied `

The following commands should all be run from the top-level `fides` directory (where the Makefile is):

1. `make init-db` -> Builds the required images, spins up the database, and runs the initialization scripts:
1. `make cli` -> This will spin up the entire project and open a shell within the `fidesctl` container, with the `fidesapi` being accessible. This command will "hang" for a bit, as `fidesctl` will wait for the API to be healthy before launching the shell. Once you see the `fidesctl#` prompt, you know you're ready to go:
iamkelllly marked this conversation as resolved.
Show resolved Hide resolved
NevilleS marked this conversation as resolved.
Show resolved Hide resolved

```bash
~/git/fides% make init-db
~/git/fides% make cli
Build the images required in the docker-compose file...
...
Building fidesapi
Expand All @@ -26,40 +26,27 @@ The following commands should all be run from the top-level `fides` directory (w
...
Building docs
...
Reset the db and run the migrations...
...
Tearing down the dev environment...
...
Teardown complete
root@1a742083cedf:/fides/fidesctl#
```

2. `make cli` -> This will spin up the entire project and open a shell within the `fidesctl` container, with the `fidesapi` being accessible. This command will "hang" for a bit, as `fidesctl` will wait for the API to be healthy before launching the shell. Once you see the `fidesctl#` prompt, you know you're ready to go:
1. `fidesctl init-db` -> Builds the required images, spins up the database, and runs the initialization scripts:

```bash
~/git/fides% make cli
Build the images required in the docker-compose file...
...
Building fidesapi
...
Building fidesctl
...
Building docs
...
Check for new migrations to run...
...
root@1a742083cedf:/fides/fidesctl#
~/git/fides% fidesctl init-db
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
iamkelllly marked this conversation as resolved.
Show resolved Hide resolved
```

3. `fidesctl ping` -> This confirms that your `fidesctl` CLI can reach the server and everything is ready to go!
1. `fidesctl ping` -> This confirms that your `fidesctl` CLI can reach the server and everything is ready to go!

```bash
root@796cfde906f1:/fides/fidesctl# fidesctl ping
Pinging http://fidesapi:8080...
Ping Successful!
Fidesctl is healthy!
```

## Next Steps

Now that you're up and running, you can use `fidesctl` from the shell to get a list of all the possible CLI commands. You're now ready to start enforcing privacy with Fidesctl!

See the [Tutorial](../tutorial.md) page for a step-by-step guide on setting up a Fidesctl data privacy workflow.
See the [Tutorial](../tutorial/tutorial.md) page for a step-by-step guide on setting up a Fidesctl data privacy workflow.
2 changes: 1 addition & 1 deletion docs/fides/docs/getting_started/local.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ The guide for getting Fidesctl up and running locally is the same as is describe

## Next Steps

See the [Tutorial](../tutorial.md) page for a step-by-step guide on setting up a Fides data privacy workflow.
See the [Tutorial](../tutorial/tutorial.md) page for a step-by-step guide on setting up a Fides data privacy workflow.
Binary file added docs/fides/docs/img/BestPizzaCo_DataEcosystem.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/fides/docs/img/BestPizzaCo_FidesModel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/fides/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,4 @@ Fides defines data privacy in four dimensions, called Data Privacy Classifiers.

For further context on how to setup and configure Fides, visit the `Getting Started` page ([Getting Started with Docker](getting_started/docker.md) or [Getting Started Locally](getting_started/local.md)).

For an in-depth tutorial, visit the [Tutorial](tutorial.md) page.
For an in-depth tutorial, visit the [Tutorial](tutorial/tutorial.md) page.
NevilleS marked this conversation as resolved.
Show resolved Hide resolved
3 changes: 3 additions & 0 deletions docs/fides/docs/taxonomy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
(todo)
NevilleS marked this conversation as resolved.
Show resolved Hide resolved

Add page here describing what the taxonomy is, why we created it, what it's used for, and how to use it (broadly). Points back to Tutorial/Taxonomy for detailed instructions of used
Loading