> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corbado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Observe Android SDK

> Install com.corbado:observe and instrument native Android authentication journeys.

`com.corbado:observe` records native authentication telemetry. Your existing authentication code remains responsible for credentials, method execution and sessions.

Early access: the Kotlin API can change between minor releases.

<Steps>
  <Step title="Install">
    Use Android API level 23 or later and enable `mavenCentral()` in your dependency repositories.

    ```kotlin theme={null}
    dependencies {
        implementation("com.corbado:observe:0.1.5")
    }
    ```

    See [Maven Central](https://central.sonatype.com/artifact/com.corbado/observe) for published versions.
  </Step>

  <Step title="Initialize explicitly">
    ```kotlin theme={null}
    import com.corbado.observe.CorbadoObserve
    import com.corbado.observe.ObserveOptions

    val tracker = CorbadoObserve.init(
        context = applicationContext,
        options = ObserveOptions(
            projectId = "<ProjectID>",
            apiBaseUrl = "<APIBaseURL>",
        ),
    )
    ```

    Keep the nullable tracker in your app. Initialization can return `null`; authentication should continue independently. No Observe API key is needed in the app.
  </Step>

  <Step title="Report flow boundaries">
    When the login screen becomes visible:

    ```kotlin theme={null}
    tracker?.flowStarted(flowName = "login", touchpoint = "account")
    ```

    After your identity system confirms a successful login:

    ```kotlin theme={null}
    tracker?.flowFinished("login")
    ```

    Instrument method attempts between those boundaries with typed operation helpers. See the shared [event model](/corbado-observe/tracking/modeling).
  </Step>
</Steps>

## Native capture boundaries

The SDK provides optional autofill observation and operation helpers for credential ceremonies. Your application supplies screen and flow semantics; native capture does not infer the entire login journey. Web-based login components can use [Autocapture](/corbado-observe/get-started/autocapture).

## Runtime controls and verification

```kotlin theme={null}
tracker?.setCollectionEnabled(false)
tracker?.setTransportEnabled(false)
```

Stopping transport alone still allows collection. Configure both controls according to your application's requirements. The SDK batches delivery and can recover queued events after process restart.

The library manifest includes `INTERNET` for transport and `USE_BIOMETRIC` for capability checks. These are normal Android permissions and do not present a runtime permission dialog.

Verify failed attempts, method switches and the eventual outcome in Observe. See [verification](/corbado-observe/get-started/verify).
