|
| 1 | +--- |
| 2 | +name: touchbridge |
| 3 | +description: Authenticate sudo and macOS system prompts using your phone's biometric (Face ID/fingerprint) instead of typing passwords. Perfect for Mac Mini, Mac Studio, Mac Pro, and MacBook Neo base users without Touch ID. |
| 4 | +homepage: https://github.com/HMAKT99/UnTouchID |
| 5 | +metadata: |
| 6 | + { |
| 7 | + "openclaw": |
| 8 | + { |
| 9 | + "emoji": "🔐", |
| 10 | + "requires": { "bins": ["touchbridged", "touchbridge-test"] }, |
| 11 | + "install": |
| 12 | + [ |
| 13 | + { |
| 14 | + "id": "source", |
| 15 | + "kind": "shell", |
| 16 | + "command": "git clone https://github.com/HMAKT99/UnTouchID.git /tmp/touchbridge-install && cd /tmp/touchbridge-install && cd daemon && swift build -c release && cd .. && make -C pam && sudo bash scripts/install.sh", |
| 17 | + "bins": ["touchbridged", "touchbridge-test"], |
| 18 | + "label": "Build and install from source (recommended)", |
| 19 | + }, |
| 20 | + { |
| 21 | + "id": "pkg", |
| 22 | + "kind": "pkg", |
| 23 | + "url": "https://github.com/HMAKT99/UnTouchID/releases/download/v0.1.0-alpha/TouchBridge-0.1.0.pkg", |
| 24 | + "sha256": "370b8f0ab32c23216f16de19c8487633301be2810b9fa8793e3ac093f7699f9e", |
| 25 | + "bins": ["touchbridged", "touchbridge-test"], |
| 26 | + "label": "Install TouchBridge (.pkg) — verify with: shasum -a 256 TouchBridge-0.1.0.pkg", |
| 27 | + }, |
| 28 | + ], |
| 29 | + }, |
| 30 | + } |
| 31 | +--- |
| 32 | + |
| 33 | +# TouchBridge |
| 34 | + |
| 35 | +Use your phone's fingerprint or Face ID to authenticate `sudo`, screensaver unlock, and other macOS auth prompts — instead of typing your password. |
| 36 | + |
| 37 | +Free, open source alternative to Apple's $199 Touch ID keyboard. Works with iPhone, Android, Apple Watch, Wear OS, or any browser. |
| 38 | + |
| 39 | +## References |
| 40 | + |
| 41 | +- `references/setup.md` (install + pairing + testing) |
| 42 | + |
| 43 | +## Workflow |
| 44 | + |
| 45 | +1. Check if TouchBridge is installed: `which touchbridged`. |
| 46 | +2. If not installed: **build from source** (recommended — user can audit the code): |
| 47 | + ```bash |
| 48 | + git clone https://github.com/HMAKT99/UnTouchID.git |
| 49 | + cd UnTouchID && cd daemon && swift build -c release && cd .. |
| 50 | + make -C pam |
| 51 | + sudo bash scripts/install.sh |
| 52 | + ``` |
| 53 | + Alternatively, download the .pkg from the GitHub release and verify its checksum: |
| 54 | + ```bash |
| 55 | + shasum -a 256 TouchBridge-0.1.0.pkg |
| 56 | + # Expected: 370b8f0ab32c23216f16de19c8487633301be2810b9fa8793e3ac093f7699f9e |
| 57 | + spctl -a -t install TouchBridge-0.1.0.pkg # verify notarisation |
| 58 | + ``` |
| 59 | +3. Check daemon status: `ls ~/Library/Application\ Support/TouchBridge/daemon.sock`. |
| 60 | +4. Start the daemon: |
| 61 | + - **Production** (requires paired phone): `touchbridged serve` or `touchbridged serve --web` |
| 62 | + - **Testing only** — ⚠️ REQUIRES EXPLICIT USER CONFIRMATION before running: |
| 63 | + `touchbridged serve --simulator` |
| 64 | + This mode auto-approves ALL sudo requests with no biometric check. Never use in production. Always ask the user before enabling this mode. |
| 65 | + |
| 66 | +### For sudo commands |
| 67 | + |
| 68 | +TouchBridge automatically handles `sudo` authentication when installed. The PAM module intercepts the auth request and routes it to the daemon, which prompts the user's phone. |
| 69 | + |
| 70 | +If the phone is unreachable, sudo falls through to the normal password prompt — the user is never locked out. |
| 71 | + |
| 72 | +### Modes |
| 73 | + |
| 74 | +- `touchbridged serve` — production mode with paired iPhone/Android via BLE |
| 75 | +- `touchbridged serve --web` — any phone via browser URL (no app install needed) |
| 76 | +- `touchbridged serve --interactive` — approve/deny in terminal |
| 77 | +- `touchbridged serve --simulator` — ⚠️ TESTING ONLY — auto-approves all sudo. Never enable without explicit user consent. |
| 78 | + |
| 79 | +### Configuration |
| 80 | + |
| 81 | +```bash |
| 82 | +touchbridge-test config show # view policy |
| 83 | +touchbridge-test config set --timeout 20 # change auth timeout |
| 84 | +touchbridge-test logs # view recent auth events |
| 85 | +touchbridge-test list-devices # show paired devices |
| 86 | +``` |
| 87 | + |
| 88 | +## Guardrails |
| 89 | + |
| 90 | +- **Never enable `--simulator` mode without explicit user confirmation.** This mode auto-approves all sudo requests and is a critical security risk if left running in production. |
| 91 | +- Never type or log the user's macOS password — TouchBridge replaces password entry entirely. |
| 92 | +- If `touchbridged` is not running, sudo falls through to password — never block the user. |
| 93 | +- Never modify `/etc/pam.d/sudo` directly — use the install script which creates backups. |
| 94 | +- When installing via .pkg, always verify the SHA-256 checksum before running. |
| 95 | +- The build-from-source path is the recommended install method — users can audit the code before running it. |
0 commit comments