Account admins can now replace "WaboSign" in the UI, emails, audit-trail
PDFs, and authenticator-app issuer with their own product name. The
brand override is stored as an AccountConfig row (brand_name key),
managed from /settings/personalization above the logo upload.
Resolution flows through Wabosign.branded_product_name(account = nil):
1. account&.brand_name if a record is passed
2. else the deployment's oldest non-archived account's brand_name
(so anonymous surfaces like the landing page, PWA manifest, and
og:title get the operator's brand on single-tenant installs)
3. else Wabosign::PRODUCT_NAME ("WaboSign")
AGPL §7(b) DocuSeal attribution stays untouched:
- _powered_by.html.erb second line keeps Wabosign::UPSTREAM_NAME
- _email_attribution.html.erb second paragraph keeps it
- completed.vue keeps its hardcoded DocuSeal link
The Wabosign::UPSTREAM_NAME and UPSTREAM_URL constants stay constants —
they are never overridable.
Swapped 41 direct Wabosign.product_name callers to pass the most-local
account in scope (current_account, @template.account,
@submitter.submission.account, submission.account, or nil for chrome
without account context). Mailers' default `from:` is now a lambda that
reads @current_account per message. SIGN_REASON constant in
generate_result_attachments became sign_reason_template(account) so
PDF signature reasons reflect the brand.
The two i18n keys actually rendered with literal "WaboSign"
(welcome_to_wabosign in templates_dashboard, connect_to_wabosign_mcp
in mcp_settings) are parameterized to %{product_name} across the 7
locales that defined them. The other ~9 WaboSign-branded i18n keys
are unreferenced dead code from the Pro paywall and stay as-is.
Specs:
spec/models/account_spec.rb (new) — Account#brand_name
spec/lib/wabosign_spec.rb (new) — branded_product_name precedence
spec/requests/personalization_settings_spec.rb (new) — end-to-end
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
<span class="label-text">Replace "<%= Wabosign::PRODUCT_NAME %>" in the UI, emails, audit-trail PDFs, and authenticator-app issuer with your own product name. Leave blank to fall back to the default.</span>
The <a href="<%= Wabosign::UPSTREAM_URL %>" class="link" target="_blank" rel="noopener"><%= Wabosign::UPSTREAM_NAME %></a> upstream attribution required by AGPL §7(b) stays visible in the footer, post-signing screen, and email footers regardless of this setting.
<% title = content_for(:html_title) || (signed_in? ? brand : "#{brand} | Open Source Document Signing") %>
<% description = content_for(:html_description) || 'Open source, self-hosted tool to streamline document filling and signing. Create custom PDF forms to complete and sign with an easy to use online tool.' %>
<% description = content_for(:html_description) || 'Open source, self-hosted tool to streamline document filling and signing. Create custom PDF forms to complete and sign with an easy to use online tool.' %>
mcp_token_has_been_removed:MCP token has been removed.
mcp_token_has_been_removed:MCP token has been removed.
enable_mcp_server:Enable MCP server
enable_mcp_server:Enable MCP server
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:All existing MCP connections will be stopped immediately when this setting is disabled.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:All existing MCP connections will be stopped immediately when this setting is disabled.
connect_to_wabosign_mcp:Connect to WaboSign MCP
connect_to_product_name_mcp:Connect to %{product_name} MCP
add_the_following_to_your_mcp_client_configuration:Add the following to your MCP client configuration
add_the_following_to_your_mcp_client_configuration:Add the following to your MCP client configuration
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Works with Claude Desktop, Cursor, Windsurf, VS Code, and any MCP-compatible client.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Works with Claude Desktop, Cursor, Windsurf, VS Code, and any MCP-compatible client.
your_email_address_has_been_changed:Your email address has been changed
your_email_address_has_been_changed:Your email address has been changed
@ -1977,7 +1977,7 @@ es: &es
mcp_token_has_been_removed:El token MCP ha sido eliminado.
mcp_token_has_been_removed:El token MCP ha sido eliminado.
enable_mcp_server:Habilitar servidor MCP
enable_mcp_server:Habilitar servidor MCP
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Todas las conexiones MCP existentes se detendrán inmediatamente cuando se desactive esta configuración.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Todas las conexiones MCP existentes se detendrán inmediatamente cuando se desactive esta configuración.
connect_to_wabosign_mcp:Conectar a WaboSign MCP
connect_to_product_name_mcp:Conectar a %{product_name} MCP
add_the_following_to_your_mcp_client_configuration:Agregue lo siguiente a la configuración de su cliente MCP
add_the_following_to_your_mcp_client_configuration:Agregue lo siguiente a la configuración de su cliente MCP
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funciona con Claude Desktop, Cursor, Windsurf, VS Code y cualquier cliente compatible con MCP.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funciona con Claude Desktop, Cursor, Windsurf, VS Code y cualquier cliente compatible con MCP.
your_email_address_has_been_changed:Tu dirección de correo electrónico ha sido cambiada
your_email_address_has_been_changed:Tu dirección de correo electrónico ha sido cambiada
@ -3025,7 +3025,7 @@ it: &it
mcp_token_has_been_removed:Il token MCP è stato rimosso.
mcp_token_has_been_removed:Il token MCP è stato rimosso.
enable_mcp_server:Abilita server MCP
enable_mcp_server:Abilita server MCP
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Tutte le connessioni MCP esistenti verranno interrotte immediatamente quando questa impostazione viene disattivata.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Tutte le connessioni MCP esistenti verranno interrotte immediatamente quando questa impostazione viene disattivata.
connect_to_wabosign_mcp:Connetti a WaboSign MCP
connect_to_product_name_mcp:Connetti a %{product_name} MCP
add_the_following_to_your_mcp_client_configuration:Aggiungi quanto segue alla configurazione del tuo client MCP
add_the_following_to_your_mcp_client_configuration:Aggiungi quanto segue alla configurazione del tuo client MCP
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funziona con Claude Desktop, Cursor, Windsurf, VS Code e qualsiasi client compatibile con MCP.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funziona con Claude Desktop, Cursor, Windsurf, VS Code e qualsiasi client compatibile con MCP.
your_email_address_has_been_changed:Il tuo indirizzo email è stato modificato
your_email_address_has_been_changed:Il tuo indirizzo email è stato modificato
@ -4070,7 +4070,7 @@ fr: &fr
mcp_token_has_been_removed:Le jeton MCP a été supprimé.
mcp_token_has_been_removed:Le jeton MCP a été supprimé.
enable_mcp_server:Activer le serveur MCP
enable_mcp_server:Activer le serveur MCP
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Toutes les connexions MCP existantes seront arrêtées immédiatement lorsque ce paramètre est désactivé.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Toutes les connexions MCP existantes seront arrêtées immédiatement lorsque ce paramètre est désactivé.
connect_to_wabosign_mcp:Se connecter à WaboSign MCP
connect_to_product_name_mcp:Se connecter à %{product_name} MCP
add_the_following_to_your_mcp_client_configuration:Ajoutez ce qui suit à la configuration de votre client MCP
add_the_following_to_your_mcp_client_configuration:Ajoutez ce qui suit à la configuration de votre client MCP
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Fonctionne avec Claude Desktop, Cursor, Windsurf, VS Code et tout client compatible MCP.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Fonctionne avec Claude Desktop, Cursor, Windsurf, VS Code et tout client compatible MCP.
your_email_address_has_been_changed:Votre adresse e-mail a été modifiée
your_email_address_has_been_changed:Votre adresse e-mail a été modifiée
@ -5118,7 +5118,7 @@ pt: &pt
mcp_token_has_been_removed:O token MCP foi removido.
mcp_token_has_been_removed:O token MCP foi removido.
enable_mcp_server:Ativar servidor MCP
enable_mcp_server:Ativar servidor MCP
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Todas as conexões MCP existentes serão interrompidas imediatamente quando esta configuração for desativada.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Todas as conexões MCP existentes serão interrompidas imediatamente quando esta configuração for desativada.
connect_to_wabosign_mcp:Conectar ao WaboSign MCP
connect_to_product_name_mcp:Conectar ao %{product_name} MCP
add_the_following_to_your_mcp_client_configuration:Adicione o seguinte à configuração do seu cliente MCP
add_the_following_to_your_mcp_client_configuration:Adicione o seguinte à configuração do seu cliente MCP
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funciona com Claude Desktop, Cursor, Windsurf, VS Code e qualquer cliente compatível com MCP.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funciona com Claude Desktop, Cursor, Windsurf, VS Code e qualquer cliente compatível com MCP.
your_email_address_has_been_changed:Seu endereço de e-mail foi alterado
your_email_address_has_been_changed:Seu endereço de e-mail foi alterado
@ -6166,7 +6166,7 @@ de: &de
mcp_token_has_been_removed:Das MCP-Token wurde entfernt.
mcp_token_has_been_removed:Das MCP-Token wurde entfernt.
enable_mcp_server:MCP-Server aktivieren
enable_mcp_server:MCP-Server aktivieren
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Alle bestehenden MCP-Verbindungen werden sofort gestoppt, wenn diese Einstellung deaktiviert wird.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Alle bestehenden MCP-Verbindungen werden sofort gestoppt, wenn diese Einstellung deaktiviert wird.
add_the_following_to_your_mcp_client_configuration:Fügen Sie Folgendes zu Ihrer MCP-Client-Konfiguration hinzu
add_the_following_to_your_mcp_client_configuration:Fügen Sie Folgendes zu Ihrer MCP-Client-Konfiguration hinzu
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funktioniert mit Claude Desktop, Cursor, Windsurf, VS Code und jedem MCP-kompatiblen Client.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Funktioniert mit Claude Desktop, Cursor, Windsurf, VS Code und jedem MCP-kompatiblen Client.
your_email_address_has_been_changed:Ihre E-Mail-Adresse wurde geändert
your_email_address_has_been_changed:Ihre E-Mail-Adresse wurde geändert
@ -7623,7 +7623,7 @@ nl: &nl
mcp_token_has_been_removed:Het MCP-token is verwijderd.
mcp_token_has_been_removed:Het MCP-token is verwijderd.
enable_mcp_server:MCP-server inschakelen
enable_mcp_server:MCP-server inschakelen
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Alle bestaande MCP-verbindingen worden onmiddellijk gestopt wanneer deze instelling wordt uitgeschakeld.
all_existing_mcp_connections_will_be_stopped_immediately_when_this_setting_is_disabled:Alle bestaande MCP-verbindingen worden onmiddellijk gestopt wanneer deze instelling wordt uitgeschakeld.
connect_to_wabosign_mcp:Verbinden met WaboSign MCP
connect_to_product_name_mcp:Verbinden met %{product_name} MCP
add_the_following_to_your_mcp_client_configuration:Voeg het volgende toe aan uw MCP-clientconfiguratie
add_the_following_to_your_mcp_client_configuration:Voeg het volgende toe aan uw MCP-clientconfiguratie
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Werkt met Claude Desktop, Cursor, Windsurf, VS Code en elke MCP-compatibele client.
works_with_claude_desktop_cursor_windsurf_vs_code_and_any_mcp_compatible_client:Werkt met Claude Desktop, Cursor, Windsurf, VS Code en elke MCP-compatibele client.
your_email_address_has_been_changed:Uw e-mailadres is gewijzigd
your_email_address_has_been_changed:Uw e-mailadres is gewijzigd