Proof

Monthly notes on brand, technology and AI, with sources.

No. 01 Thresholds

Numbers that decide whether work goes live

Four thresholds we check before anything is released, for page speed, bulk email, AI agents and accessibility, and where each one is written down.

Read
4 min
Stories
4
Get Proof by email
A long corridor of concrete doorways, one inside the next, in hard light and shadow.
Photograph: Haberdoedas / Unsplash

From the editor

Every programme we run has a few numbers that decide whether it goes live. They are thresholds other people publish: a browser team, a mailbox provider, a standards body. They are easy to miss until a launch fails one.

This first issue covers four: each number, where it is written down and the check we run before trusting it. Every issue follows this shape: one change per story, the source linked and anything we cannot confirm marked as such.

The Xterra Edze team

Story 1 of 4, Technology: 200 ms to respond to input

On 12 March 2024, Interaction to Next Paint (INP) replaced First Input Delay (FID) as a Core Web Vital. FID measured only how long the first interaction waited to be handled. INP tracks every click, tap and key press in a visit and reports one of the slowest. A page that loads fast but responds slowly can no longer hide it.

Interaction to Next Paint (INP)
≤ 200 ms
Largest Contentful Paint (LCP)
≤ 2.5 s
Cumulative Layout Shift (CLS)
≤ 0.1

“Good” thresholds, measured at the 75th percentile of page loads. Source: web.dev (Google), Web Vitals, since INP replaced FID on 12 March 2024.

The usual cause is long tasks on the main thread. Typical sources are a tag manager loading a dozen scripts, a consent banner that blocks input and a carousel that re-renders on every tap. Splitting long tasks and deferring what the first interaction does not need improves INP more than a faster server does.

What we check: field data as well as lab scores. A page can pass Lighthouse on a fast laptop and fail INP on the mid-range phones most of its visitors use. Before sign-off we read the 75th percentile from real-user data. We treat any third-party script that pushes INP past 200 ms as a defect.

Story 2 of 4, Martech: Spam rate below 0.3%

Gmail’s sender guidelines set three conditions for anyone sending more than 5,000 messages a day to Gmail accounts. Authenticate the domain with SPF, DKIM and DMARC. Support one-click unsubscribe, with a visible unsubscribe link in the message body. Keep the spam rate reported in Postmaster Tools below 0.3 per cent, ideally below 0.1.

Messages a day to Gmail accounts: where the bulk-sender rules begin
5,000+
Spam rate reported in Postmaster Tools, at all times
< 0.3%
The rate Google recommends staying under
< 0.1%

Source: Email sender guidelines, Gmail Help; required of bulk senders since February 2024.

What we check: that every marketing message carries the List-Unsubscribe and List-Unsubscribe-Post headers from RFC 8058. We also check that an unsubscribe needs no login and that suppression runs before each send. This newsletter works the same way: double opt-in, an unsubscribe link in every issue and one-click headers for mail apps that support them.

Story 3 of 4, AI: A pass mark set before the test

The OWASP Top 10 for LLM Applications 2025 puts prompt injection first, as LLM01. It lists Excessive Agency as LLM06: an AI system given more functions, permissions or autonomy than its task needs. Neither is fixed by a better prompt. Both are tested for.

  • Write the evaluation set before building the agent, including attempts to slip instructions in through documents and tool results.
  • Agree the pass mark and what happens below it in advance, so a good demo cannot move it.
  • Give each tool the narrowest permission it needs, and have a named person approve anything that cannot be undone.

In practice, each behaviour gets a small, versioned set of test cases. They cover answers the agent must give, actions it must refuse and data it must never reveal. The set runs whenever the prompt, model or tools change, and the results are kept with the release.

What we check: that the threshold was written down before anyone saw a result. A pass rate chosen after the fact is a description, not a test.

Story 4 of 4, Product: Target size: 24 by 24 pixels

WCAG 2.2, a W3C Recommendation since 5 October 2023, added nine success criteria. One of them, Target Size (Minimum) at level AA, asks for pointer targets of at least 24 by 24 CSS pixels. Exceptions include a smaller target with enough space around it. The contrast minimum is unchanged: 4.5:1 for body text and 3:1 for large text.

The size of the target for pointer inputs is at least 24 by 24 CSS pixels, except when…

WCAG 2.2, success criterion 2.5.8

Two more new criteria matter on any sign-up or checkout. Focus Not Obscured (Minimum) stops a sticky header or cookie banner from hiding the field a keyboard user is on. Accessible Authentication (Minimum) means a log-in cannot rely on remembering or transcribing something without help, such as a password manager filling the field.

What we check: the smallest controls, such as close buttons, pagination and links packed into tables, tested on a phone with a thumb. We design touch targets at 44 pixels, well above the 24-pixel minimum.

Worth reading. The sources behind this issue.

Related work and writing from our team.

Proof

Get the next issue by email, free and easy to leave.

One issue a month in your inbox, after you confirm by email. Choose topics if you like, or none for every story.

Choose topics (optional)

We keep your address, any topics you choose, this page and when you agreed, with your IP address and browser as the record of that agreement. Privacy notice

Tell us what you need built.

You will speak to a lead who would run the work, and get a straight answer on fit.

Book a call

Three ways to start

  1. 01About 2 minutes

    A quick question

    You get A reply from a named lead

  2. 02About 8 minutesRecommended

    A project brief

    You get Options and a first scope after one call

  3. 03About 15 minutes

    A formal RFQ or RFP

    You get Receipt confirmed and a named bid lead

Every engagement starts with a written scope and a quote agreed before work begins. How each package is priced