What gets captured
The context, attachments, and diagnostics that ride along with every thread — and what never leaves the page.
The point of Annot8 is that the follow-up question ("what browser? what were you doing? any errors?") is already answered before you ask it. Here's exactly what's collected, and when.
Always captured
Attached to every thread at submit time, with no reviewer action:
Optional attachments
Each is a deliberate reviewer action, never automatic.
| Attachment | Notes |
|---|---|
| Screen recording (Pro) | Browser-level capture via getDisplayMedia. Video only — Annot8 never requests microphone audio for a recording. The reviewer previews it and can discard it before submitting |
| Voice note | Microphone recording, up to 2 minutes, with echo cancellation and noise suppression |
| Steps to reproduce | The clicks, scrolls, inputs, and navigations leading up to the report |
Voice notes and screen recordings are transcribed automatically when AI is available on your plan, so the text is searchable and readable without playing the media.
Redaction
Screenshots are generated by cloning the DOM, so Annot8 masks known-sensitive regions before rendering. Masked by default:
input,textarea,select- content-editable regions
iframeandvideo- anything marked
[data-private]
Add your own with data-annot8-redact (obscured, layout preserved) or
data-annot8-ignore (omitted entirely), or declare up to 25 selectors via
window.annot8RedactSelectors. Full details in
Widget configuration.
Screen recording is a browser-level capture. It cannot be redacted automatically — no DOM masking applies to it. The reviewer is warned and must review the recording before submitting.
What is never collected
- Your app's cookies and storage. The storage snapshot is filtered to Annot8's own keys, and it records key names only. Your application's keys are skipped entirely, and no stored value is ever read or transmitted.
- Keystrokes. There is no keylogger and no session replay.
- Microphone audio during a screen recording. The recorder requests
audio: false. - Query strings and hashes on feedback URLs. Stripped before storage, since they routinely carry tokens and personal data.
Analytics is a separate, consent-gated system with its own collection rules — it is off by default and never runs unless you both enable and consent to it.
Go to location
Every thread in the dashboard has a Go to location action. It opens the annotated page with the pin's position in the query string, and the widget on that page resolves it.
Because the element may not exist on load — it might be inside a modal, an accordion, a tab panel, or a route that hasn't rendered — the widget keeps watching for it rather than giving up on the first miss, and tells you when the element genuinely never appears (usually because something needs clicking first).