Skip to content

swpasskey v0.2.0

Latest

Choose a tag to compare

@madeye madeye released this 30 Sep 06:54
59f0825

Security fixes and a redesigned macOS app. Thanks to @Lakr233 (#8).

Download and install

  • Apple Silicon, macOS 14 or later: download swpasskey-0.2.0-macos-arm64.zip.
  • Extract the ZIP, move swpasskeyd.app to /Applications (replacing 0.1.0), then open it.

The app is Developer ID signed (team 32B45SMMQL), Apple notarized, and has a stapled notarization ticket. It uses the same bundle ID as 0.1.0, so existing passkeys and settings carry over. SHA-256 checksums are in SHA256SUMS.txt. No Intel Mac or Linux binaries.

Security

  • hmac-secret without user presence (medium): a getAssertion with up=false returned hmac-secret output with no prompt. It is now released only after user presence (also for getNextAssertion).
  • CTAPHID framer (low): channel ownership is checked before BCNT, so an oversized INIT from another channel can no longer wipe the transaction in progress.
  • Log file (low): the LaunchAgents no longer log to the shared /tmp/swpasskeyd.log; the daemon writes ~/Library/Logs/swpasskey/swpasskeyd.log (0700 dir, 0600 file, O_NOFOLLOW).
  • Terminal prompt (low): site and account text are sanitized like the GUI prompts.
  • Stale approval panels from an earlier request can no longer affect a newer one.

macOS app

  • New approval panel that names the action ("Sign in to github.com?"), with a short delay before the button enables so a stray keystroke cannot approve. Esc cancels; stays above full-screen apps.
  • Passkeys window: search, sortable table (default Last Used), live updates, and type-the-account-name to delete.
  • Settings with General, Security and About tabs; a Welcome window on first launch.
  • Dock icon appears only while a window or the status menu is open.
  • Plain-language copy across prompts and alerts.

Validation

Built with cmake --preset app: 110/110 tests passed; ci preset 112/112. Apple notarization accepted; spctl reports "Notarized Developer ID".