# Custom Storage

In iOS SDK `1.0.2`, custom storage injection is not exposed in public API.

SDK uses internal `UserDefaults` keys for:

- first-entrance flag: `DetourFirstEntranceFlag`
- analytics device ID: `Detour_deviceId`

## What this means in practice

- You cannot pass a custom storage adapter in `DetourConfig` in `1.0.2`.
- Data persists across app restarts automatically through `UserDefaults`.
- For testing deferred flow repeatedly, use:

```swift
Detour.shared.resetSession(allowDeferredRetry: true)
```

This resets in-memory session guard and clears first-entrance state used by deferred matching.

## Related pages

- [Usage](https://detour.swmansion.com/docs/sdk/ios/sdk-usage)
- [API Reference](https://detour.swmansion.com/docs/sdk/ios/api-reference)
- [Testing & Troubleshooting](https://detour.swmansion.com/docs/sdk/ios/testing)