/zitadel

ZITADEL - The best of Auth0 and Keycloak combined. Built for the serverless era.

Primary LanguageGoApache License 2.0Apache-2.0

Zitadel Logo Zitadel Logo

You want auth that's quickly set up like Auth0 but open source like Keycloak? Look no furtherβ€” ZITADEL combines the ease of Auth0 and the versatility of Keycloak.

We provide a wide range of out of the box features like secure login, self-service, OpenID Connect, OAuth2.x, SAML2, branding, Passwordless with FIDO2, OTP, U2F, and an unlimited audit trail to improve the life of developers. Especially noteworthy is that ZITADEL supports not only B2C and B2E scenarios but also B2B. This is super useful for people who build B2B Solutions, as ZITADEL can handle all the delegated user and access management.

With ZITADEL you rely on a battle tested, hardened and extensible turnkey solution to solve all of your authentication and authorization needs. With the unique way of how ZITADEL stores data it gives you an unlimited audit trail which provides a peace of mind for even the harshest audit and analytics requirements.


🏑 Website πŸ’¬ Chat πŸ“‹ Docs πŸ§‘β€πŸ’» Blog πŸ“ž Contact

Get started

ZITADEL Cloud

The easiest way to get started with ZITADEL is to use our public cloud offering. Currently ZITADEL V2 Beta is available, head over to https://zitadel.cloud and create your first ZITADEL instance for free.

You can also discover our pay-as-you-go pricing.

Install ZITADEL

Quickstarts - Integrate your app

If you miss something please feel free to engage with us here

Why ZITADEL

Features

Client libraries

Language Client API Machine auth (*) Auth check (**) Thanks to the maintainers
.NET zitadel-net GRPC βœ”οΈ βœ”οΈ buehler πŸ‘‘
Dart zitadel-dart GRPC βœ”οΈ ❌ buehler πŸ‘‘
Elixir zitadel_api GRPC βœ”οΈ βœ”οΈ jshmrtn πŸ™πŸ»
Go zitadel-go GRPC βœ”οΈ βœ”οΈ ZITADEL
Rust zitadel-rust GRPC βœ”οΈ ❌ buehler πŸ‘‘
JVM 🚧 WIP ❓ ❓ TBD
Python 🚧 WIP ❓ ❓ TBD
Javascript ❓ ❓ ❓ Maybe you?

(*) Automatically authenticate service accounts with JWT Profile.
(**) Automatically check if the access token is valid and claims match

How To Contribute

Details about how to contribute you can find in the Contribution Guide

Contributors

Made with contrib.rocks.

Showcase

Passwordless Login

Use our login widget to allow easy and secure access to your applications and enjoy all the benefits of passwordless (FIDO 2 / WebAuthN):

  • works on all modern platforms, devices, and browsers
  • phishing resistant alternative
  • requires only one gesture by the user
  • easy enrollment of the device during registration

passwordless-windows-hello

Admin Console

Use Console or our APIs to setup organizations, projects and applications.

Register new applications OIDC-Client-Register

Delegate the right to assign roles to another organization projects_create_org_grant

Customize login and console with your design
private_labeling

Usage Data

ZITADEL components send errors and usage data to CAOS Ltd., so that we are able to identify code improvement potential. If you don't want to send this data or don't have an internet connection, pass the global flag --disable-analytics when using zitadelctl. For disabling ingestion for already-running components, execute the takeoff command again with the `` flag.

We try to distinguishing the environments from which events come from. As environment identifier, we enrich the events by the domain you have configured in zitadel.yml, as soon as it's available. When it's not available and you passed the --gitops flag, we defer the environment identifier from your git repository URL.

Besides from errors that don't clearly come from misconfiguration or cli misusage, we send an initial event when any binary is started. This is a " invoked" event along with the flags that are passed to it, except secret values of course.

We only ingest operational data. Your ZITADEL workload data from the IAM application itself is never sent anywhere unless you chose to integrate other systems yourself.

Security

See the policy here

License

See the exact licensing terms here

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.