# Keyfob v0.1.0 - Table of Contents > QR device-handoff login for Phoenix LiveView. Show a QR on the login screen, approve from an already-authenticated phone, and the waiting browser signs in — auth-system-agnostic: your app issues the session. ## Pages - [Keyfob](readme.md) - [Changelog](changelog.md) ## Modules - [Keyfob](Keyfob.md): QR device-handoff login for Phoenix LiveView. - [Keyfob.Components](Keyfob.Components.md): Unstyled, headless-ish function components for the two surfaces of the flow: the desktop QR `panel/1` and the phone `confirm_screen/1`. - [Keyfob.Live](Keyfob.Live.md): LiveView glue for the desktop panel. Handles the create → subscribe → render → await-approval → navigate cycle so a login LiveView only has to render `Keyfob.Components.panel/1` and forward one message. - [Keyfob.QR](Keyfob.QR.md): Renders a string as an inline SVG QR code via `eqrcode`. - [Keyfob.Request](Keyfob.Request.md): A login-handoff request as held by the store. - [Keyfob.Store](Keyfob.Store.md): Storage contract for Keyfob requests — a small keyed store with TTLs and two atomicity guarantees the login flow leans on - [Keyfob.Store.ETS](Keyfob.Store.ETS.md): The built-in single-node store: one ETS table owned by a GenServer.