Home/Docs

White-label PDF reports

Your agency's logo, accent colour, and footer on every PDF you export — and on every client portal page you share. Agency plan only.

Agency only

What you can customise

  • Logo — PNG, JPEG, or SVG. Renders large and centred on the title page (page 1 of every PDF), and as the wordmark on the client portal page.
  • Company name — fallback wordmark when no logo is set; also the "author" metadata field in the PDF (so the document properties say "Acme Audits" not "Seoxpert").
  • Accent colour — drives the cover dot, eyebrow text, score number, executive next-action card border, working-well bullets, category bars, and mobile-readiness bucket scores. Severity colours (critical / high / medium / low) stay semantic — don't override those, the report stops being readable.
  • Report footer — short text shown on every PDF page (your agency name, contact email, "Confidential" disclaimer, etc.). 200 chars max.

How to set it up

  1. Open Settings → Branding. (Agency-only — Pro / Free see an upgrade card.)
  2. Upload a logo. Use the file picker — we encode it as a base64 data URL on the client and store it inline on your workspace row. The server rejects raw https:// logo URLs because @react-pdf/renderer can't reliably fetch external images at render time (the result is "logo shows in preview, missing from PDF" — exactly the bug we fixed in April 2026).
  3. Pick an accent colour. Any 3- or 6-char hex — #0d9488, #abc, etc. The PDF cover preview to the right re-renders as you type so you can iterate.
  4. Set company name + footer text if you want the inline wordmark / per-page footer to read your agency, not Seoxpert.
  5. Each field saves on blur — no Save button, no "unsaved changes" warning. Reload the page; the values persist.

What the title page looks like

As of April 2026, the first page of every PDF is intentionally minimal:

  • Centred logo (or wordmark fallback if no logo is set)
  • Domain hostname
  • "SCAN REPORT" eyebrow
  • Generation date

Score, stats, severity legend, and metadata move to page 2 (the Summary page). This gives reports the "cover sheet" convention every consulting deck uses, and gives your logo the visual weight it deserves.

Where branding applies

SurfaceBranded?
PDF report (download or share-link)Yes — every section
Client portal page (/portal/<token>)Yes — header logo + accent colour throughout
Web /scans/[id] dashboard viewNo — Seoxpert chrome (it's your internal tool)
CSV exportsNo — data only, no chrome to brand
Notification emailsNo (planned, not yet shipped)

Plan-gate enforcement

The white-label gate is checked at two points:

  • At edit time: PATCH /api/account/workspace-brand rejects with 403 if the workspace owner isn't on Agency.
  • At PDF render time: the report route looks up the scan owner's plan AT REQUEST TIME and only passes branding through if Agency. So a customer who downgrades Agency → Pro instantly reverts to Seoxpert defaults on their next PDF, and re-upgrading restores branding without losing the saved values.

Plan availability

Agency only.White-label is the headline differentiator that justifies Agency pricing — Pro deliberately doesn't get it. Pro users see an upgrade card in the Branding panel.