# Detour > Detour is an open-source deep linking library: lightweight, developer-first, and free to start, with optional analytics and self-hosting capabilities. Built by Software Mansion for mobile teams using React Native, iOS, Android, and Flutter. ## What Detour does - Resolves **deferred deep links** for mobile apps: preserves the user's intended destination and campaign context across the store-install flow, so first-launch lands on the correct in-app screen. - Resolves **runtime deep links**: iOS Universal Links, Android App Links, and custom scheme links (e.g. `myapp://promo/summer`). - Hosts the required association files on your organization subdomain (`.godetour.link`): - `/.well-known/apple-app-site-association` (AASA) for iOS Universal Links. - `/.well-known/assetlinks.json` for Android App Links. - Supports **custom domains** via HTTP 301/302 redirects (path-based or wildcard) to the organization subdomain. - Provides a dashboard at [godetour.dev](https://godetour.dev) for app config, link settings, link generation/QR codes, short links, key rotation, analytics, and analytics webhooks. - Tracks clicks, installs (organic vs non-organic attribution), fallbacks, and custom SDK events. Three dashboard views: Overview, Links, Events. - Plans to offer **self-hosting** and **SSO** for teams with stricter data privacy and access control requirements (roadmap). ## Matching Detour uses two matching modes for deferred links: - **Deterministic** (preferred, Android): uses `click_id` from Play Install Referrer. Exact lookup. - **Probabilistic** (fallback, iOS): scores device-fingerprint signals (IP, user-agent, model+systemVersion, timezone, screen, locale, optional clipboard token) against recent unmatched clicks. Default threshold `850` (range `700–1200`). Default time window `15 minutes` (range `5–180`). Cross-device clicks (click on device A, install on device B) cannot be matched. iOS Private Relay / VPNs can weaken IP-based scoring — enabling the iOS copy-link feature improves match rates. ## Positioning Most deep linking tools (Branch.io, AppsFlyer) target marketers with developer experience as an afterthought. Detour is built developer-first: open-source SDKs, lightweight, easy to integrate with Expo Router and standard React Native navigation, and free to start. ## SDKs | Platform | Package | Repository | Latest version | | --- | --- | --- | --- | | React Native | `@swmansion/react-native-detour` | github.com/software-mansion-labs/react-native-detour | `2.2.1` | | iOS (Swift) | `Detour` (SwiftPM + CocoaPods) | github.com/software-mansion-labs/ios-detour | `1.1.0` (beta) | | Android (Kotlin) | `com.swmansion.detour:detour-sdk` | github.com/software-mansion-labs/android-detour | `1.1.0` (beta) | | Flutter | `detour_flutter_plugin` | github.com/software-mansion-labs/flutter-detour | `1.2.0` (beta) | ### Requirements - **React Native**: Expo and bare RN supported. Peer deps: `expo-application`, `expo-clipboard`, `expo-constants`, `expo-device`, `expo-localization`, `@react-native-async-storage/async-storage` (optional with custom storage). - **iOS**: iOS 13+, Swift 5.5+. - **Android**: min SDK 21 (Android 5.0+), Kotlin 2.0+, JVM target 11. - **Flutter**: Flutter ≥ 3.3.0, Dart ^3.11.1, Android min SDK 24, iOS 13+. ## Key resources - Marketing site: https://detour.swmansion.com/ - Documentation: https://detour.swmansion.com/docs/ - Dashboard / signup: https://godetour.dev/auth/signup - React Native SDK: https://github.com/software-mansion-labs/react-native-detour - iOS SDK: https://github.com/software-mansion-labs/ios-detour - Android SDK: https://github.com/software-mansion-labs/android-detour - Flutter plugin: https://github.com/software-mansion-labs/flutter-detour - Discord: https://discord.com/invite/tj7uFuymne - Contact: contact@godetour.dev ## Glossary - **Deep link**: A URL that opens a specific screen in a mobile app, but only if the app is already installed. - **Deferred deep link**: A deep link that survives app installation. If the app isn't installed, the link preserves the destination and routes the user there on first open. - **Universal Link (iOS)**: Apple's mechanism for associating a domain with an app so HTTPS URLs open the app directly when it is already installed. - **App Link (Android)**: Google's equivalent of Universal Links for Android, configured via `assetlinks.json`. - **Custom scheme link**: App-defined URL like `myapp://promo/summer`. Opens the app when installed but is not verified by the OS. - **AASA**: Apple App Site Association — the JSON file iOS fetches from your domain to verify Universal Link ownership. - **assetlinks.json**: Digital Asset Links file Android fetches to verify App Link ownership. - **Deterministic matching**: Exact match between click and install using an explicit identifier (e.g. Android Play Install Referrer `click_id`). - **Probabilistic matching**: Best-effort match using a fingerprint of device signals scored against recent unmatched clicks. - **Organization subdomain**: Unique per-organization base for generated links (`.godetour.link`). - **App hash**: Unique per-app segment appended to the organization subdomain (`.godetour.link//...`). - **Organic vs non-organic install**: Non-organic = install attributed to a Detour click; organic = no prior link interaction detected. ## Maintainer Software Mansion — https://swmansion.com/ (GitHub: https://github.com/software-mansion)