Tools
Error Logging
Automatically capture JavaScript errors from your site. See error trends, deduplicated errors, and browser/page context — all without adding any code.
How it works#
When error logging is enabled, the embed script captures console.error calls and unhandled exceptions from your page. Errors are batched with other events and sent to the API.
What’s captured#
| Property | Type | Description |
|---|---|---|
| message | string | The error message text |
| source | string | Source file URL where the error occurred |
| line / column | number | Line and column number in the source file |
| stack | string | Stack trace (when available) |
| pageUrl | string | The page URL where the error was thrown |
| browser / OS | string | Browser and operating system from User-Agent |
| fingerprint | string | Hash for deduplication (auto-generated) |
Error deduplication#
Errors are fingerprinted based on their message and source location. The dashboard groups identical errors together so you see each unique error once, with an occurrence count.
Privacy & sanitization#
Error data is automatically sanitized before being sent to the API:
- Email addresses in error messages are replaced with
[EMAIL] - JWT tokens are replaced with
[TOKEN] - Auth query params (token, key, secret, password, auth) are redacted to
[REDACTED] - Stack traces are truncated to 2,000 characters
Error source classification#
Each error is classified as either an OperatorStack error (originating from the embed script itself) or a Site error (from your code). The dashboard shows both counts separately so you can focus on what matters.
Daily limits#
Error logging uses a two-tier rate limiting strategy:
- Client-side: max 50 errors per minute per page, with 5-second deduplication window per fingerprint
- Server-side: 1,000 errors per project per day. The cap resets at midnight UTC
Error triage#
Each error group can be triaged with one of four statuses:
- Active — default state, needs attention
- Ignored — acknowledged but not actionable (e.g., browser noise). Ignored errors still appear in the timeline but are dimmed in the table and can be filtered out
- Fixed — you’ve addressed this error. Records the fix date
- Regressed — automatically detected when an error marked “fixed” reappears after the fix date. Shows both the fix date and the regression date so you can correlate with deploys
Triage status is included in the AI Advisor analysis, so it can give you more relevant advice and flag regressions or potentially mis-triaged errors.
Sorting & filtering#
The top errors table can be sorted by:
- Most frequent — highest occurrence count first (default)
- Most recent — most recently seen errors first
- First seen — newest errors first
Filter by triage status to focus on active issues or review ignored/fixed errors. Each error also shows a per-error trend indicator comparing the current period to the previous period, and the number of affected pages.
CSV export#
Export errors to CSV from the dashboard. You can export all errors or filter by a specific fingerprint. Columns include message, source, line, column, error source, fingerprint, page URL, browser, OS, and timestamp. Capped at 5,000 rows.
Settings#
Toggle error logging from your project settings page. When disabled, the embed script won’t capture any errors.