How reviewers leave comments

When a reviewer opens a share URL, the injected Checkpoint script activates a feedback toolbar. Reviewers can:

  1. Click anywhere on the page to place a pin and attach a comment to that element
  2. Type a comment in the sidebar without placing a pin (general feedback)
  3. Reply to existing comments to create threads

Anchor system

Checkpoint uses a multi-layered system to track exactly where a comment was placed, so it can be re-located even after the page content changes:

LayerWhat it stores
Selector chainCSS selector path with confidence scores (0–1)
DOM fingerprintTag name, ID, classes, sibling path
Text contextText of the element and its neighbors (before/after/parent)
Container hintNearest identifiable ancestor container
Source anchorReact component name, source file, line/column number, React key
Transient contextWhether the element is inside a dialog, drawer, popover, menu, tooltip, etc.
Coordinate fallbackX/Y as % of viewport, document, and element; scroll position; viewport dimensions

Comment data model

FieldDescription
Author NameDisplay name (required, max 100 characters)
Author EmailEmail (optional, for guests)
User IDLinked user account (none for guests)
ContentComment text (1–5,000 characters)
Pin PositionPin position as % of viewport (none if no pin)
Scroll PositionScroll position when comment was placed
Anchor DataFull anchor data (all layers above)
Page PathURL path the comment was left on (e.g. /settings)
ResolvedWhether the comment has been resolved
Parent CommentSet for threaded replies

Guest comments

By default, tunnels allow guest comments — anyone with the share link can leave a comment without signing in. Guests provide their name (and optionally email) when commenting. This can be disabled per tunnel in the share settings.

Resolving comments

Any workspace member with appropriate permissions can mark a comment as resolved. Resolved comments move to the Resolved tab. Resolving is non-destructive — comments can be re-opened.

Linked issues

Comments can be linked to issues in connected project management tools (Linear, GitHub, Jira). When an issue is created from a comment, the external issue title and a direct link are stored and displayed alongside the comment.