# Introduction to Revolut ID SDK for iOS

Welcome to the **Revolut ID SDK for iOS**, a lightweight tool that lets your iOS application authenticate users with their Revolut account. Our goal is to give merchants a simple, secure way to request user permissions and receive the credentials needed to perform token exchange on the backend.

This SDK allows you to leverage the following features and benefits:

1. **Revolut authentication via OAuth 2.0 with PKCE:** The SDK handles the full authorisation flow — launching the Revolut app or web experience and returning a `code` and `codeVerifier` your backend uses to obtain tokens.
1. **Minimal integration surface:** A single `authorise(scope:completion:)` method covers the entire user-facing flow, keeping your integration lean and easy to maintain.
1. **Secure credential exchange:** The PKCE code-verifier pattern prevents authorisation code interception, ensuring the token exchange between your backend and Revolut's token endpoint is protected.
1. **Sandbox environment for testing:** Swap to `.sandbox` during development to iterate against Revolut's sandbox without affecting production data or requiring a live client ID.
1. **Configurable logging:** Choose from `.none`, `.warning`, or `.error` log levels to get the right level of SDK diagnostics during development and production.

By integrating the Revolut ID SDK into your iOS app, you give your customers a frictionless way to share their Revolut identity with your service — backed by Revolut's secure authentication infrastructure.

:::info
For detailed instructions on how to install and integrate the SDK, see: [Revolut ID SDK for iOS: Integration guide](/docs/sdks/revolut-id-sdk/ios/integration-guide).
:::