it lives quietly in the menu bar and just works when i need it. i record a task once and get back a clean set of annotated screenshots with the click arrows already drawn on, which used to be the most tedious part of writing internal docs for me. the fact that nothing leaves the machine matters too, since some of what i document has account settings and pricing info i wouldn't want uploaded anywhere.
StepGrab
Thank you, and your second paragraph is the reason the app has the shape it does. A lot of what I document has account settings in it too, which is why I never built a server. There's nothing to upload because there's nowhere for it to go.
On the unlabeled icons, you've found the real weak spot. The step text comes from reading what's visible on screen plus whatever label the control exposes. When a toolbar icon has neither, there's nothing left to describe and it falls back to something generic.
The clean fix would be the Accessibility API, because an unlabeled icon usually still carries a description the developer set. That's where it gets murky. Apple restricts that API on the App Store to genuine accessibility use, so I work with a narrower permission instead. I could ship outside the App Store and have full access tomorrow, but then the privacy claim becomes "trust me" rather than something the sandbox actually enforces. For your kind of content that's the wrong trade, so I'm not making it.
The route I'm taking instead is the on-device vision model coming in macOS 27, which can look at the icon itself rather than asking the app what it's called. That's the 2.0 plan. Slower, but it doesn't cost you the thing you came for in the first place.
Thanks for writing this up properly. It's more useful than most of what I get.