Skip to content

Reduce email signup friction (no CAPTCHA; shorter confirm copy) - #206

Merged
jimdc merged 3 commits into
mainfrom
reduce-perceived-friction-on-the-email-signup-ow
Jul 31, 2026
Merged

Reduce email signup friction (no CAPTCHA; shorter confirm copy)#206
jimdc merged 3 commits into
mainfrom
reduce-perceived-friction-on-the-email-signup-ow

Conversation

@jimdc

@jimdc jimdc commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

User feedback on the new homepage email CTA called out the Cloudflare human check and long confirmation ceremony. Turnstile is removed from the homepage CTA and Alerts subscribe path (client markup, client token gate, and worker verification). /subscribe no longer requires TURNSTILE_SECRET—it fails closed only until TOKEN_SECRET, RESEND_API_KEY, and SUBS are set—so signup works without a CAPTCHA. Remaining protection is per-IP and per-address daily rate caps plus double opt-in (nothing is stored and digests do not start until the address confirms), which still limits third-party signup and confirmation-email abuse that would hurt sender reputation. Confirmation copy is shorter on both surfaces (and translated in all shipping locales). The about-page feedback form keeps Turnstile. If the sends dashboard later shows bot stuffing of confirm mail, Turnstile can return on this path behind an explicit config flag without changing the double-opt-in model.

Microsoft Clarity is activated with project id xusuca7gsv in site/clarity.js (public id, not a secret). Heatmaps load only when the id is set and the browser is not signaling Do Not Track or Global Privacy Control; form fields stay masked. README screenshots under docs/readme/ were re-captured against the updated UI so the homepage frame shows the masthead email CTA (short confirm line, no CAPTCHA) instead of the pre-cleanup edition strip.

Rebased onto main after the Clarity wiring pull request merged (#202), so this branch no longer carries duplicate wiring commits—only the project-id activation, signup friction changes, and screenshot refresh.

Test plan

  • node --test test/homepage_cta.test.mjs
  • node --test worker/test/home_cta_subscribe.test.mjs (includes no-TURNSTILE_SECRET case)
  • node --test worker/test/multi_watch.test.mjs
  • node --test test/clarity.test.mjs
  • README frames re-captured and eyeballed (no skeletons)
  • Rebase onto main (post-Add optional Microsoft Clarity heatmaps with privacy controls #202) + re-verify green; PR mergeable

@jimdc jimdc changed the title Reduce email signup friction (invisible Turnstile, shorter confirm copy) Reduce email signup friction (no CAPTCHA; shorter confirm copy) Jul 31, 2026
@jimdc
jimdc enabled auto-merge July 31, 2026 00:43
@jimdc
jimdc force-pushed the reduce-perceived-friction-on-the-email-signup-ow branch 2 times, most recently from afebb22 to 5bae9b6 Compare July 31, 2026 01:18
jimdc added 3 commits July 30, 2026 21:18
Switch homepage and Alerts Turnstile widgets to interaction-only so most
visitors never see a challenge, and shorten confirmation copy on both
surfaces while keeping double opt-in and server-side Turnstile checks.
Drop the CAPTCHA from homepage and Alerts subscribe surfaces and stop
requiring TURNSTILE_SECRET on /subscribe so signup works without the
widget. Per-IP and per-address caps plus confirm-before-alerts remain.
Set the live Microsoft Clarity project id so heatmaps can load under the
existing privacy controls, and replace docs/readme frames so the README
matches the quieter homepage email CTA and current list detail views.
@jimdc
jimdc force-pushed the reduce-perceived-friction-on-the-email-signup-ow branch from 5bae9b6 to 2dc0155 Compare July 31, 2026 01:18
@jimdc
jimdc added this pull request to the merge queue Jul 31, 2026
Merged via the queue into main with commit e86a43a Jul 31, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant