Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/platforms/apple/common/session-replay/customredact.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ notSupported:
</PlatformSection>

<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>
<Alert>
<Alert level="warning">

Before enabling Session Replay in production, verify your masking configuration to ensure no sensitive data is captured. Our default settings aggressively mask potentially sensitive data, but if you modify these settings or update UI frameworks or system SDKs, you must thoroughly test your application. If you find any masking issues or sensitive data that should be masked but isn't, please [create a GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new/choose) and avoid deploying to production with Session Replay enabled until the issue is resolved.

Expand Down Expand Up @@ -124,4 +124,4 @@ struct ContentView_Previews: PreviewProvider {
}
```

</PlatformSection>
</PlatformSection>
24 changes: 24 additions & 0 deletions docs/platforms/apple/common/session-replay/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,30 @@ Before enabling Session Replay in production, verify your masking configuration

</Alert>

<Alert level="warning">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two of the same alert types in a row is pretty distracting. They both also feel rather related. Can we join them together?


<strong>Session Replay is disabled by default on iOS 26.0+ with Xcode 26.0+ to prevent potential PII leaks</strong>

Due to potential masking issues introduced by Apple's Liquid Glass rendering changes in iOS 26.0, Session Replay is now <strong>automatically disabled</strong> on apps running iOS 26.0+ when built with Xcode 26.0 or later starting with Sentry Cocoa <strong>8.57.0</strong>. This is a defensive measure to protect user privacy and prevent potential PII leaks until masking is reliably supported. Earlier SDK versions do not include this safeguard and may be affected by unreliable masking on iOS 26.0 when built with Xcode 26.0 (Liquid Glass). We recommend upgrading to 8.57.0+ or, if you can't upgrade the SDK, disabling Session Replay manually.

Session Replay will work normally if:

- Your app runs on iOS versions prior to 26.0, OR
- Your app is built with Xcode prior to 26.0, OR
- Your app explicitly sets <code>UIDesignRequiresCompatibility</code> to <code>YES</code> in <code>Info.plist</code>

<strong>Override (use with caution):</strong> If you understand the PII risks and want to enable session replay anyway, you can set:

```swift
options.experimental.enableSessionReplayInUnreliableEnvironment = true
```

This experimental override option will be removed in a future minor version once the masking issues are resolved.

Follow the progress on fixing masking for iOS 26.0 (Liquid Glass) in <a href="https://github.com/getsentry/sentry-cocoa/issues/6390">GitHub issue #6390</a>.

</Alert>

[Session Replay](/product/explore/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a reproduction of what was happening in the user's device before, during, and after the issue. You can rewind and replay your application's state and see key user interactions, like taps, swipes, network requests, and console entries, in a single UI.

By default, our Session Replay SDK masks all text content, images, and user input, giving you heightened confidence that no sensitive data will leave the device. To learn more, see [product docs](/product/explore/session-replay/).
Expand Down
22 changes: 22 additions & 0 deletions docs/platforms/apple/common/session-replay/troubleshooting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,28 @@ notSupported:

<PlatformSection notSupported={["apple", "apple.macos", "apple.tvos", "apple.watchos", "apple.visionos"]}>

<Expandable title="Why is Session Replay not running on iOS 26.0?" permalink>

Due to potential masking issues introduced by Apple's Liquid Glass rendering changes in iOS 26.0, Session Replay is now <strong>automatically disabled</strong> on apps running iOS 26.0+ when built with Xcode 26.0 or later starting with Sentry Cocoa <strong>8.57.0</strong>. This is a defensive measure to protect user privacy and prevent potential PII leaks until masking is reliably supported. Earlier SDK versions do not include this safeguard and may be affected by unreliable masking on iOS 26.0 when built with Xcode 26.0 (Liquid Glass). We recommend upgrading to 8.57.0+.

Session Replay will work normally if:

- Your app runs on iOS versions older than 26.0, OR
- Your app is built with Xcode versions older than 26.0, OR
Comment on lines +22 to +27
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

m: We also need to apply the changes from #15201 (comment) and #15201 (comment) here.

- Your app explicitly sets <code>UIDesignRequiresCompatibility</code> to <code>YES</code> in <code>Info.plist</code>

If you understand the PII risks and want to enable Session Replay anyway, you can override this behavior:

```swift
options.experimental.enableSessionReplayInUnreliableEnvironment = true
```

This experimental override option will be removed in a future minor version once the masking issues are resolved.

You can follow the ongoing work to fix masking for iOS 26.0 (Liquid Glass) in <a href="https://github.com/getsentry/sentry-cocoa/issues/6390">GitHub issue #6390</a>.

</Expandable>

<Expandable title="Does Session Replay work with UIKit, SwiftUI or AppKit?" permalink>

Session Replay works with both UIKit and SwiftUI.
Expand Down
Loading