diff --git a/docs/16-jellyfin-branding-leaks.md b/docs/16-jellyfin-branding-leaks.md new file mode 100644 index 0000000..5de3606 --- /dev/null +++ b/docs/16-jellyfin-branding-leaks.md @@ -0,0 +1,476 @@ +# 16 - Jellyfin Branding Leaks (Read-Only Audit) + +> Owner wants ALL Jellyfin branding hidden user-side. This doc inventories every +> place a logged-in non-admin still sees the word "Jellyfin" or the +> teal/purple triangle logo, and proposes a concrete fix for each. + +Last verified: 2026-05-08 against live `https://arrflix.s8n.ru` running +Jellyfin 10.10.3 (`jellyfin/jellyfin` image). Probe account: `marco` +(non-admin, `EnableUserPreferenceAccess=false`). + +This doc is **read-only**. No CSS POSTs, no bundle edits, no service +restarts performed. Implementation is a follow-up branch. + +--- + +## TL;DR — counts + +| Surface | Reachable as non-admin? | Raw "Jellyfin" mentions | +|---|---|---| +| `index.html` (live, bind-mount) | Yes | 0 (already shimmed: title, app-name, favicon, splashLogo) | +| PWA manifest `fd4301fdc170fd202474.json` | Yes (PWA install + iOS Safari add-to-home + Android install prompt) | **2** (`name`, `short_name`) | +| en-us i18n chunk | Yes (3 entries reachable; 19 are admin/dashboard/wizard) | 22 keys, **3 user-reachable** | +| `main.jellyfin.bundle.js` literals | Edge | 2 (`appName():"Jellyfin Web"` not visible; one error-route phrase) | +| Logo screensaver (`banner-light.png`) | Yes (idle timeout, default 3min) | 1 image asset | +| Apple-touch-startup-image splash PNGs | Yes (iOS Safari "Add to Home" PWA only) | ~20 images | +| Service worker registration message | No | 0 (clean — no JF strings) | +| chromecastPlayer plugin chunk | No (we hide cast btn; chunk only loads if cast invoked) | 0 | +| Browser tab title / favicon | No | 0 (already locked by shim) | + +**Recommended fix path:** **CSS hide + JS shim + manifest bind-mount.** No bundle modifications. CSS alone is insufficient (manifest, i18n, screensaver image are CSS-invisible). + +--- + +## Already-fixed (don't redo) + +| Surface | Mechanism | Doc | +|---|---|---| +| `