Built for developers.
Invisible to users.
Add context-aware collaboration to any web app with a single script tag. Auto-capture DOM selectors, viewport data, and route information with every comment.
Drop-in integration
Annot8 runs inside a shadow DOM overlay. Your styles never conflict, your bundle stays untouched, and everything loads async.
Create a project
Generate your unique Project ID in the dashboard.
Paste the snippet
Add to your <head> or <body> — works with any framework.
Allowlist your domain
Add localhost, staging, or production URLs.
Configuration API
Customize the widget with data attributes on the script tag.
data-project-idRequireddata-public-slugdata-themedata-positiondata-disable-analyticsdata-disable-chatWebhooks & events
Subscribe to real-time events to pipe feedback into your existing workflows — CI pipelines, Slack bots, ticketing systems, or custom dashboards.
thread.createdFires when a new feedback thread is pinned
thread.resolvedFires when any thread is marked resolved
thread.assignedFires when a thread is assigned or re-assigned
comment.createdFires on every new comment in a thread
chat.messageFires on live chat messages from visitors
"event": "thread.created",
"project": "proj_abc123",
"thread": {
"id": "thr_92f3a1",
"page": "/pricing",
"selector": "#cta > button",
"priority": "high"
}
}
How the widget works
Zero conflicts with your styling or JavaScript. Annot8 uses modern isolation techniques so it stays out of your way.
Shadow DOM isolation
The widget renders inside an isolated shadow root so your global CSS and JS never interfere — and vice versa.
Async & deferred
The script loads asynchronously with no parser-blocking. It won't delay your page's FCP or LCP.
Smart selector engine
Comments anchor to the nearest stable parent using a multi-strategy selector engine with fallback heuristics.
Tree-shakable
Unused features are never loaded
SSR compatible
Safe to include in server-rendered pages
TypeScript types
Full type definitions for window.annot8
CSP friendly
Works with strict Content-Security-Policy
Enterprise-grade security
Encrypted at rest and in transit. Compliant with the standards your security team expects.
Domain locking
Prevent unauthorized usage with strict origin allowlists per project.
SOC 2 compliant
Infrastructure provider is SOC 2 Type II certified with annual audits.
GDPR ready
Full data export, deletion, and EU-compliant data handling.
Start building today
Add Annot8 to your project in under 2 minutes. Free for up to 3 projects.