Instance branding in Topologix
Infrastructure & Networking
An instance can show “Powered by …” logos of its partners — for example the cloud it runs on and the provider that operates it — on the sign-in screens, the public pages and a slim line under every signed-in page. The instance super admin sets them up in Admin → System → Branding; there is one set per instance. Topologix ships no third-party logo: upload only marks the instance has the right to use (AWS, for example, publishes a “Powered by AWS” badge for its customers under its trademark guidelines).
Requirements
- A super admin account on the instance.
- The partner logos as PNG, JPEG, WebP or SVG, at most 512 KB each — and optionally a second version for dark backgrounds.
Set it up
- Open Admin → System → BrandingSigned in as a super admin, open Admin, the System tab, and scroll to Branding.
- Add the partnersClick Add partner (up to 6). For each: the label (default “Powered by”, up to 40 characters), the name (up to 60 — it is also the logo’s alternative text), an optional link (https:// only; it opens in a new tab), the logo and, optionally, a logo for dark backgrounds. The arrows set the order.
- Choose whereSign-in screens (below the sign-in card, and on the sign-up, password-reset and e-mail confirmation screens), Public pages (the landing page footer and the Privacy / Terms / Security / Status / Docs pages) and In the app (a slim line under every signed-in page). All three are on by default.
- Check the preview, then saveThe preview shows the logos on a light and on a dark background exactly as visitors will get them. Turn on Show “Powered by” and click Save Branding. Sign out to see the sign-in screen.
What happens to an uploaded logo
Every logo is converted to a PNG
The server recognises the file by its content (never by its name), decodes it and stores a new PNG that fits 320 × 120 pixels, without any metadata (camera or editor data, EXIF). An SVG is turned into an image when it is uploaded: the SVG itself is never stored or shown, so nothing in it can run. An SVG that declares entities is refused. A file over 512 KB is refused (413); a file that is not a PNG, JPEG, WebP or SVG is refused (415).
Light and dark
The sign-in screens and the public pages are always dark; signed-in pages follow each user’s theme. Where a partner has a logo for dark backgrounds it is used on dark surfaces and the main logo on light ones; without one, the main logo is used on both — check the dark preview.
Removing a logo
Saving the branding deletes the logos it no longer uses. A logo uploaded but never saved is deleted by a later save once it is an hour old.
What visitors load
Public, same origin, nothing else
The sign-in screen reads GET /api/auth/branding (the partners’ labels, names, links and logo addresses, and where to show them — nothing when branding is off) and each logo from /api/auth/branding/logo/<sha256>.png. Both are public and served by the instance itself, so the page’s content security policy stays “images from this site only”. A logo is served as image/png with X-Content-Type-Options: nosniff, Content-Security-Policy: default-src 'none' and a one-day immutable cache (a new upload gets a new address).
- The bundled nginx site answers these two paths without the sign-in rate limit, so a page with several logos never slows down a sign-in; they accept GET only.
- Every logo upload and every save writes an activity entry (Admin → Activity).
Good to know
- Turning Show “Powered by” off hides every placement at once and keeps the partners for later.
- The in-app line sits under the page content (never over the canvas or a phone’s panels); on a phone it shows the logos only.
Related guides
See it on your own infrastructure
Book a demo and we will walk you through Topologix with your systems in mind: on our cloud, or self-hosted in your own network.