Skip to content

Commit 8f09fac

Browse files
Merge pull request segmentio#5342 from segmentio/master
cascading changes from one-off
2 parents 21a4d5c + d64e0f3 commit 8f09fac

File tree

5 files changed

+107
-7
lines changed

5 files changed

+107
-7
lines changed

src/_data/products.yml

+8
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,11 @@ items:
165165
business: true
166166
add-on: false
167167

168+
- product_display_name: HIPAA Eligible Segment
169+
slug: hipaa-eligible
170+
plan-note: "HIPAA eligible workspaces require a Business Assosciate Addendum."
171+
plans:
172+
free: false
173+
team: false
174+
business: true
175+
addon: true

src/_includes/content/connection-modes-intro.md

+9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@ Segment's web source (Analytics.js), and native client-side libraries (iOS, Andr
22

33
- **Cloud-mode**: The sources send data directly to the Segment servers, which then translate it for each connected downstream destination, and send it on. Translation is done on the Segment servers, keeping your page size, method count, and load time small.
44

5+
<div class="premonition info">
6+
<div class="fa fa-info-circle"></div>
7+
<div class="content">
8+
<p class="header">Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destinations</p>
9+
<p> HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud mode destination.
10+
<br>To learn more about data encryption, see the <a href="/docs/privacy/hipaa-eligible-segment/#data-encryption">HIPAA Eligible Segment documentation</a></p>
11+
</div>
12+
</div>
13+
514
- **Device-mode**: You include additional code on your website or mobile app which allows Segment to use the data you collect on the device to make calls directly to the destination tool's API, without sending it to the Segment servers _first_. (You still send your data to the Segment servers, but this occurs asynchronously.) This is also called *wrapping* or *bundling*, and it might be required when the source has to be loaded on the page to work, or loaded directly on the device to function correctly. When you use Analytics.js, you can change the device-mode destinations that a specific source sends from within the Segment web app, without touching any code.
615

716

src/connections/destinations/add-destination.md

+9-5
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22
title: Sending Segment Data to Destinations
33
---
44

5-
You've decided how to format your data, and collected it using [Segment Sources](/docs/connections/sources/). Now what do you do with it? You send the data to Destinations!
5+
You've decided how to format your data, and collected it using [Segment Sources](/docs/connections/sources/). Now what do you do with it? You send the data to Destinations.
66

77
Destinations are tools or services which can use the data sent from Segment to power analytics, marketing, customer outreach, and more.
88

99
> info ""
10-
> Each Segment Workspace has its own set of destinations, which are connected to the workspace's sources. When you add or modify a destination, make sure you're working with the correct workspace!
10+
> Each Segment Workspace has its own set of destinations, which are connected to the workspace's sources. When you add or modify a destination, make sure you're working with the correct workspace.
1111
12+
> info "Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destinations"
13+
> HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud mode destination.
14+
>
15+
> To learn more about data encryption, see the [HIPAA Eligible Segment documentation](/docs/privacy/hipaa-eligible-segment/#data-encryption).
1216
1317
## Adding a destination
1418

@@ -58,21 +62,21 @@ You can use the Segment Public API to add destinations to your workspace using t
5862

5963
Adding a destination can have a few different effects, depending on which sources you set up to collect your data, and how you configured them.
6064

61-
#### Analytics.js
65+
### Analytics.js
6266

6367
If you are using [Segment's JavaScript library, Analytics.js](/docs/connections/sources/catalog/libraries/website/javascript/), then Segment handles any configuration changes you need for you. If you're using Analytics.js in cloud-mode, the library sends its tracking data to the Segment servers, which route it to your destinations. When you change which destinations you send data to, the Segment servers automatically add that destination to the distribution list.
6468

6569
If you're using Analytics.js in device-mode, then Analytics.js serves as a wrapper around additional code used by the individual destinations to run on the user's device. When you add a destination, the Segment servers update a list of destinations that the library queries. When a user next loads your site, Analytics.js checks the list of destinations to load code for, and adds the new destination's code to what it loads. It can take up to 30 minutes for the list to update, due to CDN caching.
6670

6771
You can enable device-mode for some destinations from the destination's Settings page in the Segment web app. You don't need to use the same mode for all destinations in a workspace; some can use device-mode, and some can use cloud-mode.
6872

69-
#### Mobile sources
73+
### Mobile sources
7074

7175
By default, Segment's [mobile sources](/docs/connections/sources/catalog/#mobile) send data to Segment in cloud-mode to help minimize the size of your apps. In cloud-mode the mobile source libraries forward the tracking data to the Segment servers, which route the data to the destinations. Since the Segment servers know which destinations you're using, you don't need to take any action to add destinations to mobile apps using cloud-mode.
7276

7377
However, if the destination you're adding has features that run on the user's device, you might need to update the app to package that destination's SDK with the library. Some destinations require that you package the SDK, and some only offer it
7478

75-
#### Server sources
79+
### Server sources
7680

7781
Segment's [server sources](/docs/connections/sources/catalog/#server) run on your internal app code, and never have access to the user's device. They run in cloud-mode only, and forward their tracking calls to the Segment servers, which forward the data to any destinations you enabled.
7882

src/connections/destinations/destination-filters.md

+5
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ Property-level allowlisting is available with Segment's API. Using destination f
8787

8888
![PII management example](images/destination-filters/pii_example.png)
8989

90+
> info "Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destinations"
91+
> HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud mode destination.
92+
>
93+
> To learn more about data encryption, see the [HIPAA Eligible Segment documentation](/docs/privacy/hipaa-eligible-segment/#data-encryption).
94+
9095
### Control event volume
9196

9297
This example shows a filter that controls event volume by only sending `User Signed Up` and `Demo Requested` events.

src/privacy/hipaa-eligible-segment.md

+76-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
22
title: HIPAA Eligible Segment
3+
plan: hipaa-eligible
34
---
45

56
Segment is a HIPAA eligible platform, and meets the data privacy and security requirements of healthcare customers and their stakeholders. For more information about Segment becoming HIPAA eligible, see the [announcement blog post](http://segment.com/blog/segment-for-healthcare){:target="_blank"}.
67

7-
88
## Business Associate Addendum
99

1010
> info ""
@@ -31,4 +31,78 @@ Data captured in the HIPAA audit logs includes:
3131
- `end_user_id`: Segment sometimes assigns this unique identifier to an end-user, event, audience, or journey, depending on the event type
3232
- `timestamp`: Time in UTC when the action occurred
3333

34-
These logs can be provided upon request. For specific requests, please reach out to [[email protected]](mailto:[email protected]){:target="_blank"}.
34+
These logs can be provided upon request. For specific requests, please reach out to [[email protected]](mailto:[email protected]){:target="_blank"}.
35+
36+
## Data encryption
37+
38+
Segment encrypts the data in select fields [marked as yellow in the Privacy Portal](/docs/privacy/portal/#default-pii-matchers) before sending them to event stream, cloud mode destinations, further supporting HIPAA compliance in your destinations.
39+
40+
> info "Data encryption is currently in public beta"
41+
> Data encryption only supports event-stream, cloud-mode destinations. Only data fields in `context`, `traits`, and `property` objects can be encrypted.
42+
>
43+
> After Segment encrypts the data, the encrypted data value is always a `string`. Any downstream validation that looks for `integer` or `boolean` data types will fail for encrypted values.
44+
45+
### Configure data encryption for a new destination
46+
47+
To configure data encryption while setting up a new destination:
48+
1. From the [Destinations page in the Segment App](https://app.segment.com/goto-my-workspace/destinations/){:target="_blank"}, click **Add destination**.
49+
2. Select a destination from the catalog and click **Configure**.
50+
3. On the destination's overview page, click **Add destination**.
51+
4. On the Select data source page, select the source you want to connect to your destination and click **Next**.
52+
5. On the Setup page, give your destination a name, fill in any optional settings, and select the **Have Segment encrypt sensitive data** checkbox.
53+
6. Open the **Fields** dropdown, select one or more fields you'd like to encrypt and click the **Generate Encryption Keys** button. <br> *If you don't see all of the fields that you want to encrypt, [change the classification of your missing data fields](/docs/privacy/portal/#change-a-recommended-classification) to Yellow in the Privacy Portal*.<br>
54+
7. Securely store your private key. <br> **Note:** Once you finish setting up the destination, you cannot retrieve the key.
55+
8. Click **Create destination**.
56+
57+
> error "Private Key is not recoverable"
58+
> Segment does not save the private key created during the data encryption setup flow, and cannot retrieve the key after you finish setting up your destination. You can generate a new key using the instructions in the [Configure new key pairs](#configure-new-key-pairs) section. Any data encrypted prior to generating a new key pair cannot be decrypted with the new key.
59+
60+
### Configure data encryption for an existing destination
61+
62+
To configure data encryption for an existing destination:
63+
1. Open the [My destinations page](https://app.segment.com/goto-my-workspace/destinations){:target="_blank”} in the Segment app.
64+
2. Select a destination, and click the **Data Encryption** tab.
65+
3. On the Data Encryption page, select the **Have Segment encrypt sensitive data** checkbox.
66+
4. Open the **Fields** dropdown, select one or more fields you'd like to encrypt and click the **Generate Encryption Keys** button. <br> *If you don't see all of the fields that you want to encrypt, [change the classification of your missing data fields](/docs/privacy/portal/#change-a-recommended-classification) to Yellow in the Privacy Portal*.<br>
67+
5. Securely store your private key. <br> **Note:** Once you finish setting up the destination, you cannot retrieve the key.
68+
6. Click **Save**.
69+
70+
> error "Private Key is not recoverable"
71+
> Segment does not save the private key created during the data encryption setup flow, and cannot retrieve the key after you finish setting up your destination. You can generate a new key using the instructions in the [Configure new key pairs](#configure-new-key-pairs) section. Any data encrypted prior to generating a new key pair cannot be decrypted with the new key.
72+
73+
### Configure new key pairs
74+
75+
If you lose access to your private key, you can generate a new key pair in your destination's Data Encryption tab. Any data previously encrypted using the previous key pair is unaffected, but cannot be decrypted using the new key.
76+
77+
To generate a new key pair:
78+
1. Open the [My destinations page](https://app.segment.com/goto-my-workspace/destinations){:target="_blank”} in the Segment app.
79+
2. Select the destination you'd like to create new keys for and click **Data Encryption**.
80+
3. Click **Regenerate Encryption Keys**.
81+
4. Securely store your private key. <br> **Note:** Once you finish setting up the destination, you cannot retrieve the key.
82+
5. Click **Save Changes** to update the key pair.
83+
84+
### Edit encrypted fields
85+
86+
After enabling encryption for a destination, you can add or remove encrypted data fields in your destination's **Data Encryption** tab. All changes made to fields are forward-looking. You may experience some latency between making the changes and having the changes take effect.
87+
88+
To make changes to your selected fields:
89+
1. Open the [My destinations page](https://app.segment.com/goto-my-workspace/destinations){:target="_blank”} in the Segment app.
90+
2. Select the destination you'd like to edit your selected fields for and click **Data Encryption**.
91+
3. Add or remove fields.
92+
- To add fields, click the **Fields** box to open the dropdown and select the fields you'd like to add.
93+
- To remove fields, click the **x** icon next to the name of the field you'd like to remove.
94+
4. Click **Save Changes**.
95+
96+
97+
### Remove encryption
98+
99+
Disabling the data encryption setting removes encryption on all previously configured data.
100+
101+
To remove encryption from incoming data:
102+
1. Open the [My destinations page](https://app.segment.com/goto-my-workspace/destinations){:target="_blank”} in the Segment app.
103+
2. Select a destination, and click **Data Encryption**.
104+
3. On the Data Encryption page, deselect the **Have Segment encrypt sensitive data** checkbox.
105+
4. On the **Turn off data encryption?** popup, click **Confirm**.
106+
107+
> success ""
108+
> Disabling the data encryption setting does not decrypt existing data, but does prevent any future data from being encrypted.

0 commit comments

Comments
 (0)