Skip to content

Segment

Implementation Summary

Fidesops uses the following Segment endpoints to retrieve and delete Personally Identifiable Information (PII) when processing a Data Subject Request (DSR). Right to Access and Right to Delete (Right to Forget) support for each endpoint is noted below.

Endpoint Right to Access Right to Delete
Users Yes No
Events Yes No
Traits Yes No
External IDs Yes No
Regulations Yes Yes

Connection Settings

Fidesops provides a Postman collection for easily establishing connections to your third party applications. Additional connection instructions may be found in the configuration guide.

Deletion requests are fulfilled by masking PII via UPDATE endpoints. To give fidesops permission to remove PII using DELETE endpoints, ensure the masking_strict variable in your fidesops.toml file is set to false.

Example Segment Configuration

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
saas_config:
  fides_key: segment_connector_example
  name: Segment SaaS Config
  description: A sample schema representing the Segment connector for fidesops
  version: 0.0.1

  connector_params:
    - name: domain
    - name: personas_domain
    - name: workspace
    - name: access_token
    - name: namespace_id
    - name: access_secret


  client_config:
    protocol: https
    host:
      connector_param: domain
    authentication:
      strategy: bearer_authentication
      configuration:
        token:
          connector_param: access_token

  test_request:
    method: GET
    path: /v1beta/workspaces/

  endpoints:
  - name: segment_user
    requests:
      read:
        method: GET
        path: /v1/spaces/<namespace_id>/collections/users/profiles/user_id:<user_id>/metadata
        param_values:
          - name: namespace_id
            connector_param: namespace_id
          - name: user_id
            identity: email
        client_config:
          protocol: https
          host:
            connector_param: personas_domain
          authentication:
            strategy: basic_authentication
            configuration:
              username:
                connector_param: access_secret
  - name: track_events
    requests:
      read:
        method: GET
        path: /v1/spaces/<namespace_id>/collections/users/profiles/<segment_id>/events
        param_values:
          - name: namespace_id
            connector_param: namespace_id
          - name: segment_id
            references:
              - dataset: segment_connector_example
                field: segment_user.segment_id
                direction: from
        data_path: data
        pagination:
          strategy: link
          configuration:
            source: body
            path: cursor.url
        client_config:
          protocol: https
          host:
            connector_param: personas_domain
          authentication:
            strategy: basic_authentication
            configuration:
              username:
                connector_param: access_secret
  - name: traits
    requests:
      read:
        method: GET
        path: /v1/spaces/<namespace_id>/collections/users/profiles/<segment_id>/traits
        query_params:
          - name: limit
            value: 17
        param_values:
          - name: namespace_id
            connector_param: namespace_id
          - name: segment_id
            references:
              - dataset: segment_connector_example
                field: segment_user.segment_id
                direction: from
        data_path: traits
        pagination:
          strategy: link
          configuration:
            source: body
            path: cursor.url
        client_config:
          protocol: https
          host:
            connector_param: personas_domain
          authentication:
            strategy: basic_authentication
            configuration:
              username:
                connector_param: access_secret
  - name: external_ids
    requests:
      read:
        method: GET
        path: /v1/spaces/<namespace_id>/collections/users/profiles/<segment_id>/external_ids
        param_values:
          - name: namespace_id
            connector_param: namespace_id
          - name: segment_id
            references:
              - dataset: segment_connector_example
                field: segment_user.segment_id
                direction: from
        data_path: data
        pagination:
          strategy: link
          configuration:
            source: body
            path: cursor.url
        client_config:
          protocol: https
          host:
            connector_param: personas_domain
          authentication:
            strategy: basic_authentication
            configuration:
              username:
                connector_param: access_secret

  data_protection_request:
    method: POST
    path: /v1beta/workspaces/<workspace_name>/regulations
    headers:
      - name: Content-Type
        value: application/json
    param_values:
      - name: workspace_name
        connector_param: workspace
      - name: user_id
        identity: email
    body: '{"regulation_type": "Suppress_With_Delete", "attributes": {"name": "userId", "values": ["<user_id>"]}}'
    client_config:
      protocol: https
      host:
        connector_param: domain
      authentication:
        strategy: bearer_authentication
        configuration:
          token:
            connector_param: access_token
Back to top