Your client never signs in
Most review tools ask the person you’re showing work to for an account first. Snagset’s review link carries the identity in its fragment, so it never reaches a server log — and the person giving you feedback does nothing but click and type.
It is your server
One command scaffolds a repo you own, running on Node and Postgres. Comments, screenshots and clients’ words live in your database. There is no hosted tier holding your data and no licence key gating a feature.
One CSP directive
script-src 'self', and only if you don’t already allow same-origin scripts. The widget is served by your own instance and talks back to it — there is no third party for a security team to approve.
Quiet until it’s wanted
A visitor who never opens the toolbar pays for the tag — about 10 kB — and one ~300-byte cached check asking your instance whether review is open. No analytics, no session recording, no telemetry.
Pins that survive a deploy
A comment is anchored by a cascade of strategies, not one brittle selector — so it stays on the element when the class names change, and says so honestly when the element is gone rather than pointing at the wrong thing.
Your agent can read it
An MCP server ships with it, so the assistant fixing the bug can list the open snags and see the element, the route and the console that came with each one — without a human retyping any of it.