diff --git a/docs/platforms/apple/guides/ios/session-replay/customredact.mdx b/docs/platforms/apple/common/session-replay/customredact.mdx
similarity index 92%
rename from docs/platforms/apple/guides/ios/session-replay/customredact.mdx
rename to docs/platforms/apple/common/session-replay/customredact.mdx
index a363a5e0f86779..7f2a5276673402 100644
--- a/docs/platforms/apple/guides/ios/session-replay/customredact.mdx
+++ b/docs/platforms/apple/common/session-replay/customredact.mdx
@@ -1,10 +1,21 @@
---
title: Using Custom Masking for Session Replay
sidebar_order: 5501
-notSupported:
description: "Learn how to mask parts of your app's data in Session Replay."
+notSupported:
+ - apple.macos
+ - apple.watchos
+ - apple.tvos
+ - apple.visionos
---
+
+
+
+
+
+
+
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.
@@ -112,3 +123,5 @@ struct ContentView_Previews: PreviewProvider {
}
}
```
+
+
\ No newline at end of file
diff --git a/docs/platforms/apple/guides/ios/session-replay/index.mdx b/docs/platforms/apple/common/session-replay/index.mdx
similarity index 82%
rename from docs/platforms/apple/guides/ios/session-replay/index.mdx
rename to docs/platforms/apple/common/session-replay/index.mdx
index 2f90e4f3f4f984..60246212b65f1f 100644
--- a/docs/platforms/apple/guides/ios/session-replay/index.mdx
+++ b/docs/platforms/apple/common/session-replay/index.mdx
@@ -2,10 +2,18 @@
title: Set Up Session Replay
sidebar_title: Session Replay
sidebar_order: 5500
-notSupported:
description: "Learn how to enable Session Replay in your mobile app."
+notSupported:
---
+
+
+
+
+
+
+
+
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.
@@ -105,24 +113,4 @@ Errors that happen while a replay is running will be linked to the replay, makin
- The replay was deleted by a member of your org.
- There were network errors and the replay wasn't saved.
-## FAQ
-
-Q: **Does Session Replay work with SwiftUI?**
-
-A: Yes. It works with both UIKit and SwiftUI.
-
-Q: **Why are parts of my replay not masked?**
-
-A: Text views, input views, images, video players and webviews are all masked by default. Images with bundled assets aren't masked because the likelihood of these assets containing PII is low. If you encounter a view that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues).
-
-Q: **What's the lowest version of iOS supported?**
-
-A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
-
-Q: **Why is my issue missing a replay?**
-
-A: An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.
-
-Q: **Does Session Replay work on macOS, watchOS, tvOS and visionOS?**
-
-A: We don't actively prevent you from using Session Replay on these platforms, but we only officially support it on iOS. As a consequence, we can't make guarantees about its functionality and performance on other platforms.
+
diff --git a/docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx b/docs/platforms/apple/common/session-replay/performance-overhead.mdx
similarity index 92%
rename from docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx
rename to docs/platforms/apple/common/session-replay/performance-overhead.mdx
index 9ad8bde8ad8e46..169d8d1f275a53 100644
--- a/docs/platforms/apple/guides/ios/session-replay/performance-overhead.mdx
+++ b/docs/platforms/apple/common/session-replay/performance-overhead.mdx
@@ -1,10 +1,22 @@
---
title: Performance Overhead
sidebar_order: 5502
-notSupported:
description: "Learn about how enabling Session Replay impacts the performance of your application."
+notSupported:
+ - apple.macos
+ - apple.watchos
+ - apple.tvos
+ - apple.visionos
---
+
+
+
+
+
+
+
+
If you're considering enabling Session Replay, it's important to first understand the potential performance impact to your app. While accurate metrics require realistic testing where you apply typical access patterns and correlate the results with your business metrics, to provide a baseline, we measured the overhead using the open-source [Pocket Casts](https://github.com/Automattic/pocket-casts-ios) app.
You can learn more about the various performance overhead optimizations implemented in the iOS Replay SDK in the [Replay Performance Overhead](/product/explore/session-replay/mobile/performance-overhead/) docs.
@@ -78,3 +90,5 @@ SentrySDK.start(configureOptions: { options in
The old view renderer will be deprecated and removed in a future release.
+
+
\ No newline at end of file
diff --git a/docs/platforms/apple/guides/ios/session-replay/troubleshooting.mdx b/docs/platforms/apple/common/session-replay/troubleshooting.mdx
similarity index 61%
rename from docs/platforms/apple/guides/ios/session-replay/troubleshooting.mdx
rename to docs/platforms/apple/common/session-replay/troubleshooting.mdx
index 25b529bbf02f6f..195c6425a757fc 100644
--- a/docs/platforms/apple/guides/ios/session-replay/troubleshooting.mdx
+++ b/docs/platforms/apple/common/session-replay/troubleshooting.mdx
@@ -1,10 +1,52 @@
---
title: Troubleshooting
sidebar_order: 5503
-notSupported:
description: "Troubleshoot and resolve common issues with the iOS Session Replay."
+notSupported:
+ - apple.macos
+ - apple.watchos
+ - apple.tvos
+ - apple.visionos
---
+
+
+
+
+
+
+
+
+
+
+Session Replay works with both UIKit and SwiftUI.
+
+
+
+
+
+We don't actively prevent you from using Session Replay on these platforms, but we only officially [support it on iOS](/platforms/apple/guides/ios/session-replay/). As a consequence, we can't make guarantees about its functionality and performance on other platforms.
+
+
+
+
+
+Text views, input views, images, video players and webviews are all masked by default. Images with bundled assets aren't masked because the likelihood of these assets containing PII is low. If you encounter a view that should be masked by default, consider opening a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues).
+
+
+
+
+
+Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
+
+
+
+
+
+An issue may be missing a replay because the user's device was [offline](/product/explore/session-replay/mobile#frequently-asked-questions) while `sessionSampleRate` was specified, your project/organization was rate-limited, or (in rare cases) the device failed to capture the replay video.
+
+
+
Session Replay currently cannot capture content from AVFoundation views and layers. This includes:
@@ -87,3 +129,5 @@ final class SceneDelegate: NSObject, UIWindowSceneDelegate {
```
+
+
diff --git a/includes/apple-session-replay-support-alert.mdx b/includes/apple-session-replay-support-alert.mdx
new file mode 100644
index 00000000000000..d1825c391a3de7
--- /dev/null
+++ b/includes/apple-session-replay-support-alert.mdx
@@ -0,0 +1,5 @@
+
+
+Session Replay is currently officially supported on iOS and works with both UIKit and SwiftUI. Go to the iOS specific docs.
+
+
\ No newline at end of file