Features

Visual bug reporting that works the way you do

A feedback widget with session replay, client capture links, and two-way sync with GitHub, Linear and Slack — all in one tool.

Widget

The world's least annoying feedback widget

Lairo's embeddable feedback widget lets your clients submit visual bug reports directly from your site — no login, no email chains, no blurry screenshots in Slack.

One script tag. A floating button your clients actually recognise. Every submission captures a full-page screenshot, the exact pin location, browser info, console errors, and network failures — automatically.

  • One script tag — works on any site or framework
  • Floating button fully customisable to match your brand (Starter+)
  • Auto-captures screenshot, pin location, browser, OS, viewport, console errors and network logs
  • Capture-only mode — widget invisible to general visitors, shown only via capture link (Pro)
  • Origin allow-list prevents unauthorised widget loads on unregistered domains
Page screenshot
Leave feedback
Powered by Lairo
Auto-captured
Chrome 121 · macOS
1440×900 · 2x DPR
2 console errors
Capture Link
Client ABC Review
lairo.io/c/a8f3k2...
Active
12
submissions
14d
expires in
50
max uses
Client ABC submitted feedback via capture link · 2 minutes ago
Beta Tester Group submitted feedback via capture link · 1 hour ago
Capture Links

Know exactly who's giving you feedback

Share a link with your client — they click it, land on your site with the Lairo widget already active, and start submitting feedback. No account, no setup, no friction. Every submission is tagged with their name automatically.

  • Generate a unique signed URL per client or tester — no login required for them
  • Submissions automatically tagged with the link name as reporter identity
  • Set optional expiry date and max number of uses per link
  • Optionally restrict the link to a specific origin domain
  • Token stored in localStorage — widget persists as client navigates your site
Available on Starter & Pro
Session Replay

See exactly what happened, not just what they reported.

Every time someone submits feedback via the Lairo widget, a full session replay is automatically captured. No extra code. No separate analytics tool. Watch their exact path — mouse movements, scrolls, clicks — in the same panel as the screenshot, console errors, and network logs.

  • Automatically recorded on every widget submission — zero setup
  • Full mouse tracking: movements, clicks, scrolls, and hovers
  • Form inputs are never recorded — shown as *** for privacy
  • Scrubable timeline with event count and file size
  • Fullscreen player for focused review
  • Lazy-loaded — only fetched when you click "Load Session Replay"
  • Pairs with screenshot, pin location, console errors & network logs for complete context
Available on Starter & Pro
Session Replay
Leave feedback
***
***
Session replay active. Form inputs are not recorded.
0:08 / 0:0891 events · 1.8 MB
Integrations

GitHub, Linear & Slack integrations that actually sync both ways

Not just webhooks — actual two-way sync. Status changes, priority updates, and comments flow between Lairo and your tools automatically.

Slack
Starter & Pro
  • Notification on new feedback submitted
  • Status change alerts with old → new state
  • Priority change alerts
  • Comment added notifications
  • Per-project Slack channel config
  • Rich Block Kit message formatting
GitHub
Pro only
  • Auto-create GitHub issue on new feedback
  • Screenshot embedded directly in issue body
  • Device info, console errors & network logs included
  • Resolved or closed → closes GitHub issue
  • Reopened in Lairo → reopens GitHub issue
  • Comments sync from Lairo to GitHub
Linear
Pro only
  • Auto-create Linear issue on new feedback
  • Priority mapped to Linear priority field
  • Status syncs to Linear workflow states
  • Priority changes update the Linear issue
  • Comments sync via GraphQL API
  • Works with your existing Linear team & workflow
Feedback Management

A proper triage workflow, not a spreadsheet

Status workflows, priority levels, comment threads, activity logs, and advanced filters. Everything you need to go from "bug reported" to "shipped" without losing track.

  • Status workflow: Open → In Progress → Resolved → Closed (Starter+)
  • Priority levels: Low, Medium, High — with advanced priority filtering (Pro)
  • Comment threads and activity log on every feedback item
  • Filter by status, domain, priority, reporter, and date range
  • Keyboard shortcuts J/K for rapid sequential triage
  • Delete and archive feedback items (Starter+)
Header nav overlaps modal on mobileIn Progress
Client ABC · app.example.com · 2 comments
High
Checkout button not responding on SafariOpen
Beta Tester Group · app.example.com · 0 comments
High
Font size too small on the pricing tableOpen
Client ABC · app.example.com · 1 comment
Medium
Success toast disappears too fastResolved
QA Team · app.example.com · 3 comments
Low
Security & Data

Secure by default

Capture tokens validated server-side. OAuth tokens encrypted at rest. Origin allow-lists enforced on every widget load.

Server-side token validation
Every capture link token is validated on every request. Expired, inactive, or over-limit tokens are rejected instantly.
Encrypted OAuth tokens
Slack, GitHub, and Linear OAuth access tokens are encrypted at rest. Never stored in plain text.
Origin allow-lists
Each site has an origin allow-list. The widget script will only initialise on domains you explicitly approve.
Automatic data retention
Feedback and screenshots are automatically purged after your plan's retention period. Nothing lingers longer than it should.

See it for yourself

Free plan available. No credit card required.

Get Started Free