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?
- Password
- Passcode
- Passkey
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.
- Security keys
- Authenticator app
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
- Cloud
- Private cloud
- Self-hosted
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.