Skip to content

Commit 2e50e39

Browse files
authored
Merge pull request #7900 from segmentio/data-retention-policy
Batch of edits for Data Retention, Apple, and Screen
2 parents 5249045 + 13a1634 commit 2e50e39

File tree

3 files changed

+24
-23
lines changed

3 files changed

+24
-23
lines changed

src/connections/sources/catalog/libraries/mobile/apple/index.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 'Analytics-Swift for iOS & Apple'
2+
title: 'Analytics-Swift for iOS and Apple'
33
strat: swift
44
redirect_from:
55
- '/connections/sources/catalog/cloud-apps/swift/'
@@ -11,33 +11,34 @@ tags:
1111
- swift
1212
- ios
1313
---
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.
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.
1515

1616
> warning ""
1717
> 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/).
1818
1919
## Benefits of Analytics-Swift
2020

2121
Analytics-Swift provides several key benefits including improvements in stability, performance, and developer experience when compared to Analytics iOS (Classic).
22+
2223
### Performance
2324

2425
Analytics-Swift offers improved performance when compared to Analytics iOS:
2526
- Faster event processing and delivery
2627
- Significantly lower CPU usage
27-
- Small memory & disk usage footprint
28+
- Small memory and disk usage footprint
2829

29-
### Developer Experience
30+
### Developer experience
3031

3132
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).
3233

3334
- Ability to use Type Safe data structures rather than just dictionaries.
3435
- Simpler syntax and more developer friendly overall.
3536
- More customization options than ever before.
3637

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.
3940

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.
4142

4243
## Getting started
4344
> info "Multiple Instances"
@@ -50,7 +51,7 @@ To get started with the Analytics-Swift mobile library:
5051
2. Search for **Apple** and click **Add source**.
5152

5253
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:
5455
1. Your package.swift file
5556
2. Xcode
5657
1. Xcode 12: **File > Swift Packages > Add Package Dependency**
@@ -99,10 +100,10 @@ To get started with the Analytics-Swift mobile library:
99100
100101
These are the options you can apply to configure the client:
101102
102-
Option Name | Description
103+
Option name | Description
103104
----------- | ------------
104105
`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.
106107
`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.
107108
`cdnHost` | The default is set to `cdn-settings.segment.com/v1`. <br> This sets a default CDN Host from which Segment retrieves settings.
108109
`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:
111112
`trackApplicationLifecycleEvents`| The default is set to `true`. <br> This automatically tracks lifecycle events. Set to `false` to stop tracking lifecycle events.
112113
113114
> 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.
115116
116117
### Core tracking methods
117118
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
162163
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.
163164
164165
> 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.
166167
167168
## Telemetry
168169
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.

src/connections/spec/screen.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,6 @@ Segment has reserved some properties with semantic meanings and handles them in
9090

9191
Reserved properties that Segment has standardized:
9292

93-
| **Property** | **Type** | **Description** |
93+
| Property | Type | Description |
9494
|--------------|----------|-------------------------------------------------------------|
9595
| `name` | String | Name of the screen. This is reserved for future use. |

src/privacy/data-retention-policy.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
title: Data Retention and Deletion Policy
33
---
44

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.
66

77
Segment enforces a strict data retention policy for all:
88

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.
1313
- **[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.
1414

1515
![A flowchart depicting the progression of active and no longer active customers.](images/data-retention-policy-flowchart.png)
1616

17-
## Effective Date
17+
## Effective date
1818
Segment’s enforcement of this data retention policy for active customers begins on:
1919
- **April 15, 2025** for Object Store data
2020
- **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
6060

6161
With this data retention policy, all data beyond the retention period is unrecoverably deleted from all of Segment and impacts the following:
6262

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.
6464
* Backfill Data is only available for data within the retention period, when sources are connected to your warehouse.
6565
* [Data residency](/docs/guides/regional-segment/) migrations across regions (US and EU) is only available for data within the retention period.
6666
* 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.
6868
* 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.
6969
* [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.
7070
* [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.
7171
* [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.
7373

7474

7575
### What data is not impacted?
@@ -97,7 +97,7 @@ Expired customers will have:
9797

9898
## Contracted customers
9999

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.
101101

102102
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.
103103

0 commit comments

Comments
 (0)