You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Analytics-Swift, you can send data from iOS, tvOS, iPadOS, WatchOS, macOS and Linux applications to any analytics or marketing tool without having to learn, test, or implement a new API every time. Analytics-Swift is compatible with both Swift and Objective-C applications.
14
+
With Analytics-Swift, you can send data from iOS, tvOS, iPadOS, WatchOS, macOS, and Linux applications to any analytics or marketing tool without having to learn, test, or implement a new API every time. Analytics-Swift is compatible with both Swift and Objective-C applications.
15
15
16
16
> warning ""
17
17
> If you're migrating to **Analytics-Swift** from Analytics iOS (Classic), you can skip to the [migration guide](/docs/connections/sources/catalog/libraries/mobile/apple/migration/).
18
18
19
19
## Benefits of Analytics-Swift
20
20
21
21
Analytics-Swift provides several key benefits including improvements in stability, performance, and developer experience when compared to Analytics iOS (Classic).
22
+
22
23
### Performance
23
24
24
25
Analytics-Swift offers improved performance when compared to Analytics iOS:
25
26
- Faster event processing and delivery
26
27
- Significantly lower CPU usage
27
-
- Small memory & disk usage footprint
28
+
- Small memory and disk usage footprint
28
29
29
-
### Developer Experience
30
+
### Developer experience
30
31
31
32
Analytics-Swift adds several improvements to the overall experience of using the core SDK, as well as improvements to the overall [Plugin Architecture](/docs/connections/sources/catalog/libraries/mobile/swift/swift-plugin-architecture).
32
33
33
34
- Ability to use Type Safe data structures rather than just dictionaries.
34
35
- Simpler syntax and more developer friendly overall.
35
36
- More customization options than ever before.
36
37
37
-
### Device Mode Transformations & Filtering
38
-
For the first time ever, developers can filter and transform their users’ events even before the events leave the mobile device. What’s more, these Filters & transformations can be applied dynamically (either through the Segment Dashboard, or Javascript uploaded to the workspace) and do not require any app updates.
38
+
### Device Mode Transformations and Filtering
39
+
For the first time ever, developers can filter and transform their users’ events even before the events leave the mobile device. What’s more, these Filters & transformations can be applied dynamically (either through the Segment Dashboard, or JavaScript uploaded to the workspace) and do not require any app updates.
39
40
40
-
Learn more about [Destination Filters](https://github.com/segmentio/DestinationFilters-swift) on Mobile, and [Edge Functions](https://github.com/segmentio/EdgeFn-Swift) on Mobile.
41
+
Learn more about [Destination Filters](https://github.com/segmentio/DestinationFilters-swift){:target="_blank"} on Mobile, and [Edge Functions](https://github.com/segmentio/EdgeFn-Swift){:target="_blank"} on Mobile.
41
42
42
43
## Getting started
43
44
> info "Multiple Instances"
@@ -50,7 +51,7 @@ To get started with the Analytics-Swift mobile library:
50
51
2. Search for **Apple** and click **Add source**.
51
52
52
53
2. Add the Analytics dependency to your application.
53
-
Add the Swift package, `git@github.com:segmentio/analytics-swift.git` as a dependency through either of these 2 options:
54
+
Add the Swift package, `git@github.com:segmentio/analytics-swift.git` as a dependency through either of these two options:
@@ -99,10 +100,10 @@ To get started with the Analytics-Swift mobile library:
99
100
100
101
These are the options you can apply to configure the client:
101
102
102
-
Option Name | Description
103
+
Option name | Description
103
104
----------- | ------------
104
105
`writeKey` *required* | This is your Segment write key.
105
-
`apiHost` | The default is set to `api.segment.io/v1`. <br> This sets a default API Host to which Segment sends event.
106
+
`apiHost` | The default is set to `api.segment.io/v1`. <br> This sets a default API Host to which Segment sends events.
106
107
`autoAddSegmentDestination` | The default is set to `true`. <br> This automatically adds the Segment Destination plugin. Set to `false` if you want to add plugins to the Segment Destination.
107
108
`cdnHost` | The default is set to `cdn-settings.segment.com/v1`. <br> This sets a default CDN Host from which Segment retrieves settings.
108
109
`defaultSettings`| The default is set to `{}`. <br> This is the settings object used as fallback in case of network failure.
@@ -111,7 +112,7 @@ These are the options you can apply to configure the client:
111
112
`trackApplicationLifecycleEvents`| The default is set to `true`. <br> This automatically tracks lifecycle events. Set to `false` to stop tracking lifecycle events.
112
113
113
114
> info "AppClip Tracking"
114
-
> If you are tracking App Clips using iOS or Swift libraries, you may encounter zeros in your device ID. Segment recommends that you set your own device ID in these instances to avoid this issue.
115
+
> If you are tracking App Clips using iOS or Swift libraries, you may encounter zeros in your device ID. We recommend that you set your own device ID in these instances to avoid this issue.
115
116
116
117
### Core tracking methods
117
118
Once you've installed the Analytics-Swift library, you can start collecting data through Segment's tracking methods:
@@ -162,7 +163,7 @@ Analytics-Swift is built with extensibility in mind. Use the tools list below to
162
163
If you proxy your events through the `apiHost` config option, you must forward the batched events to `https://api.segment.io/v1/b`. The `https://api.segment.io/v1/batch` endpoint is reserved for events arriving from server-side sending, and proxying to that endpoint for your mobile events may result in unexpected behavior.
163
164
164
165
> warning ""
165
-
> If you are using the Analytics iOS (Classic) SDK, you can find [the documentation here](/docs/connections/sources/catalog/libraries/mobile/ios). Many of the features available in the Analytics-Swift SDK are not available in the Analytics iOS (Classic) SDK.
166
+
> If you're using the Analytics iOS (Classic) SDK, you can find [the documentation here](/docs/connections/sources/catalog/libraries/mobile/ios). Many of the features available in the Analytics-Swift SDK aren't available in the Analytics iOS (Classic) SDK.
166
167
167
168
## Telemetry
168
169
The Analytics-Swift SDK collects telemetry data on configuration and usage by default. This includes basic information on SDK setup, plugins and event types used, and basic error details. Segment downsamples the data to minimize traffic and doesn't collect any personally identifiable information (PII) or event data.
Copy file name to clipboardExpand all lines: src/privacy/data-retention-policy.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,19 @@
2
2
title: Data Retention and Deletion Policy
3
3
---
4
4
5
-
Twilio Segment’s Data Retention and Deletion Policy provides clarity, consistency and compliance across all Segment services and brings Segment’s data retention policy in line with industry standards and regulations. By implementing and enforcing this policy, Segment aims to enhance data governance and ensure that Segment customers can manage their data accurately, efficiently and securely within clearly defined retention periods.
5
+
Twilio Segment’s Data Retention and Deletion Policy provides clarity, consistency, and compliance across all Segment services and brings Segment’s data retention policy in line with industry standards and regulations. By implementing and enforcing this policy, Segment aims to enhance data governance and ensure that Segment customers can manage their data accurately, efficiently and securely within clearly defined retention periods.
6
6
7
7
Segment enforces a strict data retention policy for all:
8
8
9
-
-**[Active customers](#active-customers):** A Business or Team Tier customer that has an active Segment contract with no outstanding invoices and no locked workspace, or a Free Tier workspace that has had event traffic or user activity in the past 30 days.
10
-
-**[Expired customers](#expired-customers):** A Business or Team Tier customer that hasn’t renewed their Segment contract and has their workspace downgraded to Free Tier.
11
-
-**[Contracted customers](#contracted-customers):** A Business Tier customer that elects to stop using add-on features like Unify, Unify+, Engage and/or Linked.
12
-
-**[Churned customers](#churned-customers):** A Business or Team Tier customer that has either explicitly terminated the contract or has unpaid invoices and has their workspace fully locked out.
9
+
-**[Active customers](#active-customers)**: A Business or Team Tier customer that has an active Segment contract with no outstanding invoices and no locked workspace, or a Free Tier workspace that has had event traffic or user activity in the past 30 days.
10
+
-**[Expired customers](#expired-customers)**: A Business or Team Tier customer that hasn’t renewed their Segment contract and has their workspace downgraded to Free Tier.
11
+
-**[Contracted customers](#contracted-customers)**: A Business Tier customer that elects to stop using add-on features like Unify, Unify+, Engage and/or Linked.
12
+
-**[Churned customers](#churned-customers)**: A Business or Team Tier customer that has either explicitly terminated the contract or has unpaid invoices and has their workspace fully locked out.
13
13
-**[Unused Free Tier workspace](#unused-free-tier-workspace)**: A workspace on the Free Tier that has not received any Segment event traffic or had any user activity in the last 30 days.
14
14
15
15

16
16
17
-
## Effective Date
17
+
## Effective date
18
18
Segment’s enforcement of this data retention policy for active customers begins on:
19
19
-**April 15, 2025** for Object Store data
20
20
-**August 15, 2025** for Archive event and Profile events data stores
@@ -60,16 +60,16 @@ Select the default retention period for the workspace in this setting. This valu
60
60
61
61
With this data retention policy, all data beyond the retention period is unrecoverably deleted from all of Segment and impacts the following:
62
62
63
-
*[Data Replays](/docs/guides/what-is-replay/) will only be available for data within the retention period. Unify, Engage and Linked customers that replay data to recreate Unify Spaces or Profiles may encounter variations in the number of profiles, as well as in the identifiers, traits and properties associated with the profiles, depending on the data available.
63
+
*[Data Replays](/docs/guides/what-is-replay/) will only be available for data within the retention period. Unify, Engage and Linked customers that replay data to recreate Unify spaces or Profiles may encounter variations in the number of profiles, as well as in the identifiers, traits and properties associated with the profiles, depending on the data available.
64
64
* Backfill Data is only available for data within the retention period, when sources are connected to your warehouse.
65
65
*[Data residency](/docs/guides/regional-segment/) migrations across regions (US and EU) is only available for data within the retention period.
66
66
* Additional impacts to Object data:
67
-
*[Object API](/docs/connections/sources/catalog/libraries/server/object-api/#set) or [Bulk API](/docs/connections/sources/catalog/libraries/server/object-bulk-api/): Object data not updated within the retention period will be deleted. Any new data will treated as a new record and may not contain any historic properties. To prevent loss of data properties, Segment recommends that you always send full objects with all properties.
67
+
*[Object API](/docs/connections/sources/catalog/libraries/server/object-api/#set) or [Bulk API](/docs/connections/sources/catalog/libraries/server/object-bulk-api/): Object data not updated within the retention period will be deleted. Any new data will be treated as a new record and may not contain any historic properties. To prevent loss of data properties, we recommend that you always send full objects with all properties.
68
68
* Users and Accounts: Segment aggregates data from Identify and Group events into [Users and Account objects and tables for warehouse destinations](/docs/connections/storage/warehouses/schema/#warehouse-tables) object store records. Any object store records not updated in the last 180 days will be deleted from Segment's object stores. Any new data after object store records are deleted for inactivity is treated as a new object store record. If the source is connected to a Warehouse destination, object store entities are synced into [`<source>.users` and `<source>.accounts` tables](/docs/connections/storage/warehouses/schema/#warehouse-tables), and the existing record in the warehouse will be replaced with the new object store record, resulting in possible loss of attribute data. To prevent loss of attributes, Segment advises customers to migrate to using [Profiles Sync](/docs/unify/profiles-sync/overview/), always send complete Identify and Group calls, or back up your `<source>.users` and `<source>.accounts` tables.
69
69
*[Computed traits](/docs/unify/Traits/computed-traits/) is built using the available data within the retention period. Recreating these traits may result in different values based on the available data.
70
70
*[Profiles](/docs/unify/), [Engage](/docs/engage/)[Audiences](/docs/engage/audiences/) and [Journeys](/docs/engage/journeys/) that are built using Events will use available data within the retention period. Recreating these may result in different Profiles based on the available data.
71
71
*[Real Time Computation](/docs/engage/audiences/#refresh-real-time-audiences-and-traits) (Audiences, Computed Traits, Journeys): When backfilling with historical data, backfill will use available data within the retention period. Once a computation is live, events that are removed due to data retention will not cause Profiles to enter/exit audiences and will not cause computed trait value changes. However, if you edit the definition or disable then re-enable them, this will cause the computation to re-backfill, which will cause Profiles to enter/exit audiences and computed trait value to change.
72
-
*[Batch Computation](/docs/engage/audiences/#real-time-compute-compared-to-batch) (Audiences, Computed Traits): Batch computation always computes based on available data, events removed due to data retention will cause Profile to enter/exit an Audience or computed trait values to change.
72
+
*[Batch Computation](/docs/engage/audiences/#real-time-compute-compared-to-batch) (Audiences, Computed Traits): Batch computation always computes based on available data, events removed due to data retention will cause a profile to enter/exit an Audience or computed trait values to change.
73
73
74
74
75
75
### What data is not impacted?
@@ -97,7 +97,7 @@ Expired customers will have:
97
97
98
98
## Contracted customers
99
99
100
-
A contracted customer is a Business Tier customer that elects to stop using add-on features like Unify, Unify+, Engage and/or Linked.
100
+
A contracted customer is a Business Tier customer that elects to stop using add-on features like Unify, Unify+, Engage, and/or Linked.
101
101
102
102
Segment enforces a maximum data retention period of up to 90 days for all contracted customers, unless they explicitly request immediate deletion through a [support ticket](/docs/privacy/account-deletion/). All data beyond the retention period is deleted and unrecoverable as described below.
0 commit comments