Summary
Self-hosters can brand most of the product (workspace name, logo, colors, custom CSS), and the transactional emails already interpolate workspaceName and render the uploaded logoUrl. But several transactional email subjects and bodies hardcode the literal string "Quackback", so branded instances still send emails that say "Quackback" to their end users. There's no config/admin option to override these.
This makes the product name leak into the inbox for anyone running Quackback under their own brand.
Where it's hardcoded (against main)
Subjects — packages/email/src/index.ts:
- L563 —
`You've been invited to join ${workspaceName} on Quackback`
- L617 —
`Welcome to ${workspaceName} on Quackback!`
- L641 —
'Your Quackback sign-in link'
- L677 —
'About your Quackback sign-in request'
- L701 —
'Reset your Quackback password'
Bodies — packages/email/src/templates/:
invitation.tsx — preview="Join ${organizationName} on Quackback"; body text …on Quackback.
welcome.tsx — preview="Welcome to ${workspaceName} on Quackback"; <Heading>Welcome to Quackback!</Heading>; signoff The Quackback Team
magic-link.tsx — <Heading>Sign in to Quackback</Heading>
password-reset.tsx — preview="Reset your Quackback password"
The notification emails (feedback status change, new comment, changelog) correctly use the workspace name and don't have this problem — it's specifically the auth/onboarding transactional set.
Impact
On a self-hosted, fully-branded instance (own logo, own workspace name, own domain), members still receive sign-in, password-reset, invitation and welcome emails whose subject line and body say "Quackback". For a white-labeled deployment this is a visible branding leak in the one place you can't restyle: the recipient's inbox.
Suggested fix
Replace the literal "Quackback" in these subjects/bodies with the workspace/brand name that the templates already have access to (workspaceName / organizationName is already threaded into most of these functions), or a single configurable brand-name setting (e.g. settings.name, falling back to "Quackback" when unset). The generic auth strings ("Sign in to …", "The … Team", "Your … sign-in link") would then read with the instance's own brand.
Happy to send a PR if that direction sounds right.
Environment
Self-hosted, QUACKBACK_TAG=0.13.2, SMTP transport. Confirmed the same strings are present on main.
Summary
Self-hosters can brand most of the product (workspace name, logo, colors, custom CSS), and the transactional emails already interpolate
workspaceNameand render the uploadedlogoUrl. But several transactional email subjects and bodies hardcode the literal string "Quackback", so branded instances still send emails that say "Quackback" to their end users. There's no config/admin option to override these.This makes the product name leak into the inbox for anyone running Quackback under their own brand.
Where it's hardcoded (against
main)Subjects —
packages/email/src/index.ts:`You've been invited to join ${workspaceName} on Quackback``Welcome to ${workspaceName} on Quackback!`'Your Quackback sign-in link''About your Quackback sign-in request''Reset your Quackback password'Bodies —
packages/email/src/templates/:invitation.tsx—preview="Join ${organizationName} on Quackback"; body text…on Quackback.welcome.tsx—preview="Welcome to ${workspaceName} on Quackback";<Heading>Welcome to Quackback!</Heading>; signoffThe Quackback Teammagic-link.tsx—<Heading>Sign in to Quackback</Heading>password-reset.tsx—preview="Reset your Quackback password"The notification emails (feedback status change, new comment, changelog) correctly use the workspace name and don't have this problem — it's specifically the auth/onboarding transactional set.
Impact
On a self-hosted, fully-branded instance (own logo, own workspace name, own domain), members still receive sign-in, password-reset, invitation and welcome emails whose subject line and body say "Quackback". For a white-labeled deployment this is a visible branding leak in the one place you can't restyle: the recipient's inbox.
Suggested fix
Replace the literal
"Quackback"in these subjects/bodies with the workspace/brand name that the templates already have access to (workspaceName/organizationNameis already threaded into most of these functions), or a single configurable brand-name setting (e.g.settings.name, falling back to"Quackback"when unset). The generic auth strings ("Sign in to …", "The … Team", "Your … sign-in link") would then read with the instance's own brand.Happy to send a PR if that direction sounds right.
Environment
Self-hosted,
QUACKBACK_TAG=0.13.2, SMTP transport. Confirmed the same strings are present onmain.