BluAuth
Docs
Sign in
User FAQ
  • Reset my password
  • I can't sign in
  • Didn't get reset email
  • Account linking
  • Session expiry
  • Two-factor auth
Admin Guides
Theme Studio
  • Overview
  • Layouts
  • Styling tokens
  • Concept copy
  • Assets & backgrounds
  • Advanced CSS
Admin Shell
  • Users
  • Providers
  • Clients
  • Invitations
Integrations
  • OIDC flow
  • Legacy OAuth flow
  • Provider token brokering
  • Email triggers
  • Webhook events
  • Session contract
Reference
  • API
  • Error codes
  • Event shapes
  • Design tokens
Runbooks
  • Deployment
  • Local operations

Concept Copy

Every screen in the hosted login — login, forgot password, reset password, force-reset, verify-email, error — is rendered by the same theme, but each concept can display different copy. The studio exposes overrides for all of them. If you don't override, BluAuth uses a sensible default tuned to the Precision Curator tone (see design tokens).

The concept × mode matrix

A concept is the screen. A mode is the interaction state inside that screen. Copy flows through both.

ConceptModeAffordances shown
loginsigninEmail + password inputs, provider buttons, "forgot password" link, "sign up" toggle
loginsignupEmail + password + confirm, provider buttons, "sign in" toggle
forgot-passwordforgotEmail input, Send reset link button
reset-passwordresetNew password + confirm (token flow) or current + new + confirm (force-reset)
verify-email—Status indicator for the in-progress verification
errorerrorInline error state — usually rendered as an alert above the form

Copy overrides are scoped to the concept, not the mode. You set one heading for login and it covers both sign-in and sign-up — though BluAuth will substitute "Create your account" in subheading contexts when authMode === 'signup' if you haven't overridden it.

The default copy

If you don't override, BluAuth uses:

ConceptHeadingSubheading
loginBluAuth (from headingText)"Use your enterprise identity to continue" (from subheadingText)
forgot-password"Forgot your password?""Enter your email and we'll send you a reset link."
reset-password"Choose a new password""Pick something strong and memorable."
force-reset"Reset your password""Your administrator requires a password update before you can continue."
verify-email"Verifying…"—
error—Inline error message

The defaults live in HOSTED_LOGIN_THEME_DEFAULTS and the concept resolver. You can see the resolved copy in the preview pane by switching the Concept dropdown above the preview.

Override surface

Under Copy in the theme editor:

Theme-level (login concept)

  • Heading Text (headingText) — the top-level heading shown on /login for sign-in. Shown as the main title across every layout.
  • Subheading Text (subheadingText) — the supporting line under the heading.

Per-concept overrides

  • Forgot Password Heading / Subheading (forgotPasswordHeadingText, forgotPasswordSubheadingText) — overrides the /forgot-password screen.
  • Reset Password Heading / Subheading (resetPasswordHeadingText, resetPasswordSubheadingText) — overrides the /reset-password screen. Covers both the token flow and the force-reset path.

These are concept-scoped — setting them does not change the login heading. Leave them empty to inherit the defaults above.

Cross-concept affordances

  • Provider Section Label (providerSectionLabel) — the small all-caps label above the enterprise sign-in provider list. Default: "Enterprise sign-in". Rendered on every layout that shows providers.
  • Support Text (supportText) — a small line below the form. Default: "Need help? Contact your administrator." Rendered on every concept.
  • Footer Text (footerText) — fine-print footer. Default: "Powered by BluAuth". Rendered once, below the form card.

Hero content

Hero content renders across all layouts, not just split-hero. Each layout has its own idiom for presenting it (see layouts for the rendering map).

  • Hero Eyebrow (heroEyebrowText) — a small all-caps tag above the heading. Renders as a glass chip on aurora, as a small all-caps label on split-hero / cinematic-split / minimal / centered-card.
  • Hero Card 1 / Hero Card 2 — two optional action cards:
    • Eyebrow (heroCard1Eyebrow, heroCard2Eyebrow)
    • Title (heroCard1Title, heroCard2Title) — required to render the card.
    • Description (heroCard1Description, heroCard2Description)
    • URL (heroCard1Url, heroCard2Url) — optional. When set, the card becomes a link and opens in a new tab.

Cards with an empty title are skipped — if you fill only Card 1, only one card renders.

How concept-level copy overrides default

Resolution order for any concept heading:

  1. Concept-specific override field (e.g. forgotPasswordHeadingText on the forgot-password concept).
  2. Top-level theme field (headingText for login).
  3. Hard-coded fallback in HOSTED_LOGIN_THEME_DEFAULTS.

Which means: if you set headingText: "Acme" and leave the others empty, the login screen shows "Acme" and the forgot-password screen shows "Forgot your password?" (the default) — not "Acme."

If you want every concept to show "Acme," set headingText and forgotPasswordHeadingText and resetPasswordHeadingText — or, better, lean on the per-concept copy to guide users through the flow and only use headingText for the login screen.

Reset password: token flow vs forced reset

The reset-password screen serves two paths from the same URL, with different affordances:

  • Token flow — user clicked a reset link from their email. Shows resetPasswordHeadingText / resetPasswordSubheadingText and a single New password input plus confirm.
  • Forced reset — admin flipped requirePasswordReset on the user record. Shows the same headings but adds a Current password input (the user must verify they know their existing password before setting a new one) and the primary button label changes to Update password.

Both flows share the same copy overrides — resetPasswordHeadingText etc. cover both. If you need truly distinct copy for the force-reset path specifically, tailor the subheading to cover both cases ("Update your password to continue" works for both token and forced flows) or file an issue to track per-mode overrides.

Email copy

The invitation, password reset, and welcome emails use the same theme record but have their own copy defaults baked into the email templates. The studio does not expose per-email copy overrides — if you need tenant-specific email copy, coordinate with the platform team. Email subject, greeting, and call-to-action text are templated against the theme name, recipient name, and client name; the logo and primary color resolve from the bound theme.

Guidelines

  • Keep headings short. They set scale for the whole page — long headings squeeze the form, wrap awkwardly on mobile, and fight the hero content. 4-6 words is a safe upper bound.
  • Use the subheading for context, not instructions. "Use your enterprise identity to continue" is good. "Type your email below and click the blue button" is noise — and it ages poorly if the button moves or changes.
  • Don't put sensitive information in copy. No internal URLs in footer text. No escalation paths for legal/compliance roles ("email legal@yourco.com if…") — those belong in a private admin runbook, not the login page.
  • Localize at the theme level. BluAuth is single-locale today. If a tenant needs French copy for a French-speaking region, run a separate theme for that client and bind it to the appropriate OAuth client. Future multi-locale support will resolve locale per request, but it's not here yet.
  • Mind the provider label. The default "Enterprise sign-in" is appropriate for internal tools; for consumer-facing apps, consider "Sign in with" or "Continue with."

Preview across concepts

The studio's Concept selector above the preview lets you swap the concept being rendered without leaving the editor. Use it to verify each override before saving — especially the reset-password path, which most admins forget to test.

Next

  • Assets and backgrounds — logo and background image interact with hero content.
  • Layouts — the hero idiom per layout.
  • Advanced CSS — when copy alone isn't enough.

On this page

  • The concept × mode matrix
  • The default copy
  • Override surface
  • Theme-level (login concept)
  • Per-concept overrides
  • Cross-concept affordances
  • Hero content
  • How concept-level copy overrides default
  • Reset password: token flow vs forced reset
  • Email copy
  • Guidelines
  • Preview across concepts
  • Next
DocsPrivacyTerms
© 2026 Blu Digital Group