# Ithibati v0.6.2 - Table of Contents > Passkey authentication for Elixir applications: accounts, WebAuthn credentials, recovery codes and revocable sessions. It has no opinion about what an account may do. The web half is optional and built for Phoenix. ## GUIDES - Guides - [Ithibati](overview.md) - [Getting started](getting_started.md) - [Configuration and schemas](configuration.md) - [Database behavior](databases.md) - [Registering and signing in](ceremonies.md) - [Passkeys](passkeys.md) - [Invitations and the first account](invitations.md) - [Recovery codes](recovery.md) - Tooling - [Setup checks](doctor.md) - [Credo checks](credo.md) - About - [Changelog](changelog.md) - [Licence](license.md) ## Modules - [Ithibati](Ithibati.md): Passkey authentication for Elixir applications. - [Ithibati.Challenge](Ithibati.Challenge.md): Stores the digest and expiry of an outstanding WebAuthn challenge. - [Ithibati.InvitationMail](Ithibati.InvitationMail.md): Delivers existing invitation links through application-owned content and mailer functions. - [Ithibati.SetupCode](Ithibati.SetupCode.md): Stores the current operator-code digest for a protected first account claim. - Identity - [Ithibati.Identity.Challenges](Ithibati.Identity.Challenges.md): Tracks outstanding challenges in the configured database across application instances. - [Ithibati.Identity.Grant](Ithibati.Identity.Grant.md): Adds an account's first passkey and recovery codes to an application's `Ecto.Multi`. - [Ithibati.Identity.Instance](Ithibati.Identity.Instance.md): Records the one-time claim of an instance by its first account. - [Ithibati.Identity.Invitations](Ithibati.Identity.Invitations.md): Finds, lists and withdraws pending invitations, and composes their acceptance into application transactions. - [Ithibati.Identity.Passkeys](Ithibati.Identity.Passkeys.md): Registers and verifies passkeys and manages an account's stored credentials. - [Ithibati.Identity.RecoveryCodes](Ithibati.Identity.RecoveryCodes.md): Issues and redeems single-use recovery codes for accounts without an available passkey. - [Ithibati.Identity.Sessions](Ithibati.Identity.Sessions.md): Issues, looks up and revokes server-side sessions. - Schemas - [Ithibati.Schema.Identifier](Ithibati.Schema.Identifier.md): Provides identifier normalization and built-in validation patterns. - [Ithibati.Schema.Invitation](Ithibati.Schema.Invitation.md): Adds invitation-token fields and validation to an application-owned schema. - [Ithibati.Schema.User](Ithibati.Schema.User.md): Adds an identifier and credential associations to an application-owned account schema. - Phoenix - [Ithibati.Ceremony](Ithibati.Ceremony.md): Lists the failure-code vocabulary produced by Ithibati's server and browser integration. - [Ithibati.Web.Gate](Ithibati.Web.Gate.md): Loads the current account from a session and optionally requires authentication. - [Ithibati.Web.Handler](Ithibati.Web.Handler.md): Defines the application's decisions during registration, authentication and recovery. - [Ithibati.Web.Hooks](Ithibati.Web.Hooks.md): Exports the passkey browser hook through LiveView's colocated manifest. - [Ithibati.Web.PasskeyController](Ithibati.Web.PasskeyController.md): Handles the JSON endpoints mounted by `Ithibati.Web.Router`. - [Ithibati.Web.Router](Ithibati.Web.Router.md): Mounts registration, authentication and recovery endpoints in a Phoenix router. - Rows this library owns - [Ithibati.Bootstrap](Ithibati.Bootstrap.md): Stores the one-time bootstrap claim and the account that made it. - [Ithibati.RecoveryCode](Ithibati.RecoveryCode.md): Stores a recovery code's digest, account reference and usage timestamp. - [Ithibati.Session](Ithibati.Session.md): Stores a session token's SHA-256 digest, account reference and creation time. - [Ithibati.UserKey](Ithibati.UserKey.md): Stores a passkey's credential ID, serialized public key, label and last-use timestamp. - Setup and tooling - [Ithibati.Catalogue](Ithibati.Catalogue.md): Reads PostgreSQL, SQLite and MySQL table, column and uniqueness metadata. - [Ithibati.Config](Ithibati.Config.md): Reads and validates the application's Ithibati configuration. - [Ithibati.Doctor](Ithibati.Doctor.md): Checks configuration, database state and web integration without changing them. - [Ithibati.Migration](Ithibati.Migration.md): Creates or removes Ithibati's versioned database schema from an application migration. - Credo checks - [Ithibati.Credo.NoDirectTableAccess](Ithibati.Credo.NoDirectTableAccess.md): ## Basics - [Ithibati.Credo.NoInternalCalls](Ithibati.Credo.NoInternalCalls.md): ## Basics - [Ithibati.Credo.NoWaxConfiguration](Ithibati.Credo.NoWaxConfiguration.md): ## Basics ## Mix Tasks - Setup and tooling - [mix ithibati.doctor](Mix.Tasks.Ithibati.Doctor.md): Starts the consuming application, prints setup findings and fails if any check reports an error.