Hanko | Modern Authentication. On Your Terms.

Modern Authentication. On Your Terms.

Open Source. Privacy-First. Built to Scale.

Hanko is an open-source authentication and user management platform for modern web and mobile apps. Use it as a developer-friendly alternative to Auth0, Clerk, Firebase Auth, AWS Cognito, or Keycloak, with passkeys, passwords, MFA, SSO, and full control over your deployment. No vendor lock-in, just 'Auth' how it should be: Secure, user friendly, and fully yours.

Enter passcode

Enter the passcode sent to your email address.

1

6

3

4

8

0

Continue

Back

Send new code

<div>
  <h1>Enter passcode</h1>
  <input type="text" placeholder="passcode" name="passcode" />
  <button onSubmit={() => flowstate.actions.verify_passcode.run({ code: passcode })}>Continue</button>
</div>

Select login method

How do you want to login?

Back

<div>
  <h1>Select login method</h1>
  <ul>
    <li><button onSubmit={flowstate.actions.continue_to_password_login}>Password</button></li>
    <li><button onSubmit={flowstate.actions.continue_to_passcode_confirmation}>Passcode</button></li>
    <li><button onSubmit={flowstate.actions.webauthn_generate_request_options}>Passkey</button></li>
    <li><button onSubmit={flowstate.actions.back}>Back</button></li>
  </ul>
</div>

Set up MFA

Protect your account with Multi-Factor Authentication (MFA). MFA adds an additional step to your login process, ensuring that even if your password or email account is compromised, your account stays secure.

Skip

<div>
  <h1>Set up MFA</h1>
  <ul>
    <li><button onSubmit={flowstate.actions.continue_to_security_key_creation}>Security Keys</button></li>
    <li><button onSubmit={flowstate.actions.continue_to_otp_secret_creation}>Authenticator app</button></li>
    <li><button onSubmit={flowstate.actions.skip}>Skip</button></li>
  </ul>
</div>

Create account

Enter your email

Continue

or

Continue with Google

Already have an account?

Login

<div>
  <h1>Create account</h1>
  <div>
    <input type="text" placeholder="Enter your email" name="email" type="email" />
    <button onSubmit={() => flowstate.actions.register_login_identifier.run({ email: email })}>Continue</button>
  </div>
  <div>
    <button onSubmit={() => flowstate.actions.thirdparty_oauth({ provider: "google", redirect_to: window.location.toString()})}>Continue with Google</button>
  </div>
</div>

Sign in

Sign in with a Passkey

Don't have an account?

Create account

<div>
  <h1>Sign in</h1>
  <button onSubmit={() => flowstate.actions.webauthn_generate_request_options}>Continue</button>
</div>

Set up authenticator app

Scan the QR code using your authenticator app (such as Google Authenticator or any other TOTP app). Alternatively, you can manually enter the OTP secret key into the app.

Enter the one-time password (OTP) obtained from your authenticator app below:

2

1

2

0

3

8

Continue

Back

<div>
  <h1>Set up authenticator app</h1>
  <input type="text" placeholder="Enter OTP" name="code" />
  <button onSubmit={() => flowstate.actions.otp_code_verify.run({ otp_code: code })}>Continue</button>
</div>

Build the login flows you need, let Hanko handle the complexity

By offering a wide range of authentication methods and countless combinations of configuration options, Hanko allows you to tailor your onboarding and login flows precisely to your requirements, with the flip of a switch.

Built in Europe. Built for control.

Hanko is developed by a Germany-based team and can be used with EU hosting or self-hosted infrastructure. For teams in Europe, this means more control over user data, authentication infrastructure, and long-term vendor dependency.

For teams outside Europe, it simply means open source authentication with strong privacy and security defaults.

Flexible hosting options

GDPR compliant

Multi-language support

EU hosting options

Use Hanko Elements for fast integration or build your own UI for full control

Hanko Elements are customizable Web Components that provide comprehensive UI for user onboarding, login, and account management, and are compatible with every web app. Hanko's Flow API guides you when building your own authentication frontend if you want full control.

Integrates in minutes, with any web application.

A beautiful login for your application, no matter which framework or platform you use.