saas · Aug 15, 2026

keyfire.app

65/100 Partial

Scores higher than 75% of 1,391 multi-step funnels we have measured. Among the 1,074 saas funnels in that group, higher than 70%.

How this was measured

Measured by Roentgen 1.25.1 on 2026-08-15. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.

Coverage is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 11 that apply to a saas funnel. Per device: desktop 65 · mobile 65.

Walk 10 links on the entry page, 6 walkable. 1 matched a funnel step; we captured 2 pages in all, this one included.

Captured Homepage / Lander
Step 1 · Homepage / Lander1 / 2

What we recorded

Progress

2 scans

this funnel’s coverage score across measured re-scans

measuredextracted directly from the live page. a fact, not an opinion
Unchanged across 2 scans Same 5 conversion tactics detected since 2026-08-09.
  1. 5 tactics 2026-08-09
  2. 5 tactics 2026-08-15

The funnel, frame by frame

2 steps walked

see their whole funnel without clicking through it. scored step by step

measuredextracted directly from the live page. a fact, not an opinion
Homepage / Lander
01

Homepage / Lander

▼ thinnest
3 tactics

$4

FAQFree trialUsage proof
Pricing
02

Pricing

▲ strongest
5 tactics

$65 +4 more  ·  subscription

ComparisonFAQTrust badgesFree trialPricing tiers

In their own words

27 quoted

the entry page’s own title, headline, buttons and prices — quoted, never paraphrased

measuredextracted directly from the live page. a fact, not an opinion
Page title
Keyfire — Hotkeys, Macros & Text Expansion for Windows. No Scripting.
Meta description
Your keyboard can do more than type. Visual hotkeys, macros and text expansion for Windows. Set up in seconds, no scripting required. Free to download.
Headline
Your keyboard can do more than type
Section headings
Nine ways to give time back every day.Two clicks to set up. Instant every time.Same result. Three clicks, not three lines of script.Stop re-typing the same things every day.From zero to working hotkey in 60 seconds.The questions you're about to ask.Set a key. Fire it.Two clicks past the SmartScreen warning+7 more, not shown
Buttons and links
Press Ctrl+K to search this pagev1v2DownloadDownload for WindowsDownload the ARM64 buildDownload for Windows · Free
Prices on the page
$ 4

Sections

5 identified

structural bands identified on this funnel, cropped from its own capture

measuredextracted directly from the live page. a fact, not an opinion
Nav section of keyfire.app
Nav2% down the page
Hero section of keyfire.app
Hero0% down the page
Features section of keyfire.app
Features6% down the page
FAQ section of keyfire.app
FAQ83% down the page
Footer section of keyfire.app
Footer99% down the page

What we found

5 tactics

conversion tactics we could prove are present, with the on-page text that evidences each

measuredextracted directly from the live page. a fact, not an opinion

Offer clarity1 of 1

Makes the pricing ladder explicit free, $8/user

Action path1 of 4

Offers a free trial or free tier free forever

Trust & proof1 of 2

Puts a number on adoption 153 Teams

Friction reduction2 of 2

Answers buyer objections Is it really free? How is this different from AutoHotkey? Does it phone home? Where does m
Offers a free trial or free tier also shown under Action path

Value reinforcement2 of 2

Compares itself against alternatives comparison grid: 33 rows
Puts a number on adoption also shown under Trust & proof

What we didn’t find

6 of 11 applicable

applicable tactics we checked for and did not see on any step we reached

measuredextracted directly from the live page. a fact, not an opinion

What we didn’t see6 of 11 applicable

Trusted-by logo wall 1,168 of the 1,539 funnels we checked
Press / "as seen in" 508 of the 1,960 funnels we checked
Demo / docs entry 477 of the 1,393 funnels we checked
Lead-capture form 342 of the 1,393 funnels we checked
Proof above the fold 314 of the 1,968 funnels we checked
Scarcity / urgency copy 101 of the 1,960 funnels we checked

Absence is a measurement, not a recommendation: we do not know why a tactic is missing, whether it belongs here, or whether adding it would change anything. Where a walk stopped early, a tactic living deeper would also read as not detected.

How well it’s built

15 run · 4 flagged

contrast, mobile, typography, accessibility, weight — each with what would fix it

measuredextracted directly from the live page. a fact, not an opinion

4 of 15 measured checks need work

Text contrast (WCAG AA)

contrast:text-contrast-wcag-aa

73% of measurable text passes WCAG AA. 4+ runs fail.

worst: “✓ Saved” at 1.71:1 (11px, #82d8a3 on #ffffff). needs 4.5:1

FixRaise text/background contrast to ≥4.5:1 (≥3:1 for large text), especially on CTAs and body copy.

Body text size

type:body-text-size

Smallest body text is 9px (base ~19px). below the ~16px readable floor.

FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.

Landmark regions

structure:landmark-regions

No <main> or <header> landmark. screen-reader users cannot jump between regions.

FixWrap the page in <header>, <main> and <footer> (or matching ARIA roles).

Tap-target size (mobile)

mobile:tap-target-size-mobile

35 of 42 interactive targets are under 44×44px on mobile.

smallest: “v1” at 31×22px

FixGive tappable controls a ≥44×44px hit area. the touch minimum.

Worth knowing6

Line length

3 paragraphs run past ~95 characters per line.

FixCap measure at ~60-75ch for comfortable reading.

type:line-length
Heading levels

1 heading skips a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.

FixStep heading levels one at a time; use CSS for size, not a deeper level.

a11y:heading-levels
Label in name

1 control has an aria-label that does not contain its visible text, so voice-control users cannot activate it by saying what they see.

FixMake the accessible name start with the visible label text.

a11y:label-in-name
Oversized images

2 images are shipped at more than 2x the width shown.

FixServe responsive sizes (srcset/sizes) matching the rendered width.

weight:oversized-images
Keyboard reachability

165 elements look clickable but cannot be reached by keyboard.

FixUse <button>/<a>, or add role + tabindex="0" and a key handler.

structure:keyboard-reachability

Clear5

Mobile viewport · Language declared · Image alt text · Page weight · Render-blocking resources

Brand kit

5 colour roles

palette by on-page usage · type rendered live

measuredextracted directly from the live page. a fact, not an opinion
full palette ordered by on-page usage %
primary#e8a020
accent#e8a020
bg#ffffff
surface#f5f5fa
text#4a4a6a
See the roles applied
accent

Body copy in their text role, on a surface card.

the roles, doing their job
The quick brown fox64px
Jumps over the lazy dog36px
A subheading in their voice20px

Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.

  • List item one, at body scale
  • List item two
  • List item three
Type scale, weights & families
SIZE SCALE
7pxAa
9pxAa
10pxAa
11pxAa
12pxAa
13pxAa
14pxAa
15pxAa
17pxAa
20pxAa
36pxAa
64pxAa
WEIGHTS
Aa400
Aa500
Aa600
Aa700
Aa800
FAMILIES
Space Grotesk · DM Sans
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

2 of 10 layers

layers we ran on this funnel that came back empty

measuredextracted directly from the live page. a fact, not an opinion

Elements — the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text

Playbook match — which funnel play this page runs — measured, evidence-quoted

We ran these passes on the pages we captured and found nothing to show. That is a measurement of this funnel, not a recommendation — and it is a different statement from a layer we never ran, which does not appear here at all.

X-ray a funnel

Your competitor's funnel is one URL away.

Give your AI real references · Measured facts, not taste

Similar crawls