Discount code accepted but total unchanged
/checkout?step=payment
Bug reports with evidence
Notarus is a feedback widget for product and engineering teams. Your user marks the page in front of them; the replay and the failed request arrive with it.
Free plan · No credit card · Works in any browser, mobile included
The reporter's checkout page with the Notarus widget open on it: a red box drawn around the discount code SPRING24, an arrow at the order total that never changed, and one typed sentence — the report exactly as it is sent, with the screenshot attached.
No browser, no URL, no steps. The first hour goes to asking questions the reporter can’t answer.
Screenshots arrive cropped, three days later, of a page that already changed.
The reporter never hears back, so they report it again, in another channel.
The tag pasted into a host page, last thing before the closing body tag: a script from app.notarus.ai/widget.js carrying the project's public key, async and low priority. Under it, the corner of the checkout page it was pasted into, with the Feedback launcher the tag puts there.
Shadow DOM, never blocks the host page. Works in every browser.
Widget & host isolationAnnotated screenshot, replay, console, network and environment, attached automatically.
Evidence captureThe board's four stages, left to right: Received with 4, WIP with 3, QA with 2, Done with 6. The newest ticket, NT-248 — a discount code accepted but the total unchanged — sits at the top of Received, high priority, assigned to Ana Ruiz, with a screenshot and a recording attached.
Received → WIP → QA → Done. The reporter follows progress from a link, no account needed.
Board & pipelineSession replay captures the minutes before the report. Inputs are always masked, and the widget suspends itself when the host page is under load — the player says so instead of stitching over the gap.
Beside the film runs the same session as a log: every click, request and console error, in order. Click a line and the player seeks to it.
Session replayThe session behind ticket NT-248, playing: fifty-seven seconds recorded in three segments, with one interval unavailable because the page was hidden. The reporter reaches the checkout, applies the coupon SPRING24, and the discount appears without the total changing. Paying answers 500 twice; they rage-click three times and open a report. Beside the player, the same session as a log of twenty entries — clicks, requests, a stale-totals warning and an uncaught TypeError — with the row under the playhead highlighted as it plays.
Your team works the pipeline — Received → WIP → QA → Done, renameable per project, with severity and priority as separate fields. The reporter opens a link and reads the same answer.
A render of the panel. The Northstar board shows four stages — Received with 4 tickets, WIP with 3 against an advisory limit of 4, QA with 2, Done with 6 — beside a collapsed project sidebar, and ticket NT-248, “Discount code accepted but total unchanged”, is open in front of it. The ticket carries a screenshot, a 42-second session replay and an attachment; the team’s reply is marked “Visible to client”, which is the setting that sends it to the reporter’s own page.
It lands in the reporter's own page and in their inbox. Internal comments never make that trip: the split is a predicate in the query, not a filter in the interface.
A render of the reporter’s portal, branded as the customer’s own product. It shows report NT-248 at stage Received, the team’s public reply, a box to answer back, and a note that three other reports from the same person are on the page. No account is involved.
Theme every colour, radius and label from JSON; add custom CSS and whitelabel on Pro. The widget lives in a Shadow DOM and never blocks paint or input on the host page.
The same widget composer in five host brands' colours — blue, teal, green, purple and red — stacked as a deck that deals the front card to the back, and the 44-pixel launcher pill it opens from.
Notarus Linear · NT-248 → ENG-1187
Two-way status, with the screenshot, the console and the replay attached to the issue itself.
Notarus ships an MCP (Model Context Protocol) server with 100% panel parity. What follows is what the server says when something connects to it — the tool list is not a claim on a page, it is the handshake.
The Notarus MCP server registers nineteen tools, by the panel surface each one drives. Tickets: list_tickets, get_ticket, create_ticket, move_ticket, assign_ticket, comment_ticket. Sessions: list_sessions, get_session, get_recording, search_logs, get_errors. Board: list_ticket_statuses, reorder_ticket_statuses, ticket_stats, get_insights. Reporter portal: create_reporter_portal_link, render_reply_template, get_client_portal, set_client_portal. An agent connected to it lists tickets by status, reads a session recording, searches captured logs and moves a ticket between statuses, without anyone opening the panel.
Nineteen of the tools the server registers, named by the surface each one drives.
get_documentation returns the rest as a manual your agent can read.
Six facts a security review asks about before a script goes on a production page, each with the artifact behind it rather than a promise.
Replay never records what users type. It is a property of the recorder, not a setting a project can turn off.
Inputs masked
Authorization, cookies and tokens stripped from captured logs. Request and response bodies are never read at all.
authorization: [scrubbed]
No raw IP is stored. Turn the capture off and nothing is stored in its place, not even a hash.
sha256(ip + salt), first 32 hex
Before every release, Notarus measures its own test pages with the widget against the same pages without it. These are the largest regressions that pass.
LCP p75 +50 ms · INP p75 +10 ms · CLS 0
It reaches the ingest endpoints and the widget's own configuration. It reads no ticket, no board and no account, and every ingest route is rate limited on its own.
data-key="nt_pub_…" · ingest only
A nightly pass drops captured logs and performance data at 30 days and idle sessions at 90. Replay keeps the window each project sets.
logs 30d · sessions 90d · replay 1-365d
Free for one seat and five projects. Upgrade to Pro when the team needs recording, review mode and integrations.
No. It loads asynchronously and renders inside a Shadow DOM, so it never blocks the host page's paint or input. Host isolation is a written performance budget, tested on every deploy, and the widget suspends itself when the page is under load.
The annotated screenshot, session replay, console logs, network activity, page URL, viewport and browser — plus surveys and the reporter portal. Screen recording is the one capture that needs Pro.
Inputs are always masked, so replay never records what users type. Authorization headers, cookies, passwords, tokens and secrets are scrubbed from captured logs, request and response bodies are never captured, and IP addresses are stored salted-hashed.
Yes. The MCP server has 100% panel parity: every capability of the panel has a tool. Point your agent at POST /mcp with a personal access token and it can triage, reply, move tickets and open review sessions.
Chromium, WebKit and Firefox, on desktop and mobile. The cross-browser matrix is a gate that runs before every deploy, not a claim.