ShipGuardeRELEASE CLEARANCE BUREAU
How it worksUse casesDocsPricing
AI VISUAL QA + PR REVIEW · FOR TEAMS THAT SHIP ON GITHUB

Every check passed. Nobody opened the page.

ShipGuarde opens it. It drives your deployed preview through the journey that matters and issues one release verdict, before merge.

Join the free 30-day pilotSee what it costs to skip it

Free for 30 days, no credit card. Works on any preview URL.

ALL CHECKS · PR 482ACME-COMMERCE
build142 testslinttypes2 approvals
shipguarde / release-clearance

Release denied. 1 critical objection: search returns every run on the deployed preview.

MERGING IS BLOCKED
SHIPPEDFRI 18:42
CUSTOMER FOUND ITTUE 02:14
BROKEN FOR79 HOURS
EXHIBIT A · THE SAME PULL REQUEST, SHIPPED TWICE

Two Fridays.

Same diff, same team, same Friday evening. One release went past the bureau on its way out. One did not. Every square is an hour.

WITHOUT THE BUREAU
00 HOURS OPEN
FRIDAY
18:41
WITH THE BUREAU
EXAMINING…
HOURS THIS RELEASE WAS BROKEN00
00061218
FRI
SAT
SUN
MON
TUE

the release is still broken.
nobody knows yet.

EXHIBIT A-1 · SUBMITTED WITH THE TICKET
Priya · engTUE 2:14 AM
u up
search is broken on prod
since when
idk. a customer emailed about it
on friday
friday??
we shipped friday evening
how many people just gave up
WITH THE BUREAU
ONE HOUR.
DENIED 18:41:47 · CLEARED 18:52.
  • 0 customers affected
  • 0 support tickets
  • 0 phones went off at 2am
  • 11 minutes, request to clearance
RULING 01 · CLEARED TO SHIP

friday, 18:41. the change is about to go live, and everybody is about to go home.

FRI 18:41SATSUNMONTUE 02:14
1 SEC ≈ 6 HOURS

79 hours broken on one side. Eleven minutes on the other. The diff was identical.

Join the free 30-day pilotRun an examination yourself
EXHIBIT B · THE CHANGE

The change was one line, and it was an improvement.

A reviewer approved it in four minutes, because it is the right call: the table re-rendered on every keystroke. What nobody traced is that the results array is filtered in place, so its reference never changes. Under OnPush, a reference that never changes is a view that never updates.

the tests still pass. unit tests do not render.

@Component({
selector: 'sg-runs-table',
templateUrl: './runs-table.component.html',
+ changeDetection: ChangeDetectionStrategy.OnPush,
})
export class RunsTableComponent {
onSearch(q: string) {
this.visible.length = 0;
this.visible.push(...this.all.filter(r => match(r, q)));
}
}
+1 / -0APPROVED IN 4 MIN142 TESTS GREEN0 LINT ERRORSLABELLED “PERF”
EXHIBIT C · THE EXAMINATION ROOM

Pick a journey. Watch it get examined.

You ask in plain English, the examiners drive the deployed preview, and the bureau issues one ruling. Change the flow and the ruling changes with it.

FILING #SG-482 · PR 482 → MAINAWAITING REQUEST
YOUR COMMENT ON THE PULL REQUEST. EDIT IT, IT IS A REAL FIELD
EXAMINERS · LIVE TRACE
  • press run. the examiners are waiting
EVIDENCE · THE DEPLOYED PREVIEW/RUNS
PREVIEWpr-482.acme-preview.app/runs
RESULTS SHOWN214
r-1041 · nightly regression 2h ago
r-1040 · a11y sweep 4h ago
r-1039 · seo & meta 6h ago
r-1038 · broken links 9h ago
PREVIEWpr-482.acme-preview.app/checkout
Email[email protected]
Card
TotalUSD 128.00
Pay USD 128.00
ORDER #A-77401 CONFIRMED · 2.4s
PREVIEWpr-482.acme-preview.app/sign-up
Work email[email protected]
Password

Password must contain a number.

CONTRAST 2.9:1 · WCAG AA NEEDS 4.5:1. THE ONLY TEXT EXPLAINING THE FAILURE IS THE HARDEST TEXT TO READ
Create account
THE DOCKETwhatever the examiners find gets written up right here, in the words a developer can act on, not a stack trace.
CRITICAL

Search returns every run. The filter has no effect.

What broke
Typing into Test Runs search leaves all 214 rows on screen.
Why it blocks
A core user flow fails on the deployed preview. Anyone with more than one page of runs cannot find one.
What the developer gets
Severity, the step-by-step walkthrough, before/after screenshots, and the full run link.
THE BUREAU HAS NOT RULED YET
HOW IT WORKS

From PR comment to proof.

01REQUEST

Ask from the PR

Install the GitHub app, add the shipguarde label, or write a plain-English @shipguarde comment. No test script required.

02VERIFY

Test the live preview

ShipGuarde reviews the diff and drives the deployed app through the requested user journey.

03DECIDE

Get evidence on GitHub

A plain-English verdict, severity, and replayable evidence land on the PR, ready to gate the merge or guide a fix.

CLEARED
Cleared to ship

Every examiner endorses. File it and merge with confidence.

RULING 01 · 0 OBJECTIONS · AUTO-MERGE
NOTES
Conditional clearance

Endorsed with noted regressions. A glance is advised before filing.

RULING 02 · NON-BLOCKING · WARN ON PR
DENIED
Release denied

A critical objection would harm users in production. Merge is held.

RULING 03 · 1 CRITICAL · MERGE BLOCKED
EXHIBIT D · ON OURSELVES

We pointed it at this page.

It would be strange to sell an examination and never sit for one. Here is the filing on the page you are reading, unedited.

NOTE
ACCESSIBILITY

The red line through the headline is decoration. A screen reader hears “Every check passed” and never learns it was crossed out. The next line says the same thing in words, so this is filed as a note, not a block.

NOTE
CONSOLE & NETWORK

One external host: Google Fonts. Nothing else on this page is fetched from anywhere. If that request fails, the page falls back to the system faces declared beside it. The layout holds, the type is plainer.

CLEARED
ACCESSIBILITY

The clock is operable without a mouse. It is a labelled range input with real play and pause buttons, so every state it can reach, including the last one, is reachable from the keyboard.

CLEARED
RUNTIME

Reduced motion is honoured, not ignored. With the OS setting on, the clock renders at its final state with every hour already filled. The same information, none of the movement.

RULING 02 · FILED WITH NOTES · 2 NOTES · 0 BLOCKING
ON THE RECORD · LEARNINGS

Every cleared run teaches the next.

App memory recalls the steps that worked, so repeat runs get faster and steadier. Your review guidance and muted findings steer what the examiners flag, applied automatically on every run.

LEARNINGSacme-commerce · app memory
Sign in via the “Continue with email” tab, not the SSO button x14
The cart drawer needs 600ms after “Add” before it settles x9
Dismiss the cookie banner before measuring layout shift x31
MUTED · TEAM GUIDANCE6
Ignore contrast on the legacy /admin theme muted
Marketing copy is out of scope for review muted
SECURITY

Safe access to your repo and preview.

“Do you run my code?”

No. We never run your repository’s own scripts, tests, or build. Your code is analyzed in an isolated, secret-starved sandbox using only our own tools, with a short-lived token scoped to the one repo and read-only. The GitHub App key and other tenants’ data never enter that sandbox, and its network access is limited to GitHub and package registries.

Secret-starved sandbox

Analysis runs in an isolated service that holds none of the platform’s keys.

Repo-scoped, read-only token

It gets a short-lived token scoped to the one repo, read-only. Never the GitHub App key.

Our tools only

We never run your repo’s scripts, tests, or build. No postinstall, no arbitrary execution.

Locked-down egress

Network access is limited to GitHub and package registries. No internal services, no metadata.

PRICING

Start with a real release.

A visual-QA run is one flow, driven end to end. A PR review is one pull request, read in full. Those are the only two things we meter. Every plan starts with a 7-day trial, no credit card.

Plan
Starter
Visual-QA on your URLs, on-demand and scheduled.
$41/mo
$490 billed annually · save 17%
MOST TEAMS START HERE
Team
Everything in Starter, plus PR review and Learnings.
$166/mo
$1,990 billed annually · save 17%
Business
Higher caps, priority concurrency, unlimited seats.
$416/mo
$4,990 billed annually · save 17%
Enterprise
SSO/SAML, SLA, DPA + security review, volume pricing.
Talk to us
Volume pricing
Visual-QA runs100/mo400/mo1,200/moCustom
PR reviewsNot on this plan100/mo200/moCustom
SeatsUp to 3Up to 10UnlimitedUnlimited
Concurrent agents4816Custom
Browser agentsAll of them: Visual QA, Visual Regression, Console & Network, Accessibility, Performance, SEO & Meta, Broken Links, Cookie & Privacy, Content & Copy, Vision Defect, Runtime Security
PR review agentsNoCode Review, Lint, Security, Dependencies & License, Schema Drift, Migration Safety, Bundle Budget
LearningsNoIncludedIncludedIncluded
Priority supportNoNoIncludedIncluded
SSO / SAMLNoNoNoIncluded
SLA + DPANoNoNoIncluded
 Start a 7-day trialStart a 7-day trialStart a 7-day trialContact us
Starter
Visual-QA on your URLs, on-demand and scheduled.
$41/mo
$490 billed annually · save 17%
Visual-QA runs
100/mo
PR reviews
Not on this plan
Seats
Up to 3
Concurrent agents
4
Learnings
No
Priority support
No
SSO / SAML
No
SLA + DPA
No
Start a 7-day trial
MOST TEAMS START HERE
Team
Everything in Starter, plus PR review and Learnings.
$166/mo
$1,990 billed annually · save 17%
Visual-QA runs
400/mo
PR reviews
100/mo
Seats
Up to 10
Concurrent agents
8
Learnings
Included
Priority support
No
SSO / SAML
No
SLA + DPA
No
Start a 7-day trial
Business
Higher caps, priority concurrency, unlimited seats.
$416/mo
$4,990 billed annually · save 17%
Visual-QA runs
1,200/mo
PR reviews
200/mo
Seats
Unlimited
Concurrent agents
16
Learnings
Included
Priority support
Included
SSO / SAML
No
SLA + DPA
No
Start a 7-day trial
Enterprise
SSO/SAML, SLA, DPA + security review, volume pricing.
Talk to us
Volume pricing
Visual-QA runs
Custom
PR reviews
Custom
Seats
Unlimited
Concurrent agents
Custom
Learnings
Included
Priority support
Included
SSO / SAML
Included
SLA + DPA
Included
Contact us

Trials include 30 runs. Founding-pilot teams get 30 days free on any plan, configured with us.

INQUIRIES

The questions people ask first.

Does it work with preview deployments?
Yes. Point ShipGuarde at a preview URL and describe the flow to check. It can test public previews immediately, or use encrypted credentials for a test account when the relevant pages require sign-in.
What GitHub permissions does it need?
Least privilege. It reads code through short-lived, repo-scoped tokens and writes checks and pull-request comments. It deliberately does not require write access to your file contents.
Can it block a merge?
By default a block is advisory: a neutral check. Opt in with failCheckOnBlock (in project settings or an in-repo .shipguarde.yml) to make it a failing check you can require in branch protection, or gate CI with the Action’s fail-on setting.
How does visual QA work without selectors?
A vision model looks at the rendered screen and locates each target, then a separate verifier confirms the step actually worked. Because it grounds on what is visible, not CSS selectors, your flows survive redesigns that would break selector-based tests.
Does ShipGuarde comment on every pull request?
No. Reviews are explicit by design. Add the shipguarde label, comment @shipguarde run, or call it from CI. Nothing runs until you ask, so there is no drive-by comment on every commit.
What does a verdict mean?
Every run ends in one decision: ship, ship with notes, or block (occasionally inconclusive), with findings grouped by category and a step-by-step trace so you can see exactly how it got there.
FOUNDING-TEAM PILOT · FREE FOR 30 DAYS

We’ll configure your first three critical flows with you.

Bring a real preview deployment. We’ll set up the journeys your team cannot afford to break, run them on a live pull request, and review the evidence together.

Join the free 30-day pilot

Code review checks the diff. ShipGuarde also checks the running product, so a release does not ship on the hope that nothing broke.

Join the free 30-day pilotStart a 7-day trial

NO CREDIT CARD · CONNECT GITHUB IN UNDER FIVE MINUTES · CANCEL ANY TIME

ShipGuarde

RELEASE CLEARANCE BUREAU
ISSUING AUTHORITY FOR SOFTWARE RELEASES
[email protected]

PRODUCT

  • Features
  • PR Reviews
  • Visual QA
  • Compare
  • Integrations
  • Pricing

RESOURCES

  • Docs
  • How it works
  • Use cases
  • Sample report
  • Founding pilot
  • Blog
  • Changelog
  • FAQ
  • Support

COMPANY

  • About
  • Security
  • Status
  • Contact us
  • Privacy
  • Terms
  • Refunds
  • Sub-processors
FILED · SG-482 · ACME-COMMERCEEST. 2026