# phoenix_kit v2.63.0 - Table of Contents

> A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more

## Pages

- [PhoenixKit — A Foundation for Building Your Elixir Phoenix Apps](readme-1.md)

- Guides
  - [PhoenixKit Integration Guide](integration.md)
  - [OAuth &amp; Magic Link Setup](oauth-and-magic-link-setup.md)
  - [AWS Email Setup Guide](aws-email-setup.md)
  - [Making Pages Live: Real-time Updates &amp; Collaborative Editing](making-pages-live.md)
  - [.phk Publishing Format (Current Implementation)](phk-publishing-format.md)
  - [Phoenix Kit Authentication Header Integration Guide](auth-header-integration.md)
  - [Draggable List Component](draggable-list-component.md)
  - [PhoenixKit Development Guides](readme-2.md)
  - [Custom Admin Pages](custom-admin-pages.md)
  - [Locale Routing: the Language Lives in the URL](locale-routing.md)
  - [Per-Module i18n with Gettext](per-module-i18n.md)
  - [Customizing emails with template files](email-templates.md)
  - [PhoenixKit Admin Navigation System](admin_readme.md)

## Modules

- [PhoenixKit](PhoenixKit.md): PhoenixKit

- [PhoenixKit.API.Access](PhoenixKit.API.Access.md): The rights of a person behind an admin page, read again from the database.
- [PhoenixKit.API.Actor](PhoenixKit.API.Actor.md): Who is calling the API: a key (with its owner and effective scopes) or an anonymous public
caller.
- [PhoenixKit.API.Approvals](PhoenixKit.API.Approvals.md): The approval queue of dangerous API operations (the approval path of the dangerous-operation flow): the calls of a key
marked "requires approval" that would be dangerous wait here for a person.
- [PhoenixKit.API.Approvals.Notifier](PhoenixKit.API.Approvals.Notifier.md): The "approval waiting" notice: when an approval is queued, those who may
decide it get an in-app notification, **at most one per API key per ten minutes**,
and an unread one is refreshed instead of repeated.
- [PhoenixKit.API.Auth](PhoenixKit.API.Auth.md): Plug that admits a request to the shop API: steps 1 to 3 of the request
flow (API switch, refusal of a credential in the URL, authentication;
`PhoenixKit.API.Executor` runs the rest). The order below is the order of
the code.
- [PhoenixKit.API.BodyGuard](PhoenixKit.API.BodyGuard.md): Endpoint plug that bounds and parses the body of API requests and
normalises the percent-encoded prefix of an API path (see "Encoded segments
of the path" below).
- [PhoenixKit.API.Canonical](PhoenixKit.API.Canonical.md): The canonical form of a tool's arguments, and the hash that binds a confirmation
code, an approval and an idempotency key to a request.
- [PhoenixKit.API.Config](PhoenixKit.API.Config.md): Settings accessors for the shop API.
- [PhoenixKit.API.Confirm](PhoenixKit.API.Confirm.md): Confirmation codes of dangerous API operations, and the helpers the approval queue
shares.
- [PhoenixKit.API.Confirm.Token](PhoenixKit.API.Confirm.Token.md): The confirmation code string of a dangerous API operation: `ct_<row uuid>_<mac>`.
- [PhoenixKit.API.ControlFields](PhoenixKit.API.ControlFields.md): The fields the executor adds to the input of every write tool:
modules never declare them.
- [PhoenixKit.API.CoreTools](PhoenixKit.API.CoreTools.md): The tools core itself provides, in the `system` namespace.
- [PhoenixKit.API.Executor](PhoenixKit.API.Executor.md): The request flow of the shop API: what happens between "this key is
authentic" and "here is the response".
- [PhoenixKit.API.Flow](PhoenixKit.API.Flow.md): Steps 7 and 8 of the request flow, written as small functions over the
executor's request state so `PhoenixKit.API.Executor.execute/4` stays a plain chain
- [PhoenixKit.API.FlowConfig](PhoenixKit.API.FlowConfig.md): Settings of the dangerous-operation flow of the shop API: when an operation needs
a confirmation, how long a code, an approval and a stored idempotent answer live.
- [PhoenixKit.API.Idempotency](PhoenixKit.API.Idempotency.md): Idempotent writes for the shop API: a client that retries a request with
the same `Idempotency-Key` gets the first answer back, and never a second write.
- [PhoenixKit.API.Keys](PhoenixKit.API.Keys.md): API keys: creating, verifying, revoking and rotating the bearer tokens of the
admin API.
- [PhoenixKit.API.Keys.CIDR](PhoenixKit.API.Keys.CIDR.md): The IP allow-list of an API key: a list of CIDR blocks stored as text.
- [PhoenixKit.API.Keys.Cache](PhoenixKit.API.Keys.Cache.md): A 60 second cache of API key rows, keyed by token prefix.
- [PhoenixKit.API.Keys.DisplayToken](PhoenixKit.API.Keys.DisplayToken.md): A one-time token held by the Settings LiveView. Inspection redacts its value so
LiveView termination reports cannot print it; HTML rendering still shows it once.

- [PhoenixKit.API.Keys.Token](PhoenixKit.API.Keys.Token.md): The API key token format: `pk_<prefix>_<secret>`.
- [PhoenixKit.API.LogSafe](PhoenixKit.API.LogSafe.md): What the API may write to the server log about a term that came from a
request or from code that handled one.
- [PhoenixKit.API.MCP](PhoenixKit.API.MCP.md): The MCP transport of the shop API: Model Context Protocol over Streamable
HTTP, tools only, stateless, JSON answers only. A plug that the router
`forward`s to, once per audience
- [PhoenixKit.API.MCP.Names](PhoenixKit.API.MCP.Names.md): Tool names on MCP.
- [PhoenixKit.API.MCP.Origin](PhoenixKit.API.MCP.Origin.md): The `Origin` check of the MCP transport, against DNS rebinding.
- [PhoenixKit.API.MCP.Rpc](PhoenixKit.API.MCP.Rpc.md): The JSON-RPC 2.0 envelope of the MCP transport: classifying a decoded
request body and building and sending answers.
- [PhoenixKit.API.MCP.Shape](PhoenixKit.API.MCP.Shape.md): How tools, results and errors look on MCP.
- [PhoenixKit.API.MCP.Versions](PhoenixKit.API.MCP.Versions.md): The MCP protocol revisions this server knows, and which of them it speaks.
- [PhoenixKit.API.OpenAPI](PhoenixKit.API.OpenAPI.md): The OpenAPI 3.1 document of the shop API, generated from the tool registry.
- [PhoenixKit.API.OutputShape](PhoenixKit.API.OutputShape.md): The output schema a client is told a tool answers with: MCP's `outputSchema`
and the `200` response of the OpenAPI document.
- [PhoenixKit.API.Problem](PhoenixKit.API.Problem.md): RFC 9457 `application/problem+json` errors for the shop API.
- [PhoenixKit.API.REST](PhoenixKit.API.REST.md): The REST transport of the shop API: a plug that the router `forward`s to,
once per audience.
- [PhoenixKit.API.RateLimit](PhoenixKit.API.RateLimit.md): Rate limits of the shop API.
- [PhoenixKit.API.Registry](PhoenixKit.API.Registry.md): The tools the API can serve right now.
- [PhoenixKit.API.RequestContext](PhoenixKit.API.RequestContext.md): What the API knows about the request besides who sent it: the language and
currency to answer in, the hosts this install serves, and the base URL for
absolute links.
- [PhoenixKit.API.ServiceUsers](PhoenixKit.API.ServiceUsers.md): Service users: accounts that exist only to own API keys.
- [PhoenixKit.API.Tool](PhoenixKit.API.Tool.md): One operation a module offers through the API (REST today, MCP later).
- [PhoenixKit.API.ToolLint](PhoenixKit.API.ToolLint.md): Static checks for API tools, for the test suite of every module that
declares `c:PhoenixKit.Module.api_tools/0`.
- [PhoenixKit.API.Validator](PhoenixKit.API.Validator.md): A small JSON Schema validator for the input of API tools.
- [PhoenixKit.Activity](PhoenixKit.Activity.md): Activity feed for tracking business-level actions across the platform.
- [PhoenixKit.Annotations](PhoenixKit.Annotations.md): Context for `phoenix_kit_annotations` — drawn-on-image shapes created
via the Etcher overlay layer in the MediaBrowser modal.
- [PhoenixKit.AuditLog](PhoenixKit.AuditLog.md): Context for managing audit logs in PhoenixKit.
- [PhoenixKit.Cache](PhoenixKit.Cache.md): Generic caching system for PhoenixKit with ETS-backed storage.
- [PhoenixKit.Cache.Registry](PhoenixKit.Cache.Registry.md): Lightweight Registry wrapper for PhoenixKit.Cache instances.
- [PhoenixKit.Config](PhoenixKit.Config.md): Configuration management system for PhoenixKit.
- [PhoenixKit.Dashboard](PhoenixKit.Dashboard.md): User Dashboard Tab Management System.
- [PhoenixKit.Dashboard.Badge](PhoenixKit.Dashboard.Badge.md): Defines badge types for dashboard tab indicators.
- [PhoenixKit.Dashboard.ContextSelector](PhoenixKit.Dashboard.ContextSelector.md): Configuration and helpers for the dashboard context selector.
- [PhoenixKit.Dashboard.Group](PhoenixKit.Dashboard.Group.md): Struct representing a dashboard tab group.
- [PhoenixKit.Dashboard.Registry](PhoenixKit.Dashboard.Registry.md): Registry for managing dashboard tabs across the application.
- [PhoenixKit.Dashboard.Tab](PhoenixKit.Dashboard.Tab.md): Defines the Tab struct and related types for the user dashboard navigation system.
- [PhoenixKit.Integrations](PhoenixKit.Integrations.md): Centralized management of external service integrations.
- [PhoenixKit.Jobs](PhoenixKit.Jobs.md): Job runs: long background work an admin can watch and control.
- [PhoenixKit.KnownPackages](PhoenixKit.KnownPackages.md): Live catalog of known external PhoenixKit packages fetched from Hex.pm.
- [PhoenixKit.LayoutConfig](PhoenixKit.LayoutConfig.md): Configuration manager for PhoenixKit layout integration.
- [PhoenixKit.Mailer](PhoenixKit.Mailer.md): Mailer module for PhoenixKit emails.
- [PhoenixKit.Mailer.SmtpTransport](PhoenixKit.Mailer.SmtpTransport.md): Builds the gen_smtp/Swoosh connection options for an SMTP integration.
- [PhoenixKit.Mentions](PhoenixKit.Mentions.md): Cross-module `@` pings and `#` record links.
- [PhoenixKit.Migration](PhoenixKit.Migration.md): Migrations create and modify the database tables PhoenixKit needs to function.
- [PhoenixKit.Module](PhoenixKit.Module.md): Behaviour for PhoenixKit feature modules (internal and external).
- [PhoenixKit.ModuleDiscovery](PhoenixKit.ModuleDiscovery.md): Zero-config auto-discovery of external PhoenixKit modules.
- [PhoenixKit.ModuleRegistry](PhoenixKit.ModuleRegistry.md): Runtime registry of all PhoenixKit modules (internal and external).
- [PhoenixKit.Notifications](PhoenixKit.Notifications.md): Per-user notifications driven by `PhoenixKit.Activity`.
- [PhoenixKit.ObanCrons](PhoenixKit.ObanCrons.md): The Oban cron jobs installed modules declare, so a host does not have to copy them into
its config by hand.
- [PhoenixKit.ObanQueues](PhoenixKit.ObanQueues.md): The Oban queues PhoenixKit and its modules need, declared where the work is
defined rather than hand-copied into a host's config.
- [PhoenixKit.ObanSchema](PhoenixKit.ObanSchema.md): Keeps a host's Oban schema in step with the Oban library it runs.
- [PhoenixKit.PubSub.Manager](PhoenixKit.PubSub.Manager.md): PubSub Manager for PhoenixKit admin live updates.
- [PhoenixKit.PubSubHelper](PhoenixKit.PubSubHelper.md): Helper for dynamically resolving the PubSub server to use.
- [PhoenixKit.RepoHelper](PhoenixKit.RepoHelper.md): Helper for dynamically resolving the repository to use.
- [PhoenixKit.ResourceLinks](PhoenixKit.ResourceLinks.md): Resolves `(resource_type, resource_uuid)` pairs into navigable deep-links to
the underlying resource — the record an action happened on or a comment is
attached to.
- [PhoenixKit.ScheduledJobs](PhoenixKit.ScheduledJobs.md): Context module for managing scheduled jobs.
- [PhoenixKit.SchemaPrefix](PhoenixKit.SchemaPrefix.md): Applies the configured schema prefix to a PhoenixKit Ecto schema.
- [PhoenixKit.Settings](PhoenixKit.Settings.md): The Settings context for system configuration management.
- [PhoenixKit.System.Dependencies](PhoenixKit.System.Dependencies.md): 
System dependency checker for PhoenixKit.
- [PhoenixKit.Test.Fixtures](PhoenixKit.Test.Fixtures.md): Test fixtures and session helpers for host applications.
- [PhoenixKit.ThemeConfig](PhoenixKit.ThemeConfig.md): Theme configuration utilities for PhoenixKit's DaisyUI integration.
- [PhoenixKit.UploadsParentFolder](PhoenixKit.UploadsParentFolder.md): Host hook for core's own uploads (user avatars, branding logos, media
selector uploads with a scope)
- [PhoenixKit.Users.ActiveRole](PhoenixKit.Users.ActiveRole.md): The role a session is currently *acting as*.
- [PhoenixKit.Users.Auth](PhoenixKit.Users.Auth.md): The Auth context for user authentication and management.
- [PhoenixKit.Users.Auth.Scope](PhoenixKit.Users.Auth.Scope.md): Scope module for encapsulating PhoenixKit authentication state.
- [PhoenixKit.Users.Auth.User](PhoenixKit.Users.Auth.User.md): User schema for PhoenixKit authentication system.
- [PhoenixKit.Users.CustomFields](PhoenixKit.Users.CustomFields.md): Context for managing custom user field definitions.
- [PhoenixKit.Users.Invitations](PhoenixKit.Users.Invitations.md): Context for organization invitation lifecycle management.
- [PhoenixKit.Users.MagicLink](PhoenixKit.Users.MagicLink.md): Magic Link authentication system for PhoenixKit.
- [PhoenixKit.Users.Permissions](PhoenixKit.Users.Permissions.md): Context for module-level permissions in PhoenixKit.
- [PhoenixKit.Users.RateLimiter](PhoenixKit.Users.RateLimiter.md): Rate limiting for authentication endpoints to prevent brute-force attacks.
- [PhoenixKit.Users.Roles](PhoenixKit.Users.Roles.md): API for managing user roles in PhoenixKit.
- [PhoenixKit.Users.Sessions](PhoenixKit.Users.Sessions.md): Context for managing user sessions in PhoenixKit.
- [PhoenixKit.Utils.CssValue](PhoenixKit.Utils.CssValue.md): Allowlist validation for operator-supplied values that are embedded in CSS.
- [PhoenixKit.Utils.Date](PhoenixKit.Utils.Date.md): Date and time formatting utilities for PhoenixKit.
- [PhoenixKit.Utils.Format](PhoenixKit.Utils.Format.md): Workspace-shared formatting helpers for numeric / size values.

- [PhoenixKit.Utils.Geolocation](PhoenixKit.Utils.Geolocation.md): IP Geolocation utilities for PhoenixKit.
- [PhoenixKit.Utils.HeroIcons](PhoenixKit.Utils.HeroIcons.md): Curated list of Heroicons for use in the application.
Icons are grouped by category for easy browsing.

- [PhoenixKit.Utils.HtmlSanitizer](PhoenixKit.Utils.HtmlSanitizer.md): HTML sanitization for user-supplied rich text.
- [PhoenixKit.Utils.IpAddress](PhoenixKit.Utils.IpAddress.md): Utilities for extracting and formatting IP addresses.
- [PhoenixKit.Utils.Json](PhoenixKit.Utils.Json.md): Thin helper around Elixir's built-in `JSON` module (1.18+) for the one
thing it doesn't provide: pretty-printing.
- [PhoenixKit.Utils.Multilang](PhoenixKit.Utils.Multilang.md): Multi-language data transformation helpers for entity data JSONB.
- [PhoenixKit.Utils.Number](PhoenixKit.Utils.Number.md): Number formatting and parsing utilities for PhoenixKit.
- [PhoenixKit.Utils.Pagination](PhoenixKit.Utils.Pagination.md): Page-number arithmetic for paginated lists.
- [PhoenixKit.Utils.PhoenixVersion](PhoenixKit.Utils.PhoenixVersion.md): Utilities for detecting and working with Phoenix framework versions.
- [PhoenixKit.Utils.PublicAddress](PhoenixKit.Utils.PublicAddress.md): Whether an IP address is a globally routable unicast address — the only
kind a server-side fetch of a user-supplied URL may connect to.
- [PhoenixKit.Utils.RecipientLocale](PhoenixKit.Utils.RecipientLocale.md): Resolves which locale a message should be rendered in for a given recipient.
- [PhoenixKit.Utils.Reorder](PhoenixKit.Utils.Reorder.md): Two-phase index rewrite for drag-to-reorder list views.
- [PhoenixKit.Utils.Routes](PhoenixKit.Utils.Routes.md): Utility functions for working with PhoenixKit routes and URLs.
- [PhoenixKit.Utils.SessionFingerprint](PhoenixKit.Utils.SessionFingerprint.md): Session fingerprinting utilities for preventing session hijacking.
- [PhoenixKit.Utils.Slug](PhoenixKit.Utils.Slug.md): Helpers for generating consistent, URL-friendly slugs across PhoenixKit.
- [PhoenixKit.Utils.TimeZone](PhoenixKit.Utils.TimeZone.md): Timezone identity for users and for the site: the picker list, the label for
a stored value, and the one place a `DateTime` is moved into someone's zone.
- [PhoenixKit.Utils.Tree](PhoenixKit.Utils.Tree.md): Nested trees for pickers (`PhoenixKitWeb.Components.TreePicker`): built
from a flat, parent-linked list, and the pure operations a picker needs
over them — so no module shows nested records as an indented flat list.
- [PhoenixKit.Utils.TreeQuery](PhoenixKit.Utils.TreeQuery.md): Recursive queries over a self-referencing table — a schema whose rows
point at a parent row of the same schema (`parent_uuid` by default).
Each call is one recursive CTE: subtrees for cascades and moves,
ancestors for breadcrumbs and cycle checks.
- [PhoenixKit.Utils.UUID](PhoenixKit.Utils.UUID.md): Utilities for working with UUIDs.

- [PhoenixKit.Utils.UserAgent](PhoenixKit.Utils.UserAgent.md): Deliberately small, allocation-light User-Agent sniffing.
- [PhoenixKit.Utils.Values](PhoenixKit.Utils.Values.md): Small value-handling helpers used across the workspace.

- [PhoenixKit.WebsiteAccess](PhoenixKit.WebsiteAccess.md): Website access: one settings page, a list of independently switchable
features.
- [PhoenixKitWeb](PhoenixKitWeb.md): The web interface for PhoenixKit.
- [PhoenixKitWeb.Actor](PhoenixKitWeb.Actor.md): Who is acting, read from a LiveView socket, a `Plug.Conn` or an assigns
map — the one place modules ask, instead of each reading its own assign.
- [PhoenixKitWeb.AdminEditHelper](PhoenixKitWeb.AdminEditHelper.md): Public API for an "Edit" link from a public page into its matching admin page.
- [PhoenixKitWeb.AnnotationBurnController](PhoenixKitWeb.AnnotationBurnController.md): Accepts a picture with its annotations already drawn into it, and stores
that rendering as display variants.
- [PhoenixKitWeb.AssetsController](PhoenixKitWeb.AssetsController.md): Controller for serving PhoenixKit static assets.
- [PhoenixKitWeb.Attachments](PhoenixKitWeb.Attachments.md): The pieces every module's file form shares, so each upload behaves the
same wherever it happens: the upload config, storing a finished upload
into a record's folder, the messages people see, and the files grid's
featured-image and order rules.
- [PhoenixKitWeb.AuthRouter](PhoenixKitWeb.AuthRouter.md): Legacy authentication router for PhoenixKit.
- [PhoenixKitWeb.CommentsForwarding](PhoenixKitWeb.CommentsForwarding.md): Forwards Leaf rich-text editor process messages to the optional
`phoenix_kit_comments` package.
- [PhoenixKitWeb.Components.AdminNav](PhoenixKitWeb.Components.AdminNav.md): Admin navigation components for the PhoenixKit admin panel.
Provides consistent navigation elements for both desktop sidebar and mobile drawer.

- [PhoenixKitWeb.Components.AnnotationComposer](PhoenixKitWeb.Components.AnnotationComposer.md): Focused composer LiveComponent for attaching the *first* comment to a
newly-drawn Etcher annotation in the MediaBrowser modal sidebar.
- [PhoenixKitWeb.Components.AuthPageWrapper](PhoenixKitWeb.Components.AuthPageWrapper.md): Wrapper component for all auth pages (login, registration, etc.).
- [PhoenixKitWeb.Components.FeaturedImage](PhoenixKitWeb.Components.FeaturedImage.md): One entity's "main image" control: a thumbnail, an always-visible actions
menu (Change / Remove, plus View when a preview is wired up) and the whole
media-picker protocol behind it.
- [PhoenixKitWeb.Components.FolderExplorer](PhoenixKitWeb.Components.FolderExplorer.md): Reusable folder explorer sidebar — folder tree, navigation buttons,
inline rename, and (optional) Trash / All Files / New Folder controls.
- [PhoenixKitWeb.Components.ImageEditor](PhoenixKitWeb.Components.ImageEditor.md): Edits a stored image after upload — crop, rotate, flip, straighten,
redact, brightness and contrast — through
`PhoenixKit.Modules.Storage.ImageEditing`.
- [PhoenixKitWeb.Components.InvitationBanner](PhoenixKitWeb.Components.InvitationBanner.md): Stacked alert banners for pending organization invitations.
- [PhoenixKitWeb.Components.LanguageSwitcher](PhoenixKitWeb.Components.LanguageSwitcher.md): Shared language switcher component for PhoenixKit.
- [PhoenixKitWeb.Components.LayoutWrapper](PhoenixKitWeb.Components.LayoutWrapper.md): Dynamic layout wrapper component for Phoenix v1.7- and v1.8+ compatibility.
- [PhoenixKitWeb.Components.MediaBrowser](PhoenixKitWeb.Components.MediaBrowser.md): MediaBrowser LiveComponent — embeddable media management UI.
- [PhoenixKitWeb.Components.MediaBrowser.Embed](PhoenixKitWeb.Components.MediaBrowser.Embed.md): One-line embedder for `PhoenixKitWeb.Components.MediaBrowser`.
- [PhoenixKitWeb.Components.MediaBrowser.View](PhoenixKitWeb.Components.MediaBrowser.View.md): The media browser's template and the helpers it draws with.
- [PhoenixKitWeb.Components.MediaCanvasViewer](PhoenixKitWeb.Components.MediaCanvasViewer.md): Per-file viewer LiveComponent: `<Fresco.canvas>` + `<Etcher.layer>` for
images, video / PDF / icon fallback for other types, plus a sidebar
with filename + Download + metadata + comments thread. Owns the
annotation lifecycle (composer popover, persistence sync via
`EtcherAdapter`, the patch-shape / delete-shape JS bridges).
- [PhoenixKitWeb.Components.MediaGallery](PhoenixKitWeb.Components.MediaGallery.md): A general-purpose LiveComponent for selecting, ordering, previewing and removing
a set of images.
- [PhoenixKitWeb.Components.MediaViewer](PhoenixKitWeb.Components.MediaViewer.md): Standalone media lightbox ("slide box") LiveComponent.
- [PhoenixKitWeb.Components.MultilangForm](PhoenixKitWeb.Components.MultilangForm.md): Shared multilang form components and helpers for PhoenixKit modules.
- [PhoenixKitWeb.Components.OAuthButtons](PhoenixKitWeb.Components.OAuthButtons.md): OAuth authentication buttons component for Google, GitHub, and Facebook Sign-In.
- [PhoenixKitWeb.Components.ProfileSettingsTabs](PhoenixKitWeb.Components.ProfileSettingsTabs.md): The tabs of the signed-in user's own settings, `/profile/settings/<tab>`.
- [PhoenixKitWeb.Components.ThemeBootstrap](PhoenixKitWeb.Components.ThemeBootstrap.md): The pre-paint theme setup — palettes plus the stamp script — renders in
`<head>`, before (or with) the stylesheets.
- [PhoenixKitWeb.Components.ThemeControllerScript](PhoenixKitWeb.Components.ThemeControllerScript.md): The one theme-controller script — the behavior behind every element the
`PhoenixKitWeb.Components.Core.ThemeController` picker renders.
- [PhoenixKitWeb.Components.TreePicker](PhoenixKitWeb.Components.TreePicker.md): A searchable, collapsible tree for picking one record — or several —
out of a nested set (a parent category, a folder, a page), instead of an
indented flat `<select>`. Build the tree with `PhoenixKit.Utils.Tree`.
- [PhoenixKitWeb.Components.UserDashboardNav](PhoenixKitWeb.Components.UserDashboardNav.md): User dashboard navigation components for the PhoenixKit user dashboard.
Provides navigation elements specifically for user dashboard pages.

- [PhoenixKitWeb.ContextController](PhoenixKitWeb.ContextController.md): Controller for handling dashboard context switching.
- [PhoenixKitWeb.Controllers.ConsentConfig](PhoenixKitWeb.Controllers.ConsentConfig.md): Cookie consent widget configuration, for the JS bundle's manual
`window.PhoenixKitConsent.init()` entry point.
- [PhoenixKitWeb.Dashboard.ContextProvider](PhoenixKitWeb.Dashboard.ContextProvider.md): LiveView on_mount hook for loading dashboard contexts.
- [PhoenixKitWeb.Dashboard.TabsInitializer](PhoenixKitWeb.Dashboard.TabsInitializer.md): LiveView on_mount hook for initializing dashboard tabs with context-aware badge values.
- [PhoenixKitWeb.Endpoint](PhoenixKitWeb.Endpoint.md)
- [PhoenixKitWeb.ErrorHTML](PhoenixKitWeb.ErrorHTML.md): This module is invoked by your endpoint in case of errors on HTML requests.
- [PhoenixKitWeb.ErrorJSON](PhoenixKitWeb.ErrorJSON.md): This module is invoked by your endpoint in case of errors on JSON requests.
- [PhoenixKitWeb.FileController](PhoenixKitWeb.FileController.md): File serving controller with signed URL support.
- [PhoenixKitWeb.Gettext](PhoenixKitWeb.Gettext.md): A module providing Internationalization with a gettext-based API.
- [PhoenixKitWeb.Helpers.MediaSelectorHelper](PhoenixKitWeb.Helpers.MediaSelectorHelper.md): Helper functions for integrating the media selector component.
- [PhoenixKitWeb.Hooks.InvitationHook](PhoenixKitWeb.Hooks.InvitationHook.md): LiveView on_mount hook for organization invitation banners.
- [PhoenixKitWeb.Integration](PhoenixKitWeb.Integration.md): Integration helpers for adding PhoenixKit to Phoenix applications.
- [PhoenixKitWeb.LayoutHelpers](PhoenixKitWeb.LayoutHelpers.md): Helper functions for working with PhoenixKit layouts efficiently.
- [PhoenixKitWeb.Layouts](PhoenixKitWeb.Layouts.md): This module holds different layouts used by your application.
- [PhoenixKitWeb.PdfViewerController](PhoenixKitWeb.PdfViewerController.md): Serves `phoenix_kit_catalogue`'s vendored PDF.js viewer assets through
the router.
- [PhoenixKitWeb.Router](PhoenixKitWeb.Router.md): PhoenixKit library router.
- [PhoenixKitWeb.TableColumns](PhoenixKitWeb.TableColumns.md): Which columns a table shows, and in what order, for each user — stored as
the `"columns"` field of the user's `PhoenixKit.Users.ViewPrefs` for the
table's key, edited through core's live `column_settings_modal/1`.
- [PhoenixKitWeb.UploadController](PhoenixKitWeb.UploadController.md): File upload controller for handling multipart uploads.
- [PhoenixKitWeb.WebsiteAccessController](PhoenixKitWeb.WebsiteAccessController.md): The password gate's pages — deliberately plain: a visitor who does not
know the password sees a blank page with one field and nothing else, no
site name, no login, no layout.

## Mix Tasks

- [mix compile.phoenix_kit_css_sources](Mix.Tasks.Compile.PhoenixKitCssSources.md): Mix compiler that auto-generates CSS @source directives for PhoenixKit modules.
- [mix compile.phoenix_kit_js_sources](Mix.Tasks.Compile.PhoenixKitJsSources.md): Mix compiler that vendors PhoenixKit's JS hooks into the host app.
- [mix phoenix_kit.assets.rebuild](Mix.Tasks.PhoenixKit.Assets.Rebuild.md): Rebuilds assets for PhoenixKit using standard Phoenix asset pipeline.
- [mix phoenix_kit.cleanup_orphaned_files](Mix.Tasks.PhoenixKit.CleanupOrphanedFiles.md): Finds orphaned media files in PhoenixKit Storage and optionally moves them
to the trash.
- [mix phoenix_kit.consolidate_wrappers](Mix.Tasks.PhoenixKit.ConsolidateWrappers.md): Collapses a consumer app's accumulated PhoenixKit wrapper migrations into
ONE migration file.
- [mix phoenix_kit.doctor](Mix.Tasks.PhoenixKit.Doctor.md): Diagnoses PhoenixKit installation, migration, and runtime issues.
- [mix phoenix_kit.gen.admin.page](Mix.Tasks.PhoenixKit.Gen.Admin.Page.md): Igniter task that generates admin page with automatic route registration.
- [mix phoenix_kit.gen.migration](Mix.Tasks.PhoenixKit.Gen.Migration.md): Generate a PhoenixKit versioned migration for the parent application.
- [mix phoenix_kit.gen.user.dashboard](Mix.Tasks.PhoenixKit.Gen.User.Dashboard.md): Igniter task that generates a user dashboard page with tab configuration.
- [mix phoenix_kit.install](Mix.Tasks.PhoenixKit.Install.md): Igniter installer for PhoenixKit.
- [mix phoenix_kit.integrations.rotate_key](Mix.Tasks.PhoenixKit.Integrations.RotateKey.md): Rotates the encryption key protecting stored integration credentials AND
restricted `PhoenixKit.Settings` values (`oauth_*_client_secret`,
`aws_*` — see `PhoenixKit.Settings.restricted_setting_keys/0`). Both are
encrypted under the same resolved key, so both must rotate together.
- [mix phoenix_kit.media.reorganize](Mix.Tasks.PhoenixKit.Media.Reorganize.md): Moves every module's legacy media folders to where the host's
`attachments_parent_folder` / `attachments_folder_name` hooks now put new
ones.
- [mix phoenix_kit.modernize_layouts](Mix.Tasks.PhoenixKit.ModernizeLayouts.md): Modernizes PhoenixKit layout integration for Phoenix v1.8+ compatibility.
- [mix phoenix_kit.post_install](Mix.Tasks.PhoenixKit.PostInstall.md): Runs the PhoenixKit install steps that must happen AFTER the installer's
file changes have landed on disk.
- [mix phoenix_kit.release_check](Mix.Tasks.PhoenixKit.ReleaseCheck.md): Asserts release-metadata consistency before publishing to Hex.
- [mix phoenix_kit.repair](Mix.Tasks.PhoenixKit.Repair.md): Verifies and additively repairs a PhoenixKit installation against the
generated `PhoenixKit.Migrations.ExpectedSchema` manifest (spec §6).
- [mix phoenix_kit.repair_uuid](Mix.Tasks.PhoenixKit.RepairUuid.md): Repairs `phoenix_kit_*` tables whose `uuid` column is the wrong type, nullable,
or not the primary key.
- [mix phoenix_kit.status](Mix.Tasks.PhoenixKit.Status.md): Shows comprehensive status of PhoenixKit installation.
- [mix phoenix_kit.storage.backfill_capture_dates](Mix.Tasks.PhoenixKit.Storage.BackfillCaptureDates.md): Dates the images and videos stored before capture dates existed (V200).
- [mix phoenix_kit.update](Mix.Tasks.PhoenixKit.Update.md): Igniter-based updater for PhoenixKit.

