MajorHigh confidence

Largest Contentful Paint is 0.8s slower than base

On /pricing, LCP went from 1.8s to 2.6s and layout shift rose from 0.02 to 0.14.

Lighthouse report and metric deltas
Example finding Dashboard GitHub check
MinorHigh confidence

Pricing page has no Open Graph image

Links to /pricing will be shared without a preview image.

Tag, value and page
Example finding Dashboard GitHub check
01 / 04

Performance

Measures whether your PR made the pages slower, compared with the base version.

Type
Deterministic
Status
[TBD: Live / Beta / Coming soon]
Default
[TBD: On / Off]
Est. cost
[TBD: X credits per run]

What it catches

  • Worse Largest Contentful Paint, layout shift and blocking time
  • Larger JavaScript downloads
  • Unoptimised images
  • Long tasks and layout shifts

Example finding

Base and PR side by side for each metric, with the change called out.

Hydrofoil · Performance
BaseThis PR
Page: /pricing · Lighthouse, mobileOpen report
  1. 1
    Base vs PRThe same metric measured on both versions.
  2. 2
    Metric deltaHow much better or worse your PR made it.
  3. 3
    Lighthouse reportThe full report for the page.

How it works

Lighthouse runs on the impacted pages on both the PR and the base, and Hydrofoil reports the differences.

  1. 01

    Find impacted pages

    The pages your PR affects.

  2. 02

    Run Lighthouse

    On both the PR and the base.

  3. 03

    Report the differences

    Metric by metric.

Output

Findings appear in the Hydrofoil dashboard and in your GitHub check, with a severity (blocker, major, minor or nit) and a confidence level. Low-confidence findings are marked Needs reviewand don't fail the check.

Severity
BlockerMajorMinorNit
Confidence
HighMediumLow · Needs reviewDoesn't fail the check
Where it appears
Hydrofoil dashboard GitHub check

Evidence

What each finding includes.

  • The Lighthouse report and the metric deltas.

Known limits

  • Lab measurements on a preview environment, not real-user data.
  • Preview hosting differs from production, so absolute numbers vary. The comparison with base is the useful signal.
  • Needs a base URL.

Configuration

Turn this review on or off for each repository in repository settings.[TBD: add any check-specific options.]

02 / 04

SEO & metadata

Checks the tags that search engines and social previews rely on.

Type
Deterministic
Status
[TBD: Live / Beta / Coming soon]
Default
Opt-in
Est. cost
[TBD: X credits per run]

What it catches

  • Missing or duplicate titles and descriptions
  • Missing Open Graph and Twitter tags
  • Wrong canonical or robots settings
  • Broken structured data

Example finding

A social-share preview with the missing image flagged, next to the tags found on the page.

Hydrofoil · SEO & metadata
Share preview
/pricing · tags
title
meta description
og:title
og:imagemissing
twitter:card
  1. 1
    Missing imageWhat the share card is missing.
  2. 2
    Tags checkedEach tag found on the page, and what's absent.

How it works

Hydrofoil inspects each public page's head and structured data.

  1. 01

    Load public pages

    Each public page in the preview.

  2. 02

    Read the head

    Titles, descriptions, social and robots tags.

  3. 03

    Validate

    Including structured data.

Output

Findings appear in the Hydrofoil dashboard and in your GitHub check, with a severity (blocker, major, minor or nit) and a confidence level. Low-confidence findings are marked Needs reviewand don't fail the check.

Severity
BlockerMajorMinorNit
Confidence
HighMediumLow · Needs reviewDoesn't fail the check
Where it appears
Hydrofoil dashboard GitHub check

Evidence

What each finding includes.

  • The tag, its value and the page.

Known limits

  • Public pages only.
  • It checks tags; it doesn't track rankings.

Configuration

Turn this review on or off for each repository in repository settings.[TBD: add any check-specific options.]

03 / 04

Cross-browser

Re-runs your key flows in Firefox and WebKit.

Type
Deterministic + AI
Status
[TBD: Live / Beta / Coming soon]
Default
Opt-in (higher cost)
Est. cost
[TBD: X credits per run]

What it catches

  • Flows that work in Chromium but fail elsewhere
  • Layout differences between browsers

Example finding

The same page in three browsers. One of them breaks.

Hydrofoil · Cross-browser
Chromium
Firefox
WebKit
Step 4Open the pricing pageDiffers in WebKit
  1. 1
    The differing stepThe step where the browsers stopped agreeing.
  2. 2
    Broken layoutShown beside the browsers that render correctly.

How it works

Hydrofoil repeats the key flows in additional browsers and compares the results.

  1. 01

    Repeat the key flows

    In Firefox and WebKit.

  2. 02

    Capture each step

    In every browser.

  3. 03

    Compare

    Deterministic checks, then AI review.

Output

Findings appear in the Hydrofoil dashboard and in your GitHub check, with a severity (blocker, major, minor or nit) and a confidence level. Low-confidence findings are marked Needs reviewand don't fail the check.

Severity
BlockerMajorMinorNit
Confidence
HighMediumLow · Needs reviewDoesn't fail the check
Where it appears
Hydrofoil dashboard GitHub check

Evidence

What each finding includes.

  • Side-by-side screenshots and the step that differs.

Known limits

  • WebKit through Playwright is close to Safari but not identical.
  • No real devices.
  • Key flows only, and it costs more per run.

Configuration

Turn this review on or off for each repository in repository settings.[TBD: add any check-specific options.]

04 / 04

Privacy

Looks for personal data leaking through URLs, analytics and cookies.

Type
Deterministic + AI
Status
[TBD: Live / Beta / Coming soon]
Default
Opt-in
Est. cost
[TBD: X credits per run]

What it catches

  • Personal data in URLs and query strings
  • Analytics or cookies set before consent

Example finding

A URL with an email address in the query string, boxed, and the other privacy finding from the same run.

Hydrofoil · Privacy

app.example.com/welcome?email=jane.doe%40example.com&plan=pro

Personal data in URLStep 3 · After sign-upquery param: email
Cookie set before consentStep 1 · First page loadcookie: _ga
  1. 1
    Personal dataThe part of the URL that looks like personal data.
  2. 2
    Where it happenedThe step and the parameter.
  3. 3
    Pre-consent trackingCookies set before the user agreed.

How it works

Hydrofoil watches URLs, requests and cookies during the run and flags patterns that look like personal data or pre-consent tracking.

  1. 01

    Watch the run

    URLs, requests and cookies.

  2. 02

    Flag patterns

    Personal data and pre-consent tracking.

  3. 03

    Record the step

    So you can see when it happened.

Output

Findings appear in the Hydrofoil dashboard and in your GitHub check, with a severity (blocker, major, minor or nit) and a confidence level. Low-confidence findings are marked Needs reviewand don't fail the check.

Severity
BlockerMajorMinorNit
Confidence
HighMediumLow · Needs reviewDoesn't fail the check
Where it appears
Hydrofoil dashboard GitHub check

Evidence

What each finding includes.

  • The URL or request, the cookie name and the step.

Known limits

  • Not legal advice and not a compliance certification.
  • It reports what it can observe in the preview.

Configuration

Turn this review on or off for each repository in repository settings.[TBD: add any check-specific options.]

Related reviews

See it on your next pull request

Hydrofoil opens each preview in a real browser and posts what it finds to GitHub.