OPEN SOURCE · NO SDK · NO INSTRUMENTATION
Every bug leaves a trail.
Stop chasing it. Trail follows it for you, click by click, error by error, straight into a GitHub issue.
POST /api/login failed (500)
Trail captured the sequence, page context, and runtime failures needed to investigate this incident.
Acme
appSign in
- Navigate to acme.com
- Type demo@acme.com into Email
- Click Sign in
- POST /api/login failed500
- Console error: 401 Unauthorized×3
- Flag: "Login button did nothing"
All data is captured automatically by Trail.
Guesswork in. Evidence out.
One of these is what most bug reports look like. The other is what Trail sends instead.
Without trail
With trail
Now the bug has context.
Zero setup
Nothing to set up. Nothing to configure.
No package to install, no config file, no redeploy. Just an extension.
The old way Typical setup | The Trail way Open. Record. |
|---|---|
Install an SDK Installation | Add the extension Installation |
Create an account Account | — Account |
Add a config file Configuration | — Configuration |
Redeploy your app Delivery | — Delivery |
Wait for the next release Release cycle | — Release cycle |
Open the extension. Hit record.
Privacy by default
Sensitive data never leaves the browser.
Passwords, tokens, and personal fields are masked at the moment of capture — not scrubbed afterward. Never sent to Trail servers.
Acme — Annual plan
1 seat · renews 2027
$120
Payment
Network & console · scrubbed at capture
POST /api/checkout"password": "[redacted]"[redacted]@acme.comtoken=[redacted]
- Password fields
- Payment inputs
- Tokens & keys in logs
What you don't want seen, isn't.
GitHub-native
Evidence in. Issue out.
Trail compiles replay, timeline, console, network, and reporter context into the issue template your team already uses.
- Steps to reproduce6 events
- Reporter notes@00:09
- Console errors1 folded
- EnvironmentChrome · macOS
- Failed requestsPOST · 500
- Session replay00:42
Title
Sign in failed: 401 Unauthorized
### Steps to Reproduce
### Reporter Notes
### Console Errors
### Environment
### Failed Requests
Works with your existing template and labels. You review before submitting.
Same issue. Just already written.
When nothing fails
Some bugs don't break anything. They're just wrong.
A wrong value, a silent mismatch, a confirmation that says the wrong thing — Trail lets reporters flag the moment, even when nothing fails.
Reporter flagged this
Expected: USD
Actual: NGN
→ added to report
If it looks wrong, flag it. No error required.
FAQ
Questions? We've got the trail.
The answers to the things developers want to know before they start capturing a bug.
A screen recording shows what happened. TRAIL captures why it happened. A video shows a click and an error. TRAIL connects that click to the console error, failed request, browser state, and steps to reproduce it.
The next bug already has a trail. Go find it.
No setup. No SDK. Just open the extension.