Silent churn
A user hits a broken button, closes the tab and never comes back. No ticket, no email. You never find out why.
A full audit of your app, done like a real person
WitnessQA signs up, logs in, clicks through every flow and pays with test cards, just like a real customer. Every bug comes back with screenshot proof. Stop hearing about bugs from your customers.
Free partial audit of public flows. No sign-up, no card.
Start your free trial
The problem
A user hits a broken button, closes the tab and never comes back. No ticket, no email. You never find out why.
A checkout that fails on mobile or a sign-up email that never arrives loses customers for as long as it stays live.
When AI writes the code and the tests, green checks prove very little. Small teams have no QA to catch the rest.
The full audit
WitnessQA maps your app and walks every flow the way a new customer would. It finds what is broken before anyone else does, and hands you proof you can act on right away.
Full audit acme.app
LIVE7 flows · 146 steps · 2 bugs found before your customers did
How it works
Give read-only access to issues on GitHub or Jira. Or skip it and work from the dashboard.
The agent reads the acceptance criteria, opens your staging URL and clicks through like a person would.
A comment lands on the issue: pass or fail per criterion, with screenshots, video and logs.
Add annual billing toggle #482
Evidence
Every run is recorded like a flight recorder. Anyone on the team can see exactly what happened, step by step.
Not just the failure. The whole path that led there.
Watch the run back at any speed.
Errors and failed requests pinned to the exact step.
Separate passes, because users do not only use laptops.
What counts as a bug
With an issue, your acceptance criteria are the judge. In an audit, WitnessQA reports objective signals only. Subjective notes live in a separate UX tab, so they never drown out real failures.
Checkout button does nothing on mobile
Uncaught TypeError: Cannot read properties of null (reading 'submit')
at checkout.js:118 Safety
✓ Test mode. Paying with test card.
■ Live mode detected. Payment skipped.
Label each environment. Staging is recommended and explained at setup.
Checks Stripe, Paddle and PayPal for live mode before any card is entered.
Official test cards for success, decline, 3D Secure and more, per provider.
Delete, pay, invite and send are blocked on production unless you allow them.
Snippet, meta tag, DNS or file. Nobody can audit a site they do not own.
Signs up, reads OTP codes and magic links, like a new customer would.
Regression
The agent records each action as a deterministic step. On every deploy those steps replay as plain Playwright, fast and cheap, with no AI in the loop. When a selector changes, a fix is proposed and flagged for review, never hidden.
✗ 0f2e6b8 · Checkout flow failed at step 6 · comment posted on #517
test('checkout: yearly plan', async ({ page }) => { await page.goto('/pricing'); await page.getByRole('switch', { name: 'Annual' }).click(); await expect(page.getByText('$290')).toBeVisible(); });
The difference
Pricing
Final prices are announced at launch. Early access teams keep a founding discount.
See what it finds
For teams that ship weekly
For products with many flows
FAQ
Every flow a real customer can take: sign-up, email confirmation, login, onboarding, pricing, checkout with test cards, settings and more, on desktop and mobile. Each bug comes with steps to reproduce, screenshots and logs.
No. WitnessQA only needs read access to your issues and a URL to test. It works from the outside, the same way your users do.
Then nothing is posted to GitHub or Jira. Every run, screenshot and finding lives in your WitnessQA dashboard with a link back to the issue.
Not on production. Staging is the recommended environment, destructive actions are blocked on production by default, and the live payment guard stops before any real card charge.
Pick what fits: the agent signs up by itself with its own inbox, you give it a test account, or you share a TOTP secret for 2FA. OTP codes and magic links are read automatically.
Yes. Every recorded flow can be exported as standard Playwright code. No lock-in.
Findings are based on objective signals, each one has a confidence score and reproduction steps, and every report is reviewed by a human during early access.
Free partial audit in minutes. No sign-up, no card.
Verification on staging
✓ Verified · 3/3 criteria · 12 steps · 48s