---
id: w5/m2/t002
title: Hide Ory Elements branding across all Kratos flow pages
worker: worker5
status: done
estimate: 30m
depends_on: [w5/m2/t001]
---

## Objective

Remove Ory's own branding (logo/badge) from every page that renders an `@ory/elements-react` flow component, so the auth pages read as bex's product, not a vendor widget.

## Context

- `dashboard/src/common/lib/ory/config.ts` — `oryConfig.project` already sets `name: "bex"` (per `@ory/elements-react`'s `ProjectConfiguration`, this is what `DefaultCardLogo` falls back to when no `logo_light_url`/`logo_dark_url` is set — confirm whether "bex" text alone is still showing an Ory mark alongside it).
- `ProjectConfiguration` (from `@ory/elements-react`, see `node_modules/@ory/elements-react/dist/index.d.ts`) has `hide_ory_branding?: boolean` — "Whether to hide the Ory branding badge on the account experience card. Defaults to `false`. Customers on qualifying plans can opt into hiding it." Set this to `true` in `oryConfig.project`.
- If a logo/mark still renders after that (e.g. the card header's `DefaultCardLogo`/`OryCardLogo`), use the Component System (`components` prop on `<Login>`/`<Registration>`/`<Recovery>`/`<Settings>`, or `getOryComponents()` from `@ory/elements-react/theme`) to override `Card.CardHeader` or the logo component specifically — see `dashboard/src/features/auth/pages/login-page/index.tsx` etc. for where the `<Login flow={flow} config={oryConfig} .../>` calls live.
- Verify visually (not just by reading types) — render each page and take a snapshot/screenshot; `hide_ory_branding` might only affect a specific "badge" element, not the card header logo, so both need checking.

## Steps

1. Set `hide_ory_branding: true` in `oryConfig.project` (`dashboard/src/common/lib/ory/config.ts`).
2. Boot the dashboard (locally or against the deployed pod) and visually inspect login/register/forgot-password/settings pages for any remaining Ory logo/mark/link.
3. If anything remains, add a `components` override (Component System) on the relevant flow component(s) to suppress it — prefer the least-code fix (a config flag) over a component override if the flag alone works.

## Files

- `dashboard/src/common/lib/ory/config.ts`
- `dashboard/src/features/auth/pages/{login-page,register-page,forgot-password-page,settings-page}/index.tsx` (only if a component override is needed)

## Acceptance criteria

- [ ] No Ory logo, wordmark, or "powered by Ory" link is visible on any rendered auth page, confirmed by an actual browser pass (Playwright snapshot or screenshot), not just a config read.
- [ ] `yarn typecheck && yarn lint` pass.

## Out of scope

- Broader visual polish of these pages (t003/t004).
