Skip to content

feat(lifecycle): print the business postal address in every email footer - #1021

Merged
blove merged 1 commit into
mainfrom
blove/ecstatic-maxwell-6cdad7
Sep 5, 2026
Merged

feat(lifecycle): print the business postal address in every email footer#1021
blove merged 1 commit into
mainfrom
blove/ecstatic-maxwell-6cdad7

Conversation

@blove

@blove blove commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • CAN-SPAM requires a valid physical postal address on commercial email. Every recipient-facing message (campaign steps and fulfillment) now ends with the business postal address on a single plain line directly after the unsubscribe line, in both the text and HTML parts.
  • The address lives in one exported constant, BUSINESS_POSTAL_ADDRESS, in apps/lifecycle/src/campaign/templates.ts, beside the founder booking URL.
  • The HTML part renders it as one escaped <p>, so the sender's paragraphs-and-links-only validator in libs/growth/src/lib/resend.ts still passes.
  • send.spec.ts pins the address as the trailing line of both parts for both campaign families.
  • The growth lifecycle design spec records the constraint under "Copy constraints".

Verification

🤖 Generated with Claude Code

CAN-SPAM requires a valid physical postal address on commercial email.
Every recipient-facing message (campaign steps and fulfillment) now ends
with the business postal address on a single plain line directly after
the unsubscribe line, in both the text and HTML parts. The address is
sourced from one exported constant, BUSINESS_POSTAL_ADDRESS, next to the
founder booking URL; the HTML part renders it as one escaped <p> so the
sender's paragraphs-and-links-only check still passes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 5, 2026 10:01pm UTC

Request Review

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove enabled auto-merge (squash) September 5, 2026 21:48

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@blove
blove merged commit 8c56a92 into main Sep 5, 2026
32 of 33 checks passed
blove added a commit that referenced this pull request Sep 5, 2026
…) (#1022)

Reverts commit 8c56a92. The postal address must not appear on any
user-facing surface. Recipient email footers return to the signature
and unsubscribe line only, the BUSINESS_POSTAL_ADDRESS constant is
removed, and the design spec no longer records the constraint.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@blove
blove deleted the blove/ecstatic-maxwell-6cdad7 branch September 5, 2026 22:32
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