Behaviour analytics platforms — Hotjar being the best known — bundle a feedback widget alongside heatmaps and session recordings. If you need all of it, that bundle is good value.
If you only ever wanted the button, the bundle is a poor trade. You inherit a consent obligation, a masking policy that has to hold every second of every session, a much larger script that runs continuously, and a category of recorded data you now have to secure — in exchange for a feature you were not going to use.
One frame on a press is not a recording
The obvious objection first, because BugLoop does take screenshots: what is the actual difference?
What runs when nobody is asking. Session replay instruments the page continuously — DOM mutations, mouse movement, scroll position, input events — for the whole visit, whether or not anything ever goes wrong. BugLoop's capture code is not downloaded at all until a reporter presses a button. It then produces exactly one image of the page they were already looking at, and stops.
And who sees it first. A recording is watched later, by you, and the person in it never learns what it contained. A screenshot is masked before it is taken — every field on the page bulleted, every region you marked left undrawn — then shown to the reporter, and attached only if they say so.
That is the whole of the capability. No second frame, no cursor path, no timeline, nothing between presses.
What you give up
The ability to watch what a user did. That is a real loss for diagnosing problems nobody can describe, and it is the honest cost of this choice. A still image of the end state is not the sequence that produced it.
You also give up heatmaps, funnels, and aggregate behavioural reporting. A report-first tool answers "what did someone tell us", not "what did everyone do".
What you get back
- No cookies and nothing written to the visitor's device, so the widget itself raises no consent requirement
- No recordings to store, secure, retain, or delete on request — the only image that ever exists is one somebody deliberately made
- Masking that has to be right for one moment the reporter chose, rather than for every second of every session you never see
- An always-on script in single-digit kilobytes; the capture library is a separate file that downloads only for the people who use it
- A much smaller CSP change: one script origin and one connect origin
Where the honest footnote goes
One feature can make a third-party request, and it should be said plainly rather than buried. Dictation puts a microphone button on the description field using the browser's own speech API — and in Chrome, that API streams the audio to Google for transcription.
So it ships off unless you turn it on for a project, the widget discloses it the first time the button is pressed, and it is documented rather than implied. If you want the unqualified "no third-party requests" line in your own privacy policy, leave dictation off and you have it.
They are separable decisions
Nothing stops you running both. If you already have an analytics platform and want feedback routed straight into your issue tracker with structured fields, running a dedicated report-first widget alongside it is a reasonable setup — and a cheaper one than upgrading a plan for a single feature.