| ▲ | Show HN: Furwall – macOS menu bar app that blocks keys when your cat sits down(olliewagner.com) | |
| 8 points by olliewagner 4 hours ago | 1 comments | ||
Furwall is a tiny macOS menu bar app. While you're at the keyboard or mouse, the FaceTime camera looks for a human face or upper body. When it doesn't find one, the keyboard stops accepting input. Cat walks across your laptop, nothing happens to your code. Some notes: Apple's Vision framework runs locally. Video is processed in memory and never uploaded. On a block, Furwall saves one local JPEG to ~/.furwall/catpures/. A second Vision pass throws out anything that isn't a cat, so the daily count in the menu only reflects confirmed cats. There is now a folder on my disk that is slowly filling up with photos of Pepper and Beets walking across my keyboard. The camera turns on only while you're at the computer (typing, mouse motion, app switch, screen wake) and powers down 30 seconds after the last activity. The green camera dot tracks that. The keystroke drop uses a CGEventTap at .defaultTap. Furwall ships unsandboxed because of this. A .listenOnly tap with Input Monitoring is enough to see keys, but dropping them needs .defaultTap, which needs Accessibility, which the App Sandbox blocks. Watching keystrokes is sandbox-compatible; stopping them is not. Mouse events are observed (to wake the camera) but never intercepted or dropped, so the menu bar always works. Three escape hatches: click the icon and quit, mash Escape five times in 1.5 seconds for a 5-minute pause, or revoke Accessibility in System Settings (macOS invalidates the tap). If Vision stalls for any reason the keyboard fails open after 10 seconds, which is better than soft-bricking the machine. Furwall never uploads camera frames or keystrokes. Its own network traffic is Sparkle update checks plus the donate sheet's anonymous totals/click counter. One short charity slug per click, no user identifier. The donate item in the menu opens the donate page of a vetted animal-welfare charity for your system Region. Ten orgs across nine regions: Alley Cat Allies and PetSmart Charities in the US, Cats Protection in the UK, Cat Protection Society NSW in Australia, Toronto Cat Rescue in Canada, NSPCA in Ireland, SPCA in New Zealand, Deutscher Tierschutzbund in Germany, La SPA and Fondation 30 Millions d'Amis in France, Japan SPCA in Japan. Each org is registered or recognized under its local charity or nonprofit regime, and the list gets re-vetted every release. No money flows through the app. macOS 15+, signed and notarized, MIT. | ||
| ▲ | alexyan0431 4 hours ago | parent [-] | |
That's an interesting problem! But when it comes to remote control by another device, it will be unavoidable that the camera would be unable to recognize a face. I wonder if the app can work properly in this case. | ||