Skip to content

Profile — Persona ▸ Branding

The Profile ▸ Persona ▸ Branding page is a read-only viewer for the organization’s shared media library. Logos, brand imagery, headshots, and marketing collateral all live here so any authenticated member can grab a CDN URL or download a local copy without bothering an admin.

Profile Branding — Acme Financial Group demo tenant

Standard PageHeader with the title Digital Assets and a one-line description. Lives at the top of the right-hand content panel under the Profile left-nav.

A responsive grid: 1 column on mobile, 2 on tablet, 3 on desktop. Each card is a shared AssetCard component (rendered in readOnly mode here) that also powers the admin-write Settings ▸ Assets surface.

Each card shows:

  • A preview thumbnail (image or generic file icon)
  • The asset’s display name and label
  • Type and size pills
  • A Copy URL action button
  • A Download action button

If no assets exist, a centered card with an image icon explains that the admin hasn’t seeded anything yet. The Profile page does not surface an “upload” CTA — that’s intentionally admin-only.

The page is intentionally non-editing for two reasons:

  • Brand integrity — assets are curated by admins; member uploads here would dilute the official set
  • Compliance — many tenants ship regulatory collateral via this channel and need write access locked to admins

For admin write access, see Settings ▸ Assets.

The Copy URL action writes a fully-qualified CDN URL to the clipboard:

  • The URL is publicly addressable — no authentication required to fetch
  • Cache headers are CDN-friendly (long TTL with versioned paths)
  • Renames preserve the URL by re-uploading under the new path; the old URL 404s

If your asset is sensitive enough that public addressability is unacceptable, use Download and attach the file to a private document directly.

There is no fixed schema. Common categories:

  • Logos (primary, secondary, monochrome, light/dark variants)
  • Headshots (when an admin curates them centrally vs. each user uploading their own under Profile ▸ General)
  • Brand imagery (patterns, hero photos, illustration sets)
  • Marketing collateral (one-pagers, decks, regulatory disclosures)
  • Compliance documents (e.g., privacy notice, AML policy summary)

Your admin decides what to publish; this page surfaces whatever exists.

RoleViewCopy URLDownloadEdit / Delete
Owner / Admin✓ (via Settings ▸ Assets)
Member
Viewer

All authenticated members see the same library — assets are organization-scoped, not user-scoped.

The page composes two existing pieces with zero net-new logic:

  • useDigitalAssets() from digital-assets-api (the same hook the admin Settings page uses)
  • AssetCard from the Settings folder, rendered with readOnly={true}

The dual-use pattern means asset rendering stays consistent across the admin and member views — they’re literally the same component.

SymptomMost likely causeFix
Empty gridNo assets published yetAsk an admin to upload under Settings ▸ Assets
Copy URL fails silentlyBrowser blocked clipboard writeAllow clipboard permission
Preview shows generic iconBrowser can’t render the file type nativelyUse Download and open in the native app
Download serves an outdated versionCDN cache staleAdd a cache-bust query string or wait for TTL
URL 404s after admin renamesAsset re-uploaded under new pathClick Copy URL again to get the new URL