Skip to content

syauth pixel cat paw holding a gold key

PHONE · BIOMETRIC · LINUX

A paw of approval.

Approve Linux authentication on your Android phone. syauth carries a fresh challenge over Bluetooth, asks for your approval and a strong biometric, and verifies the phone's signature on your desktop.

Set up syauth See the mechanics Download a release

Install the release

Install the desktop with curl -fsSL https://mewplane.github.io/syauth/install.sh | sh, then follow installation and setup. The published v0.2.0 assets include DEB/RPM/Arch packages for both CPU architectures, the signed Android companion, and checksums.

Follow one unlock

  1. A Linux application calls PAM. The syauth module asks the desktop daemon to challenge your bonded phone.
  2. The daemon sends a fresh nonce over the existing BLE connection.
  3. You tap Approve on the phone and complete a strong biometric prompt.
  4. Android Keystore signs the challenge. The daemon verifies the signature and checks its replay cache.
  5. PAM receives the result. The service's PAM stack decides whether to grant access or continue to another authentication method.

The animation is a teaching model, not a connection to your phone. Use Play, Next step, or Restart; playback starts paused. The steps above remain readable without JavaScript.

Find your path

What to expect

The desktop advertises; the phone connects. Being nearby prepares the channel: every unlock still needs your explicit approval and a strong biometric. Unlock does not require an Internet service.

Use Android 13 or later with a supported Ed25519 Android Keystore implementation and an enrolled strong biometric. The APK's lower installation minimum does not mean pairing works on older Android versions.

These pages describe the implementation, including its limitations. In particular, the current bond derivation is not the hybrid key exchange described in the design specification, and the desktop stores application bond material in files. Read the implementation boundaries before enabling PAM.

Source code · Report a problem · Build these docs