Skip to main content
All of Privy’s frontend SDKs let you fully customize authentication to match your app’s brand and user experience. You can implement every authentication flow—including email, SMS, social logins, passkeys, Telegram, and multi-factor authentication (MFA)—with your own UI, while Privy manages security and backend logic.
  • React
  • React Native
  • Swift
  • Android
  • Unity
  • Flutter
All of Privy’s authentication flows can be whitelabeled, from email and SMS passwordless flows to social logins and passkeys.

Email

To whitelabel Privy’s passwordless email flow, use the useLoginWithEmail hook. Then, call sendCode and loginWithCode with the desired email address.
import {useLoginWithEmail} from '@privy-io/react-auth';
const {sendCode, loginWithCode} = useLoginWithEmail();
sendCode({email: '[email protected]'});
loginWithCode({code: '123456'});
Learn more about email authentication and tracking login flow state.
To whitelabel the passwordless SMS flow, use the useLoginWithSms hook. Then, call sendCode and loginWithCode with the desired phone number.
import {useLoginWithSms} from '@privy-io/react-auth';
const {sendCode, loginWithCode} = useLoginWithSms();
sendCode({phoneNumber: '+1234567890'});
loginWithCode({code: '123456'});
Learn more about SMS authentication and tracking login flow state.
To whitelabel social login, use the useLoginWithSocial hook and call initOAuth with your desired social login provider.
import {useLoginWithSocial} from '@privy-io/react-auth';
const {initOAuth} = useLoginWithSocial();
initOAuth({provider: 'google'});
Learn more about social logins and tracking login flow state.
To whitelabel passkeys, use the useLoginWithPasskey hook and call loginWithPasskey.
import {useLoginWithPasskey} from '@privy-io/react-auth';
const {loginWithPasskey} = useLoginWithPasskey();
loginWithPasskey();
To sign up with a passkey:
import {useSignupWithPasskey} from '@privy-io/react-auth';
const {signupWithPasskey} = useSignupWithPasskey();
signupWithPasskey();
Learn more about passkeys and tracking login flow state.
To whitelabel the Telegram login flow, it’s as simple as using the useLoginWithTelegram hook and calling login.
import {useLoginWithTelegram} from '@privy-io/react-auth';
const {login, state} = useLoginWithTelegram();
login();
Learn more about Telegram authentication and tracking login flow state.
To whitelabel MFA with SMS, TOTP, or passkeys, follow the custom UI guide.