Pre-flight Checks

Catch it before it ships

Every email is automatically checked before it goes anywhere near an inbox. Broken links, missing alt text, Gmail clipping, leftover placeholder copy — found and flagged while there's still time to fix them.

Deterministic checks plus AI checks, with severity your organization controls.

Pre-flight checks
Ran on revision 14

Links & images verified

31 links and 12 images fetched — all resolve

Pass

Gmail clipping

Email size is well under the clipping limit

Pass

Image weight

hero-animation.gif exceeds the per-image limit

Warn

Alt text

2 images are missing alt text

Warn

Unrendered merge tags

{{first_name}} found in the preheader

Block

Placeholder copy

“Headline goes here” detected in the hero module

Block
2 blocking issuesExport to ESP
How it works

Three layers of checks, on every revision

You don't run pre-flight checks — they run themselves. Every time an email changes, three layers of analysis kick in automatically, so problems surface the moment they appear, not the day you want to send.

Layer 1

Static analysis

The HTML of every revision is analyzed for structural problems: email size against the Gmail clipping limit, leftover merge tags, script tags, external CSS dependencies, and more.

Layer 2

Live network verification

Every link and image in your email is actually fetched over the network and verified to resolve. Not pattern-matched — requested, followed, and confirmed.

Layer 3

AI review of the copy

AI reads your email the way a careful colleague would: spelling and grammar, semantic placeholders, tone of voice, subject line alignment, and CTA clarity.

What gets checked

The embarrassing stuff, caught automatically

The mistakes that slip past a manual review are exactly the ones a machine never misses. Deterministic rules handle the objective checks; AI handles the judgment calls.

Size & structure

  • Email size vs. the Gmail clipping limit
  • Leftover merge tags ({{...}} and [TOKEN] residue) in body, subject, or preheader
  • Script tags in the HTML
  • External CSS dependencies

Copy

  • Placeholder text: lorem ipsum, [INSERT], TBD
  • Subject line present and within recommended length
  • Preheader present and within range

Links & images

  • Every link and image fetched and verified to resolve
  • HTTPS-only images
  • Empty or # links
  • Missing UTM parameters on tracked domains (configurable)
  • Image weight limits — per image and total, including GIFs

Accessibility

  • Alt text on images
  • HTML language attribute
  • Minimum font size
  • WCAG AA color contrast

AI copy checks

  • Spelling & grammar
  • Semantic placeholder detection ("Headline goes here")
  • Tone-of-voice match against your org’s configured tone
  • Subject and content alignment
  • CTA clarity

Custom AI rules

  • Define up to 10 of your own checks in plain language
  • "Never mention discounts above 20%"
  • Add examples and thresholds per rule
Custom AI rules

Your rules, written in plain language

Every team has rules no off-the-shelf checker could know — legal requirements, brand quirks, hard-won lessons from past mistakes. Write them down the way you'd explain them to a colleague, and they're enforced on every email, every revision, automatically.

Alcohol compliance

Block

If the email mentions alcohol, require the responsible-drinking disclaimer in the footer.

Competitor mentions

Block

Never mention competitors by name — including in image alt text and link URLs.

Discount ceiling

Warn

Flag any discount above 20% — offers that big need sign-off from the marketing director.

No absolute claims

Block

We are a regulated business. Flag promises of outcomes: "guaranteed", "risk-free", "100%", "the best".

Brand vocabulary

Warn

We say "affordable", never "cheap". British spelling everywhere. Products are always "crafted", not "made".

Your rule here

Up to 10 custom rules per organization — with examples and a threshold per rule.

Severity per rule

Warn for advisory rules, Block for the ones that gate export.

Tuned with examples

Add pass/fail examples and a confidence threshold so each rule fires exactly when you want.

Fixed with Betty

Any finding can be dismissed, turned into a comment, or handed to Betty to fix.

Accessibility

A full WCAG audit, not a checkbox

Beyond the individual accessibility checks, every email gets a complete WCAG accessibility audit: Level A criteria as pass/fail, and a Level AA score that shows how close you are to the higher bar.

  • Deterministic rules
    Heading structure, link names, color contrast, and zoom behavior are measured mechanically. Objective criteria, objective results.
  • AI judgment
    Alt text that exists but says “image1.png” isn't accessible. AI evaluates alt-text quality and link descriptiveness — the parts a rule engine can't judge.
  • Level A pass/fail, Level AA scoring
    Know exactly where you stand: which Level A criteria pass, and how your email scores against Level AA.
Accessibility auditWCAG
Level APass
Heading structure
Link names
HTML language attribute
Level AA score86
Color contrast
Zoom & reflow
Alt-text quality (AI)
Check settingsOrganization
Unrendered merge tags
OffWarnBlock
Broken links
OffWarnBlock
Gmail clipping limit
OffWarnBlock
Placeholder copy
OffWarnBlock
Missing alt text
OffWarnBlock
Image weight
OffWarnBlock
Missing UTM parameters
OffWarnBlock
Tone-of-voice match
OffWarnBlock
Governance

Your rules. Your severity.

Every check can be set to Off, Warn, or Block at the organization level. Strict where it matters, relaxed where it doesn't — you decide what's a suggestion and what's a hard stop.

  • Block-level failures gate export
    An email with blocking findings can't be exported to your ESP until the issues are fixed — or explicitly overridden.
  • Warnings inform, not obstruct
    Warn-level findings surface the issue and let the team make the call. Perfect for style preferences and soft limits.
  • Dismiss with tracking
    False positive? Findings can be dismissed — and every dismissal is tracked, so nothing disappears silently.
Findings

Findings live on the email, not in a report

Every finding is pinned directly on the email preview — numbered and clickable, right where the problem is. No hunting through a PDF to figure out which link is the broken one.

  • Pinned, numbered, clickable
    Click a finding in the list and the preview jumps to the exact spot. Click a pin and see what's wrong.
  • Turn a finding into a conversation
    Any finding can become a comment thread, so the fix gets discussed and resolved in context — right alongside your team's other feedback.
  • Fix with Betty
    Hand any finding to Betty for an assisted fix. She reads the finding, makes the change, and you review the result. Meet Betty →
Preview3 findings
1
2
3
1

Unrendered merge tag in headline

{{first_name}} will show as raw text to recipients

Fix with Betty
Review

One Review step. One answer: ready or not.

Pre-flight results sit in the Review step alongside approvals and comment resolution. Together they gate export readiness — an email ships when the checks pass, the comments are resolved, and the right people have signed off.

Pre-flight checks

All three layers run automatically. Blocking findings are fixed, overridden, or dismissed with tracking.

Approvals & comments

Required approvers sign off and open comment threads get resolved — all in the same step. See collaboration →

Test sends

Send test emails to a real inbox from the same Review step for a final human look. See email testing →

Ship every email with confidence

See pre-flight checks catch the mistakes your team would rather not talk about — before anyone ever sees them.

Request a demo