About this project
Hanko is an open source authentication and user management solution designed to be easy to integrate, framework-agnostic, and built on privacy-first principles such as data minimalism and phishing resistance. The project positions itself as an open source alternative to hosted identity services like Auth0, Clerk, WorkOS and Stytch.
Authentication methods and features
According to the README, Hanko supports email and username identifiers, passwords, passcodes and passkeys, OAuth social sign-in (Apple, Google, GitHub and others), SAML enterprise SSO, custom OIDC/OAuth connections, MFA via TOTP and security keys, server-side sessions with remote session revocation, webhooks, and internationalization with custom translations. Configuration is flexible, including passkey-only and OAuth-only setups and user-deletable passwords. Organizations, roles and permissions are listed as in progress, along with a hanko-menu web component and mobile/native SDKs for iOS, Android, React Native and Flutter.
Architecture
The repository is organized around three main building blocks. The backend is described as a scalable, lightweight authentication API handling passwords, passkeys, email passcodes, OAuth SSO, user and session management, and JWT issuing. Hanko Elements are web components built for that API, providing onboarding, login and user profile functionality that can be customized with CSS. The hanko-frontend-sdk is a client package for the Hanko API and forms the basis of the web components. The repository also contains a quickstart reference application, framework example implementations, and documentation (now moved to a separate repository).
Getting started
Users can try a hosted live example and the companion passkeys.io site, or run the quickstart app locally. Two local options are documented: a bare-metal setup using the backend directly, or Docker via the quickstart Docker Compose configuration, which starts frontend and backend components together. The compose file can be trimmed to run only backend services, and configuration is adjusted through config.yaml. For custom frontends, the frontend SDK can be used directly against the backend API.
Community and licensing
Questions, bug reports and feature requests are handled through GitHub discussions and issues, with a Discord community and an X account for updates. Licensing is split: hanko-elements and hanko-frontend-sdk are MIT licensed, while the rest of the repository, including the backend, is AGPL-3.0, with non-copyleft commercial licensing available on request.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.