Website profiles · Technology insights · Alternatives

hanko.io

Open source, privacy-first, and built to scale. Hanko is the fastest way you integrate passkeys, 2FA, SSO, and more, with full control over your data. Move between self-hosted and Hanko Cloud anytime. No lock-in. Just auth how it should be: secure, fast, user friendly, and fully yours.

Paid content
Visit website
Profile views 8 Outbound visits 12 Normal
Hanko Full homepage screenshot

At a glance

Category
Security & Privacy
Language
English
Paid-content signal
Paid contentObserved
Registered
2015
Hosting
CloudflareInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is Hanko?

Hanko is an open-source authentication and user-management platform for web and mobile apps. It handles the parts of login that are tedious to build and risky to get wrong: passkeys, multi-factor authentication (MFA), single sign-on, passcodes and user accounts. Its pitch is control—you can run it yourself or use Hanko Cloud, and move between the two.

H3 What you get

  • Passkey-first login. The page shows a login flow where users choose Password, Passcode or Passkey, and a WebAuthn action is triggered for passkeys.
  • MFA setup. Users can add a security key or an authenticator app, or skip the step.
  • Email and social sign-up. The create-account screen takes an email address or continues with Google.
  • Developer-oriented building blocks. The examples are rendered as HTML with framework-style handlers, which suggests you embed and customize the flow rather than accept a fixed hosted page.

H3 Who it suits A small product team that wants passkeys and MFA without maintaining its own credential database. Also a team with data-residency or compliance constraints that needs to self-host, or that wants to avoid being tied to one vendor. If you have no engineering capacity and just want a plug-in login button, a simpler hosted service may be less work.

H3 Trade-offs to weigh Self-hosting gives you control but makes you responsible for uptime, upgrades and security patching. Hanko Cloud removes that burden but puts your user data in someone else's environment. The page positions Hanko as an alternative to Auth0, Clerk, Firebase Auth, AWS Cognito and Keycloak; compare those on migration effort, passkey support and how easily you can export users. Open source also means you can inspect the code, but it does not by itself guarantee a smooth migration path.

H3 Next step Make a short list of must-haves—passkeys, MFA, SSO, self-hosting, data export—then test the free option against one real login flow. If self-hosting is a hard requirement, confirm the deployment and upgrade process before committing. For a neutral comparison point, see Auth0 and Clerk.

How does Hanko compare to Auth0, Clerk, or Firebase Auth?

Hanko is an open-source authentication and user-management platform that positions itself as a developer-friendly alternative to Auth0, Clerk, Firebase Auth, AWS Cognito, and Keycloak, with an emphasis on data control and avoiding vendor lock-in. Its own page describes the core offering as passkeys, 2FA, SSO, and related flows, with the ability to move between self-hosting and Hanko Cloud. For comparison purposes, the practical differences come down to hosting model, data ownership, and how much of the login UI and logic you want to own.

Where the differences show up

  • Hosting and lock-in: Hanko explicitly supports both self-hosted and cloud deployment, so a team can start managed and later run the stack itself. Auth0, Clerk, and Firebase Auth are primarily managed services; Firebase Auth in particular ties naturally into the wider Firebase ecosystem.
  • Data control: Hanko's "privacy-first" and "fully yours" framing matters most to teams with strict data-residency or compliance needs, or those who dislike user records living entirely with a third party.
  • UI and customization: The page shows prebuilt flows (passcode entry, login-method selection, MFA setup, account creation) rendered as component-like markup, suggesting you can embed and adapt the flows rather than only configure a hosted screen.
  • Ecosystem fit: Firebase Auth is often the path of least resistance if you already use Google's mobile and web tooling. Clerk is commonly chosen for fast React/Next.js integration. Auth0 is a long-standing option with broad enterprise features. Hanko's pitch is strongest when openness and portability outweigh deep platform bundling.

Choosing between them

Pick Hanko when self-hosting, open source, and data ownership are requirements, or when you want passkey and MFA flows without committing to a closed platform. Pick Auth0 or Clerk when speed of managed integration and a polished hosted experience matter more than portability. Pick Firebase Auth when you are already building on Firebase and want authentication to come along with it.

A concrete next step: list your non-negotiables first — must you self-host, must user data stay in a specific region, do you need SSO and passkeys on day one? Then test one real login flow in each candidate. You can review Hanko's own materials at Hanko and compare against Auth0, Clerk, and Firebase.

Can I self-host Hanko or use Hanko Cloud?

Yes. Hanko is designed so you can run it yourself or use its hosted service, and the page explicitly says you can "move between self-hosted and Hanko Cloud anytime."

H3 What that choice looks like in practice

  • Self-hosting means you run the authentication service and keep the user data in your own infrastructure. This suits teams with data-residency, compliance, or internal-infrastructure requirements, or those who already operate their own servers and want no external dependency for login.
  • Hanko Cloud is the managed option: Hanko operates the service, so you avoid provisioning, scaling, and maintaining auth infrastructure. This suits small teams or projects that want passkeys, MFA, and SSO working quickly without an ops burden.
  • The migration path is the selling point. Because the product is open source and the same in both modes, you can start on Cloud and later move to self-hosting (or the reverse) rather than rewriting your auth integration.

H3 How to decide

  1. If you have regulatory or contractual rules about where identity data lives, self-host.
  2. If your team is small and login is not your core product, start on Cloud and revisit later.
  3. If you expect to outgrow a vendor's pricing or terms, the open-source, no-lock-in model is the relevant factor.

H3 A concrete scenario

A two-person startup builds a consumer app and uses Hanko Cloud so passkeys and MFA work on day one. Two years later, an enterprise customer demands that all personal data stay in the company's own cloud region. Because Hanko is open source, the team deploys it self-hosted in that region and migrates, keeping the same integration.

For next steps, check the pricing page for what each mode includes and compare against alternatives such as Auth0 or Keycloak if you are weighing a managed service against a self-run identity stack.

How do I integrate passkeys and 2FA with Hanko?

Hanko is a developer-focused authentication platform that handles passkeys and 2FA as built-in flows rather than features you assemble yourself. You integrate it by embedding its components or SDK into your app, then configuring which login methods (password, passcode, passkey) and second factors (security keys, authenticator apps) are available. The Hanko page shows these as discrete, customizable UI flows: a login-method selector, a passcode entry screen, an MFA setup step, and a registration form with email and Google options.

What the integration covers

  • Passkeys appear as a login method alongside password and passcode, using WebAuthn under the hood (the flow references webauthn_generate_request_options).
  • 2FA/MFA is a separate enrollment step offering security keys or an authenticator app, with a skip option you can disable if you want to enforce it.
  • User management is bundled in, so registration, login and factor enrollment share one user record.

How to approach it

  1. Decide which methods to expose. If you want passkeys as the primary path, keep password as a fallback initially so existing users aren't locked out.
  2. Configure MFA policy: optional (user chooses), or enforced for sensitive accounts.
  3. Wire the flows into your frontend using Hanko's components/SDK, then test on real devices — passkeys behave differently across platforms and browsers.
  4. Choose hosting: self-hosted or Hanko Cloud, with the stated ability to move between them.

Trade-offs to weigh

Consideration Hanko's approach What it means for you
Control Open source, self-host or cloud More operational work if self-hosted
Lock-in Explicitly positioned as low Easier migration later
Scope Auth + user management Fewer separate services to stitch together
Alternatives Positioned against Auth0, Clerk, Firebase Auth, AWS Cognito, Keycloak Compare on pricing and team familiarity

If you're evaluating options, Auth0 and Clerk are the common hosted comparisons; Keycloak is the closest self-hosted alternative. A practical next step: build a throwaway prototype with passkey login plus optional authenticator-app MFA, and test it on both iOS and Android before committing.

Is Hanko free or paid, and what are the pricing tiers?

Hanko is offered as open-source software with a commercial cloud option, so "free or paid" depends on how you run it. The self-hosted version is free to use under its open-source license, while Hanko Cloud is a paid managed service with its own pricing tiers. The site does not publish specific tier prices or limits in the material provided, so check the official Hanko pricing page for current numbers.

H3 What that means in practice

  • Self-hosting: You avoid license fees but take on hosting, upgrades, database, and security operations yourself. This suits teams with infrastructure experience and strict data-residency needs.
  • Hanko Cloud: You pay for convenience, managed uptime, and less operational work. This suits small teams that want passkeys, 2FA, and SSO working quickly without running auth infrastructure.

The advertised benefit is that you can move between self-hosted and cloud without lock-in, which matters if your needs change as you grow.

H3 A concrete decision path If you are building a prototype or a small app and want to validate passkeys and MFA fast, start with the free trial and cloud. If you are in a regulated environment or already run your own infrastructure, evaluate self-hosting first, then compare the operational cost against the cloud tiers on the official pricing page.

How does Hanko ensure privacy and data control?

Hanko's privacy and data-control story rests on three concrete design choices: it is open source, it is self-hostable, and it is built so you can move between your own infrastructure and Hanko Cloud without rewriting your integration. For a team that has to answer a security questionnaire or a data-processing review, those choices matter more than a feature list.

What "your data, your control" means in practice

  • Self-hosting: You can run the authentication service on your own infrastructure, so user records and authentication events stay in your environment rather than a third party's.
  • Open source: The code is inspectable, so a security team can audit how credentials, sessions and passkeys are handled instead of taking a vendor's word for it.
  • No lock-in: The stated aim is that you can move between self-hosted and cloud deployment at any time, which limits the cost of changing your mind later.
  • Privacy-first positioning: Hanko presents itself as a developer-friendly alternative to hosted identity providers such as Auth0, Clerk, Firebase Auth, AWS Cognito or Keycloak, with control over your data as the differentiator.

The product surface shown on the page is the familiar authentication set: passcode and passkey login, password login, multi-factor authentication with security keys or an authenticator app, and account creation with email or Google. Privacy here is mostly about where those flows run and who holds the resulting user data, not about extra privacy features layered on top.

Trade-off to weigh

Self-hosting shifts responsibility to you: patching, uptime, backups and key management become your team's job. A cloud deployment removes that burden but puts data back with a provider. Hanko's pitch is that this is a deployment decision you can revisit, not a one-way door.

Next step

If you are evaluating it, start with the deployment question rather than the feature list: does your compliance regime require user data to stay in your own environment? If yes, plan a self-hosted proof of concept and check the docs for migration between self-hosted and cloud. If no, the cloud option is the faster path. Either way, confirm the specifics against Hanko's own documentation and pricing page, since deployment details and plan limits are the parts most likely to change.

Related questions

More questions →
What Are Open-Source UI Element Libraries and How Do They Differ From UI Frameworks?

An open-source UI element library is a collection of individual, ready-made interface pieces—buttons, cards, inputs, toggles, loaders—that you copy into your own project and adapt. A UI framework, by contrast, is a structured system of components, conventions, and often a theming layer that governs how your whole interface is built. The practical difference: an element library gives you a snippet; a framework gives you a way of working. If you need a polished button in ten minutes, reach for the element library. If you're building a 40-screen product with a team, you probably want the framework.

What "open-source UI element library" actually means

The term gets used loosely, so it helps to separate the parts:

  • Open-source: the code is publicly available, and the license tells you what you may do with it—copy, modify, redistribute, or use commercially.
  • UI element: a single, self-contained piece of interface, usually small enough to read in one sitting. A button with hover states, a pricing card, a search field.
  • Library: a browsable, searchable collection of those elements, typically contributed by many different people.

On a site like Uiverse, elements are shared by a community and written in plain CSS or Tailwind. You find one you like, copy the markup and styles, paste them into your project, and adjust colors, spacing, and text to fit. There's no package to install and no build step required—which is exactly the appeal, and also the source of most of the confusion.

Element library vs. UI framework: the core differences

Dimension Open-source UI element library UI framework / design system
Unit of reuse A single snippet you copy A component you import or call
Installation None; paste into your code Package install, config, sometimes a provider
Consistency Depends on you; each element may look different Enforced by shared tokens and APIs
Theming Manual edits per element Central theme/config file
Updates You own the copy; no upstream updates Version bumps bring fixes and changes
Accessibility Varies per contributor; must be checked Usually tested and documented
Best for Prototypes, landing pages, small sites, one-off needs Multi-page apps, teams, long-lived products
Learning curve Low—read the CSS Higher—learn the API and conventions

The table isn't a verdict. It's a map of trade-offs. Element libraries win on speed and freedom; frameworks win on consistency and maintenance.

Licensing and attribution: what to check before you paste

This is where people get into trouble, and it's worth slowing down for.

  1. Find the license. Every element or collection should state one. Common open-source licenses include MIT, Apache-2.0, and BSD. Some projects use copyleft licenses like GPL, which can impose obligations if you redistribute your code.
  2. Understand what the license permits. MIT and Apache-2.0 are permissive: you can typically use the code in commercial and closed-source projects. Copyleft licenses may require you to release derivative source under the same terms.
  3. Check attribution requirements. Permissive licenses usually require you to keep the copyright notice and license text somewhere in your project. That's a real obligation, not a formality.
  4. Look for per-element terms. On community sites, the site's overall terms and the individual contributor's stated wishes may differ. If a contributor asks for credit, honor it.
  5. When in doubt, ask or avoid. If a snippet has no license at all, you don't have clear permission to reuse it. Treat "no license" as "not open source," even if the code is publicly visible.

This article is general information, not legal advice. For commercial products with real exposure, have someone qualified review the licenses you're relying on.

How to use a community element in your project: a practical workflow

Here's a repeatable process that avoids most of the usual mess.

1. Start from a real need, not a browsing session

Decide what you need first—"a compact primary button with a loading state"—then search. Browsing aimlessly produces a pile of pretty snippets that don't fit together.

2. Copy the smallest version that works

Take the markup and the styles. Strip anything you don't need: demo wrappers, extra animations, decorative layers. Less code means fewer surprises.

3. Convert it to your conventions

If your project uses design tokens or CSS variables, replace hard-coded values:

/* Before: hard-coded */
.button { background: #4f46e5; border-radius: 8px; }

/* After: token-based */
.button { background: var(--color-primary); border-radius: var(--radius-md); }

This one step is what keeps a copied element from looking like a foreign object in your UI.

4. Check accessibility before you ship

Community elements vary widely here. Verify at minimum:

  • Keyboard focus is visible and the element is reachable by Tab.
  • Color contrast meets WCAG AA (4.5:1 for normal text).
  • Interactive elements use semantic HTML (<button>, not a clickable <div>).
  • Form inputs have associated labels.
  • Motion respects prefers-reduced-motion.

5. Test in context

Paste it into a real page with real content. Long labels, small screens, and dark mode break more copied elements than anything else.

6. Note where it came from

Keep a short comment or an internal credits file: source, license, date. Future you—and your legal reviewer—will be grateful.

Where element libraries genuinely shine

  • Prototypes and demos: you need something clickable today, not a design system.
  • Landing pages and marketing sites: a handful of distinctive elements, each custom.
  • Filling gaps: your framework lacks one specific component, and you don't want to build it from scratch.
  • Learning: reading well-made CSS is one of the fastest ways to improve.
  • Small projects: a personal site doesn't need a theming architecture.

Where they fall short

  • Consistency at scale: ten elements from ten contributors rarely look like one product.
  • Maintenance: you own every copy. When your design changes, you edit each one.
  • Accessibility debt: you inherit whatever the contributor did or didn't do.
  • No upstream fixes: a bug fixed in the original won't reach your copy.
  • Integration friction: different naming conventions, different units, different assumptions about resets.

When to choose which

Choose an element library when the scope is small, the timeline is short, or you need a few distinctive pieces rather than a whole system.

Choose a framework or design system when multiple people build multiple screens over months, when consistency is a product requirement, or when accessibility and theming need to be guaranteed rather than checked.

A hybrid works well for many teams: adopt a framework for the structural components—forms, navigation, layout—and borrow individual elements for the places where you want personality. Just route every borrowed element through the same token and accessibility checks, so it lands as part of your system rather than beside it.

The short version: open-source UI element libraries are a fast, flexible way to get good-looking interface pieces into a project. They are not a substitute for a design system, and the license and accessibility details are the part worth reading carefully.

How Does Hanko Compare to Auth0, Clerk, Firebase Auth, AWS Cognito, and Keycloak?

Hanko positions itself as an open-source, privacy-first authentication and user management platform for modern apps, and explicitly markets itself as a developer-friendly alternative to Auth0, Clerk, Firebase Auth, AWS Cognito, and Keycloak. The practical difference it emphasizes is control: you can move between self-hosted and Hanko Cloud at any time, with no vendor lock-in, and you keep full control over your data. If your selection criteria are "open source, data ownership, and the ability to leave without a rewrite," Hanko is built around exactly those. If you need a mature managed ecosystem with the broadest integration catalog, the incumbents still have more surface area to check.

The comparison at a glance

Dimension Hanko Auth0 / Clerk / Firebase Auth / AWS Cognito / Keycloak
Source model Open source Mostly proprietary managed services; Keycloak is open source
Data control Full control over your data, per Hanko's positioning Varies; managed services typically hold identity data in their cloud
Deployment flexibility Move between self-hosted and Hanko Cloud anytime Keycloak is self-hosted; the managed services are cloud-only
Lock-in Explicitly "no lock-in" Managed services carry migration cost; Keycloak does not
Modern auth methods Passkeys, 2FA, SSO, and more All support comparable methods, with different depth per product
Positioning Developer-friendly alternative to the above Established platforms with large ecosystems

The table reflects how Hanko describes itself. Treat the incumbent column as directional rather than a feature-by-feature audit — verify each capability against the specific vendor's current docs before deciding.

Where Hanko's differences actually matter

Open source and data ownership

Hanko's core claim is that it is open source and privacy-first, with full control over your data. For teams in regulated industries, or teams whose customers ask where identity data lives, that is a structural difference rather than a feature checkbox. With most managed identity providers, your user records live in the vendor's cloud; with Hanko, self-hosting puts them in your infrastructure.

No lock-in, and switching between self-hosted and cloud

The stated ability to "move between self-hosted and Hanko Cloud anytime" is the most concrete anti-lock-in argument. It means the deployment decision is not permanent: you can start on Hanko Cloud and migrate to self-hosted (or the reverse) without changing your auth model. Compare that to a managed-only provider, where leaving means exporting users and re-integrating a different SDK.

Modern authentication methods

Hanko supports passkeys, 2FA, and SSO. The product surface shown in its own UI flows includes:

  • Passcode login — enter a code sent to your email address, with a resend option.
  • Login method selection — password, passcode, or passkey.
  • MFA setup — security keys or an authenticator app, with a skip option.
  • Account creation — email, or continue with Google.
  • Sign in — the standard entry point.

These are the flows your users actually see, which makes them a fair proxy for what "supported" means in practice.

How to choose

Use the following conditions rather than a single winner:

  • Choose Hanko if open source, data control, and avoiding lock-in are your top criteria, and you want the option to self-host or use the cloud without committing permanently.
  • Choose a managed incumbent if you want the largest integration ecosystem and are comfortable with identity data living in a vendor cloud.
  • Choose Keycloak if you specifically want an open-source, self-hosted option and are prepared to operate it yourself — it is the closest philosophical match to Hanko in this list, but Hanko's differentiator is the cloud/self-hosted portability and its modern passkey-first flows.

What to verify before committing

Hanko's own page states "Try Hanko for free" with "No credit card required," and links to a pricing page. Pricing tiers, limits, and any paid-plan terms are not specified in the material available here, so check the pricing page directly for current numbers.

Before deciding, confirm:

  1. Which auth methods you need (passkeys, 2FA, SSO) and whether Hanko's flows cover your exact requirements.
  2. Your deployment target — self-hosted, Hanko Cloud, or both over time.
  3. Migration path: how you would export users and move off, and how you would move between self-hosted and cloud.
  4. Current pricing and any usage limits on the pricing page.

The honest summary: Hanko competes on openness, data control, and portability rather than on having the largest ecosystem. If those three things are your selection criteria, it is a direct fit; if ecosystem breadth is, compare carefully against the specific incumbent you are considering.

Which authentication methods does Hanko support?

Hanko supports password, one-time passcode, and passkey login, plus multi-factor authentication (MFA) with security keys or an authenticator app. Account creation accepts email or Google sign-in. These methods are delivered as embeddable UI components driven by flow-state actions, so you can pick the combination that matches your app's login requirements.

Login methods

The sign-in flow presents a method selection screen ("Select login method") with three options:

Method How it works What the user does
Password Standard credential login Enters email and password
Passcode One-time code sent to the user's email address Enters the code, with an option to send a new one
Passkey WebAuthn-based authentication Completes the browser/device passkey prompt

The passcode screen shows the expected interaction directly: a passcode input, a continue action, and a "Send new code" fallback. The passkey path is triggered by a WebAuthn request-options action, which is what initiates the device's native passkey ceremony.

Multi-factor authentication

MFA is offered as an additional step after the primary login. The setup screen explains the purpose plainly: it adds a step so that even if a password or email account is compromised, the account stays protected. Two second factors are available:

  • Security keys — hardware-backed WebAuthn credentials
  • Authenticator app — an OTP secret enrolled into a TOTP app

The MFA screen also includes a Skip option, so MFA enrollment is not forced at that point in the flow.

Registration and account creation

The create-account screen asks for an email address and offers a Continue with Google alternative. Existing users are routed to login from the same screen. This means a new user can start with either an email-based flow or a Google account, and the email path then connects to whichever login method they choose.

How these methods are wired into your app

Hanko exposes these flows as components with named actions rather than fixed pages. The evidence shows the pattern:

  • A passcode verification action runs with the entered code: flowstate.actions.verify_passcode.run({ code: passcode })
  • Method selection dispatches to distinct actions, e.g. continue_to_password_login, continue_to_passcode_confirmation, and webauthn_generate_request_options
  • MFA setup dispatches to continue_to_security_key_creation or continue_to_otp_secret_creation, with skip as the opt-out

Because each step is an action, you can present the methods you want and omit the rest, rather than being locked into one login screen.

What this means for your decision

If your requirement is a modern, phishing-resistant login, the passkey and security-key paths cover it. If you need a low-friction option for users without passkeys, passcode and password are available. If you need a second factor for sensitive accounts, MFA with authenticator apps or security keys is supported, and you can leave it optional.

One caveat: the page evidence describes the available methods and their flow actions, but it does not state default policies such as whether MFA can be enforced for all users or how method availability is configured per project. Confirm those specifics against Hanko's documentation before committing to a rollout plan.

Can Hanko Be Self-Hosted and Does It Avoid Vendor Lock-In?

Yes. Hanko is described as an open-source, privacy-first authentication and user management platform, and its own materials state that you can "move between self-hosted and Hanko Cloud anytime" with "no lock-in." That combination — open source plus a stated ability to migrate between deployment models — is the core of its anti-lock-in positioning. The practical caveat: "no lock-in" is a vendor claim, so the real answer depends on how much operational work you're willing to take on and how you verify the migration path yourself.

What Hanko actually is

Hanko is an authentication and user management platform for modern apps. Its site positions it as a developer-friendly alternative to Auth0, Clerk, Firebase Auth, AWS Cognito, and Keycloak. The stated design goals are:

  • Open source — the code is available, which is what makes self-hosting possible in the first place.
  • Privacy-first — you retain control over your data rather than handing it to a third party by default.
  • Built to scale — intended for production apps, not just demos.
  • Full control over your data — the recurring theme across its messaging.

The tagline "Modern Authentication. On Your Terms." and the phrase "fully yours" reinforce that the value proposition is control, not just feature count.

Self-hosting: what it means here

Self-hosting means running the authentication stack on infrastructure you control, so user records, credentials, and session data stay in your environment. For Hanko, the relevant facts from its own materials are:

  • It is open source, which is the prerequisite for self-hosting.
  • The site explicitly supports moving between self-hosted and Hanko Cloud.
  • Data control is framed as a first-class feature, not an add-on.

Who should care about self-hosting

Situation Why self-hosting matters
Data sovereignty or residency requirements User data stays on infrastructure you choose
Internal compliance review You can inspect and control the auth layer directly
Cost or scaling predictability You manage the infrastructure rather than paying per-user/per-MAU
Avoiding dependency on a single vendor's uptime Auth keeps running on your own systems

If none of those apply and you'd rather not run auth infrastructure, Hanko Cloud is the managed counterpart — and the stated ability to move between the two is what's meant to prevent you from being stuck either way.

Does it avoid vendor lock-in?

The claim is explicit: "No lock-in. Just auth how it should be." Two mechanisms support it:

  1. Open source — you can run the software yourself, so you are not dependent on the vendor continuing to exist or continuing to offer acceptable terms.
  2. Portability between self-hosted and cloud — the site says you can move between the two "anytime," which is the migration path that lock-in usually removes.

How to treat this claim

"No lock-in" is a marketing statement, and the honest way to evaluate it is to test the exit before you commit:

  • Confirm the license terms and what they permit for your use case.
  • Verify the migration path between self-hosted and cloud in the docs, not just the homepage.
  • Check whether your user data and configuration export cleanly.
  • Decide in advance which deployment model you'd fall back to.

If those checks pass for your team, the lock-in risk is materially lower than with a closed-source auth provider. If you can't verify them, treat the claim as unproven for your purposes.

What you get in the product

Beyond deployment flexibility, Hanko covers the authentication methods modern apps expect. From its own interface flows, the supported methods include:

  • Passkeys (WebAuthn) — the site leads with passkey support and a Passkey API.
  • Passcodes — one-time codes sent to email.
  • Password login.
  • MFA — with security keys or an authenticator app.
  • SSO — listed among the methods it helps you integrate.
  • Social sign-in — the account creation flow shows "Continue with Google."

The UI flows shown on the site (enter passcode, select login method, set up MFA, create account, sign in) are built from components you can wire into your own app, which is consistent with the "developer-friendly" positioning.

How to decide

Choose self-hosted Hanko if you have data residency or compliance constraints, want to own the auth layer, or want to avoid per-user pricing exposure — and you have the engineering capacity to run and maintain it.

Choose Hanko Cloud if you want the same platform without operating it yourself, and you're comfortable relying on the stated ability to migrate to self-hosting later.

Look elsewhere if you need a fully managed, zero-ops auth service with no self-hosting option at all, or if you can't verify the migration and export paths for your specific requirements.

The deciding factor isn't the feature list — it's whether you can actually exercise the exit. Open source makes that possible in principle; the migration path makes it possible in practice. Verify both against your own stack before committing.

What Is Hanko and What Does It Do?

Hanko is an open-source authentication and user management platform for modern applications. It gives developers a way to add passkeys, multi-factor authentication (MFA), SSO, and other login methods to an app while keeping control over user data. It is positioned as a developer-friendly alternative to Auth0, Clerk, Firebase Auth, AWS Cognito, or Keycloak, and it supports moving between self-hosted and Hanko Cloud deployments without vendor lock-in.

What problem Hanko solves

Most apps need the same core auth capabilities: account creation, sign-in, session handling, and stronger security options like MFA. Building these from scratch is slow and easy to get wrong, while adopting a hosted auth provider can mean handing over user data and accepting long-term lock-in.

Hanko targets that trade-off. It provides ready-made authentication flows and a user management layer, but keeps the deployment model flexible. According to its site, it is "open source, privacy-first, and built to scale," with "full control over your data."

Core capabilities

Based on the product pages and interface examples, Hanko covers:

  • Multiple login methods — password, passcode (a one-time code sent to email), and passkey (WebAuthn).
  • MFA setup — users can protect accounts with security keys or an authenticator app, or skip the step.
  • Account creation and sign-in — email-based registration, plus "Continue with Google" as a social option.
  • User management — the platform handles users alongside authentication, not just login.
  • SSO — listed among the supported methods in the product description.

The interface examples show these as discrete, composable steps. For instance, a "Select login method" screen offers Password, Passcode, and Passkey as separate actions, and an MFA screen offers Security Keys, Authenticator app, or Skip.

How it fits into an app

Hanko exposes authentication as flows that your frontend can call. The page evidence shows component-style markup where a button triggers an action, such as verifying a passcode:

<button onSubmit={() => flowstate.actions.verify_passcode.run({ code: passcode })}>
  Continue
</button>

This suggests the model: you render your own UI, and Hanko handles the underlying auth logic and state. That is different from a drop-in hosted login page — it gives you control over the look and feel while Hanko manages the security-critical parts.

Self-hosted vs. Hanko Cloud

Hanko's stated design allows you to "move between self-hosted and Hanko Cloud anytime." In practice this means:

Consideration Self-hosted Hanko Cloud
Data control You manage everything Managed by Hanko
Operational effort You run and maintain it Handled for you
Migration Can move to Cloud Can move to self-hosted

The key claim is that neither choice traps you. If you start self-hosted and later want managed infrastructure, or the reverse, the platform is built to allow that switch.

Who Hanko is for

Hanko suits developers and teams who:

  • Want passkeys, MFA, and SSO without building them from scratch.
  • Care about data ownership and avoiding vendor lock-in.
  • Prefer to control their own UI rather than use a fully hosted login page.
  • Are evaluating Auth0, Clerk, Firebase Auth, AWS Cognito, or Keycloak as alternatives.

It is less relevant if you want a completely no-code auth solution or have no interest in managing any part of the authentication stack.

Trying it

The site offers a free trial with no credit card required, and a "Talk to us" option for teams that want to discuss their setup. Pricing details are available on the pricing page; the free-trial note does not by itself confirm what paid tiers include, so check that page for current terms.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality.

Domain and Registration

Registered in 2015, this domain has about 11 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Gandi SAS, a widely used domain service provider. The domain uses the common .io extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Amazon Route 53, indicating managed DNS hosting. MX records point to the Google Workspace email service. SPF and DMARC are configured. DKIM status is unknown. TXT records include verification markers for Apple, Microsoft. Such markers may also remain after a service stops being used. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: X-Content-Type-Options, Referrer-Policy, Permissions-Policy. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers. The Server header identifies cloudflare without an exact version.

Technology Stack Analysis

The public page identifies Webflow, Cloudflare without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

The meta description has 286 characters and may be shortened in search results. Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 45 characters, within a common display range. The observed directives allow indexing and link following.

Hosting and Email

DNSAmazon Route 53
HostingCloudflare
EmailGoogle Workspace
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) United States flagUnited States Inferred 198.202.211.1

Registration details

RDAP / WHOIS

RegistrarGandi SAS
Registered2015-06-03
Expires2027-06-03
Domain statusclientTransferProhibited https://icann.org/epp#clientTransferProhibited
Nameserversns-1242.awsdns-27.org、ns-149.awsdns-18.com、ns-1746.awsdns-26.co.uk、ns-910.awsdns-49.net
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Acdn.webflow.com198.202.211.1300—
AAAAcdn.webflow.com2620:cb:2000::1300—
MXhanko.ioaspmx.l.google.com36001
MXhanko.ioalt1.aspmx.l.google.com36005
MXhanko.ioalt2.aspmx.l.google.com36005
MXhanko.ioalt3.aspmx.l.google.com360010
MXhanko.ioalt4.aspmx.l.google.com360010
NShanko.ions-1242.awsdns-27.org172800—
NShanko.ions-149.awsdns-18.com172800—
NShanko.ions-1746.awsdns-26.co.uk172800—
NShanko.ions-910.awsdns-49.net172800—
TXThanko.ioMS=ms907289713600—
TXThanko.ioapple-domain-verification=9DHPgQoZZ1uJBMos3600—
TXThanko.iocompai-domain-verification=org_68b5aa42d7b241622857bdc83600—
TXThanko.iod3urwd2dv9z0qm.cloudfront.net3600—
TXThanko.iov=spf1 include:_spf.google.com ~all3600—
CNAMEwww.hanko.iocdn.webflow.com300—
DMARC_dmarc.hanko.iov=DMARC1; p=reject; pct=100; rua=mailto:[email protected]; ri=86400;300—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectwww.hanko.io
IssuerGoogle Trust Services
Valid until2026-11-10T00:05 · Remaining when checked: 40 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
servercloudflare
strict-transport-securitymax-age=31536000
content-security-policyframe-ancestors 'self'
x-frame-optionsSAMEORIGIN

Identified technologies

WebflowCloudflare

Pages, Search and Sharing

Meta descriptionOpen source, privacy-first, and built to scale. Hanko is the fastest way you integrate passkeys, 2FA, SSO, and more, with full control over your data. Move between self-hosted and Hanko Cloud anytime. No lock-in. Just auth how it should be: secure, fast, user friendly, and fully yours.
Canonical URLhttps://www.hanko.io
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 0 allowed · 0 disallowed

User reviews (0)

  • No reviews yet.