Section: Configuration Order: 110 # Branding & themes Everything that ties Orbit to a particular network or brand lives in [`config.json`](https://orbit.tchatou.fr/docs/config/) under `branding` and `defaults` — no code changes, no rebuild. ## Rebrand ```json { "branding": { "name": "ExampleChat", "icon": "https://example.org/logo.svg", "url": "https://example.org", "tagline": "Chat with", "taglineEm": "everyone.", "subtitle": "Public rooms, private messages, and moderation that works." } } ``` `branding.name` and `branding.icon` reach **everywhere** the app identifies itself: the connect screen, the browser tab title + **favicon**, desktop and Web Push notifications, the PWA install prompt (name + description, localized), the iOS home-screen title, the network icon, and the CTCP VERSION/SOURCE replies. Point `icon` at your own logo URL and the tab icon follows. ## Themes Orbit ships four themes: - **light** — clean, default. - **dark** — easy on the eyes. - **yomirc** — a retro mIRC / Windows-95 skin (silver chrome, fixed-width log lines). - **yomirc-dark** — the retro skin in a dark palette. Set the default for new users: ```json { "defaults": { "theme": "dark" } } ``` Users can switch any time in **Settings → Appearance**. See the [Themes wiki page](https://orbit.tchatou.fr/wiki/themes/). ## Feature flags Hide whole features per deployment: ```json { "features": { "push": true, "imageUpload": true, "register": false } } ``` - `push` — Web Push notifications: the Settings row **and** the re-subscribe-on-connect. - `imageUpload` — the composer image button **and** paste / drag-drop upload. - `register` — account self-service: the "Create account" button, the "Forgot password" link, and their FAQ entries (all hidden together). ## Languages The UI and the bundled plugins are fully translated in **10 languages** (auto-detected). Pin a default with [`defaults.lang`](https://orbit.tchatou.fr/docs/config/); users can switch in Settings.