NotchOTP

NotchOTP

A 2FA authenticator living in the MacBook notch

Description

Signing in with two-factor means most people dig out their phone, open an authenticator app, read six digits and retype them on the computer — several times a day, and it grates. NotchOTP tucks this into the MacBook's notch: press Control + Option + Space and a black panel flows down from the notch showing the current code and a circular countdown; hit Enter to copy and return to the app you were in, hands never leaving the keyboard.

The panel is sized to the physical notch width, and it's keyboard-only — type to search accounts, Tab to switch, Enter to copy. Secrets live solely in the macOS Keychain, with no network calls and no analytics, and a code copied to the clipboard is cleared when it expires or within 30 seconds. Written in native SwiftUI, with no browser, cloud service, or external packages — the kind of small, single-purpose tool that just fits your hand. (The current interface is in Russian; functionality is unaffected. Version 0.2.0 is an ad-hoc-signed, non-notarized early build, so macOS may need a manual first-launch approval.)

Features



Notch panel: One shortcut reveals a black panel down from the notch with a reverse closing animation, sized to the physical notch; respects Reduce Motion.

Keyboard-first: A configurable global shortcut, Tab / Shift+Tab to switch accounts, type or Command+F to search, Enter to copy and return to the previous app.

Live TOTP: SHA-1 / SHA-256 / SHA-512, 6 or 8 digits, period configurable from 1–3600 seconds (default 30), following RFC 6238.

Local Keychain storage: Account metadata and secrets go into the macOS Keychain, with only the shortcut kept in preferences; a failed Keychain read blocks writes instead of wiping the vault.

Multiple entry methods: Manual setup, pasting an otpauth:// link, or importing from a QR image using Apple Vision.

Multi-display and menu bar: The panel opens on the display containing the pointer, falling back to top-centre on displays without a notch; it stays reachable from the menu bar after the settings window closes, and hides immediately on sleep or lock.