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.

Anatomy of the page
Section titled “Anatomy of the page”1. Page header
Section titled “1. Page header”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.
2. Asset grid
Section titled “2. Asset grid”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
3. Empty state
Section titled “3. Empty state”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.
Why read-only
Section titled “Why read-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.
Copy URL behaviour
Section titled “Copy URL behaviour”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.
Asset types
Section titled “Asset types”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.
Permissions and scope
Section titled “Permissions and scope”| Role | View | Copy URL | Download | Edit / Delete |
|---|---|---|---|---|
| Owner / Admin | ✓ | ✓ | ✓ | ✓ (via Settings ▸ Assets) |
| Member | ✓ | ✓ | ✓ | ✗ |
| Viewer | ✓ | ✓ | ✓ | ✗ |
All authenticated members see the same library — assets are organization-scoped, not user-scoped.
Implementation note
Section titled “Implementation note”The page composes two existing pieces with zero net-new logic:
useDigitalAssets()fromdigital-assets-api(the same hook the admin Settings page uses)AssetCardfrom the Settings folder, rendered withreadOnly={true}
The dual-use pattern means asset rendering stays consistent across the admin and member views — they’re literally the same component.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Most likely cause | Fix |
|---|---|---|
| Empty grid | No assets published yet | Ask an admin to upload under Settings ▸ Assets |
| Copy URL fails silently | Browser blocked clipboard write | Allow clipboard permission |
| Preview shows generic icon | Browser can’t render the file type natively | Use Download and open in the native app |
| Download serves an outdated version | CDN cache stale | Add a cache-bust query string or wait for TTL |
| URL 404s after admin renames | Asset re-uploaded under new path | Click Copy URL again to get the new URL |
Related pages
Section titled “Related pages”- Settings ▸ Assets — admin counterpart with full CRUD
- Profile ▸ General — your personal headshot lives there
- Profile ▸ Persona ▸ Signature — signature templates can reference logos from this library