> ## Documentation Index
> Fetch the complete documentation index at: https://jdev-e8db0569.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install seon_orchestration_flutter in your Flutter project.

## Prerequisites

Before you begin, ensure you have:

* Flutter 3.x or higher
* For iOS: iOS 13 or higher
* For Android: Android SDK 26 (Android 8.0) or higher

## Install the Package

Add the dependency to your `pubspec.yaml`:

```yaml theme={null}
dependencies:
  seon_orchestration_flutter:
    path: ../seon-orchestration-flutter  # or from pub.dev once published
```

Then run:

```bash theme={null}
flutter pub get
```

## Platform Setup

<Tabs>
  <Tab title="iOS">
    ### 1. Install CocoaPods dependencies

    ```bash theme={null}
    cd ios && pod install && cd ..
    ```

    ### 2. Add required permissions to Info.plist

    Add the following keys to `ios/Runner/Info.plist`:

    ```xml theme={null}
    <key>NSCameraUsageDescription</key>
    <string>We need camera access for identity verification</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>We need microphone access for identity verification</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>We need location access for identity verification</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>We need photo library access for identity verification</string>
    ```

    <Warning>Missing any of these keys will cause the app to crash when the SDK requests that permission.</Warning>

    Customize the description strings to match your app's use case.
  </Tab>

  <Tab title="Android">
    ### 1. Add Maven Central repository

    Ensure `mavenCentral()` is in your repositories in `android/build.gradle`:

    ```gradle theme={null}
    allprojects {
        repositories {
            mavenCentral()
            // ... other repositories
        }
    }
    ```

    ### 2. Add required permissions

    Add the following to `android/app/src/main/AndroidManifest.xml`:

    ```xml theme={null}
    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                         android:maxSdkVersion="28" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
                         android:maxSdkVersion="32" />

        <uses-feature
            android:name="android.hardware.camera"
            android:required="true" />
        <uses-feature android:name="android.hardware.camera.autofocus" />

        <application ...>
            <!-- Your app configuration -->
        </application>
    </manifest>
    ```

    <Info>The `uses-feature` declarations affect Google Play Store filtering — devices without a camera will not see your app in the store.</Info>
  </Tab>
</Tabs>

## Next Steps

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/getting-started/quick-start">
    Write your first verification flow
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/initialize">
    Explore the full API documentation
  </Card>
</CardGroup>
