-
Notifications
You must be signed in to change notification settings - Fork 16
Email Connector: Send Email with Erasure Instructions [#1158] #1246
Changes from 1 commit
77a3d3d
e981ea4
1601293
f539a01
e1dc1fb
c09b4e7
c8afe55
b10f6de
d9e169a
10ba182
1e855d0
d70d71a
9a20d02
02eb668
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
# Configure Email Communications | ||
## What is email used for? | ||
# Configure Automatic Emails | ||
## What is a fidesops Email Connection? | ||
|
||
Fidesops supports email server configurations for sending processing notices to privacy request subjects. Future updates will support outbound email communications with data processors. | ||
Fidesops supports configuring third party email servers to handle outbound communications. | ||
|
||
Supported modes of use: | ||
|
||
- Subject Identity Verification - for more information on identity verification in subject requests, see the [Privacy Requests](privacy_requests.md#subject-identity-verification) guide. | ||
- Erasure Request Email Fulfillment - sends an email to configured third parties to process erasures for a given data subject. See [Email Connectors](email_connectors.md) for more information. | ||
- Subject Identity Verification - sends a verification code to the user's email address prior to for more information on identity verification in subject requests, see the [Privacy Requests](privacy_requests.md#subject-identity-verification) guide. | ||
- Erasure Request Email Fulfillment - sends an email to configured third parties to process erasures for a given data subject. See [creating Email Connectors](#create-an-email-connector) for more information. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @conceptualshark I don't think this goes anywhere |
||
|
||
## Prerequisites | ||
|
||
|
@@ -16,12 +16,12 @@ Fidesops currently supports Mailgun for email integrations. Ensure you register | |
|
||
Follow the [Mailgun documentation](https://documentation.mailgun.com/en/latest/api-intro.html#authentication-1) to create a new Domain Sending Key for fidesops. | ||
|
||
!!! Note | ||
Mailgun automatically generates a **primary account API key** when you sign up for an account. This key allows you to perform all CRUD operations via Mailgun's API endpoints, and for any of your sending domains. For security purposes, using a new **domain sending key** is recommended over your primary API key. | ||
!!! Note | ||
Mailgun automatically generates a **primary account API key** when you sign up for an account. This key allows you to perform all CRUD operations via Mailgun's API endpoints, and for any of your sending domains. For security purposes, using a new **domain sending key** is recommended over your primary API key. | ||
|
||
## Configuration | ||
|
||
### Create the email configuration | ||
### Create the email config | ||
|
||
```json title="<code>POST api/v1/email/config" | ||
{ | ||
|
@@ -47,7 +47,7 @@ Fidesops currently supports Mailgun for email integrations. Ensure you register | |
|
||
### Add the email configuration secrets | ||
|
||
```json title="<code>POST api/v1/email/config/{{email_config_key}}/secret" | ||
```json title="<code>POST api/v1/email/config/{email_config_key}/secret" | ||
{ | ||
"mailgun_api_key": "nc123849ycnpq98fnu" | ||
} | ||
|
@@ -58,3 +58,102 @@ Fidesops currently supports Mailgun for email integrations. Ensure you register | |
|---|----| | ||
| `mailgun_api_key` | Your Mailgun Domain Sending Key. | | ||
|
||
## Email third-party services | ||
|
||
Once your email server is configured, you can create an email connector to send automatic erasure requests to third-party services. Fidesops will gather details about each collection described in the connector, and send a single email to the service after all collections have been visited. | ||
|
||
!!! Note | ||
Fidesops does not collect confirmation that the erasure was completed by the third party. | ||
|
||
|
||
### Create the connector | ||
|
||
Ensure you have created your [email configuration](#configuration) prior to creating a new email connector. | ||
|
||
```json title="<code>PATCH api/v1/connection</code>" | ||
[ | ||
{ | ||
"name": "Email Connection Config", | ||
"key": "third_party_email_connector", | ||
"connection_type": "email", | ||
"access": "write" | ||
} | ||
] | ||
``` | ||
|
||
| Field | Description | | ||
|----|----| | ||
| `key` | A unique key used to manage your email connector. This is auto-generated from `name` if left blank. Accepted values are alphanumeric, `_`, and `.`. | | ||
| `name` | A unique user-friendly name for your email connector. | | ||
| `connection_type` | Must be `email` to create a new email connector. | | ||
| `access` | Email connectors must be given `write` access in order to send an email. | | ||
|
||
Comment on lines
+84
to
+90
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice formatting here will try to remember this for future docs drafts @conceptualshark There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for catching these - ran through a bit fast 😨 |
||
|
||
### Configure notifications | ||
|
||
Once your email connector is created, configure any outbound email addresses: | ||
|
||
```json title="<code>PUT api/v1/connection/{email_connection_config_key}/secret</code>" | ||
{ | ||
"test_email": "[email protected]", | ||
"to_email": "[email protected] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. missing quote |
||
} | ||
``` | ||
|
||
| Field | Description | | ||
|----|----| | ||
| `{email_connection_config_key}` | The unique key that represents the email connection to use. | | ||
| `to_email` | The user that will be notified via email to complete an erasure request. *Only one `to_email` is supported at this time.* | | ||
| `test_email` | *Optional.* An email to which you have access for verifying your setup. If your email configuration is working, you will receive an email with mock data similar to the one sent to third-party services. | | ||
|
||
### Configure the dataset | ||
|
||
Lastly, configure the collections and fields you would like to request be erased or masked. Fidesops will use these fields to compose an email to the third-party service. | ||
|
||
```json title="<code>PUT api/v1/connection/{email_connection_config_key}/dataset" | ||
[ | ||
{ | ||
"fides_key": "email_dataset", | ||
"name": "Dataset not accessible automatically", | ||
"description": "Third party data - will email to request erasure", | ||
"collections": [ | ||
{ | ||
"name": "daycare_customer", | ||
"fields": [ | ||
{ | ||
"name": "id", | ||
"data_categories": [ | ||
"system.operations" | ||
], | ||
"fidesops_meta": { | ||
"primary_key": true | ||
} | ||
}, | ||
{ | ||
"name": "child_health_concerns", | ||
"data_categories": [ | ||
"user.biometric_health" | ||
] | ||
}, | ||
{ | ||
"name": "user_email", | ||
"data_categories": [ | ||
"user.contact.email" | ||
], | ||
"fidesops_meta": { | ||
"identity": "email" | ||
} | ||
} | ||
] | ||
} | ||
] | ||
} | ||
] | ||
``` | ||
|
||
| Field | Description | | ||
|----|----| | ||
| `fides_key` | A unique key used to manage your email dataset. This is auto-generated from `name` if left blank. Accepted values are alphanumeric, `_`, and `.`. | | ||
| `name` | A unique user-friendly name for your email dataset. | | ||
| `description` | Any additional information used to describe this email dataset. | | ||
| `collections` | Any collections and associated fields belonging to the third party service, similar to a configured fidesops [Dataset](datasets.md). If you do not know the exact data structure of a third party's database, you can configure a single collection with the fields you would like masked. **Note:** A primary key must be specified on each collection. | |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@conceptualshark Sentence doesn't seem complete... "prior to executing a privacy request" or similar?