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

# Mobile SDKs

> Implement authentication flows in native mobile apps using Swift, Kotlin, React Native or Flutter.

You can use Authsignal's [Mobile SDKs](/sdks/client/mobile/setup) to implement authentication flows while crafting your own fully native UI.

<Frame caption="Using Authsignal Mobile SDKs to display native passkey UI on iOS and Android">
  <img src="https://mintcdn.com/authsignal-23/jcWunDvFYQHE34X9/images/docs/passkeys/ios-passkey-example.png?fit=max&auto=format&n=jcWunDvFYQHE34X9&q=85&s=eea7ccf9e5436643170774b43afc2688" className="p-5 w-300" alt="Passkeys on iOS" width="1179" height="2556" data-path="images/docs/passkeys/ios-passkey-example.png" />

  <img src="https://mintcdn.com/authsignal-23/jcWunDvFYQHE34X9/images/docs/passkeys/android-passkey-example.png?fit=max&auto=format&n=jcWunDvFYQHE34X9&q=85&s=a554c01c6a6b6b9c49006702a247b58a" className="p-5 w-300" alt="Passkeys on Android" width="1080" height="2424" data-path="images/docs/passkeys/android-passkey-example.png" />
</Frame>

## Authentication methods

Our Mobile SDKs can be used to implement a variety of authentication methods.

<CardGroup cols={2}>
  <Card title="Passkeys" icon="key" iconType="solid" href="/sdks/client/mobile/passkeys">
    Add passkeys to your mobile app for phishing-resistant passwordless sign-in and step-up
    authentication.
  </Card>

  <Card title="Push verification" icon="mobile" iconType="solid" href="/sdks/client/mobile/push-verification">
    Allow users to sign-in across devices using push notifications and public key cryptography.
  </Card>

  <Card title="QR code verification" icon="qrcode" iconType="solid" href="/sdks/client/mobile/qr-code-verification">
    Allow users to sign-in across devices using QR codes and public key cryptography.
  </Card>

  <Card title="Email OTP" icon="envelope" iconType="solid" href="/sdks/client/mobile/email-otp">
    Send OTPs via email to authenticate users and verify email addresses.
  </Card>

  <Card title="SMS" icon="comment" iconType="solid" href="/sdks/client/mobile/sms">
    Send OTPs via SMS to authenticate users and verify phone numbers.
  </Card>

  <Card title="WhatsApp" icon="square-whatsapp" iconType="solid" href="/sdks/client/mobile/whatsapp">
    Authenticate with OTPs sent via WhatsApp as a cost-saving alternative to traditional SMS.
  </Card>

  <Card title="Authenticator app (TOTP)" icon="mobile-screen-button" iconType="solid" href="/sdks/client/mobile/totp">
    Authenticate with time-based one-time passcodes generated in an authenticator app such as Google
    Authenticator.
  </Card>

  <Card title="In-app verification" icon="mobile" iconType="solid" href="/sdks/client/mobile/in-app-verification">
    Verify users with strong credentials backed by public key cryptography.
  </Card>
</CardGroup>

## Get started

Follow the [SDK documentation](/sdks/client/mobile/setup) on setting up the Mobile SDK for Swift, Kotlin, React Native or Flutter.
