Ahh Yes… Auth… Auth Token.
Keeping in mind that flat icons and the old CDN URL still work, and fetches the image if used.
Fingers crossed… ![
] Wally / Opontios that its just an Auth Token issue as you have pointed out that there are going to be more non functioning broken links out there.
I have issued a bug report on GITHub for the developer of the Mushroom implementation and the dev has responded and escalated it to HA, with request to apply the necessary and same token authentication as the “Tile card”.
Just to keep the language straight…
Implementation = Native HA implementation
Plugin = HACS implementation
It might just be that all Implementations / Plugins just needs an empty brands folder to invoke the Auth Token mech but that’s not conclusive as Frenck’s document shows everything in the CC folder rather than the WWW folder and this may be where they need to reside to work… I hope not…
I’m not sure as it might just be an illustrative example placed in the CC folder and not the WWW folder for document purposes only.
As an example if you look at the HACS “Simple Timer” implementation, you will see this has already been implemented in this plugin. The “brands” folder structure exists to make use of a local offline stale image.
However… Note that it resides in the CC folder and not in the WWW folder, I don’t know if this location required for it to work or if it just does not matter.
Moving forward I think all implementations / plugins that require the use of their own entity picture (offline ) will need a “brands” folder.
The problem lay when you want to make use of other stock available branded entity pictures locally (offline) other than its own might have need of a brands folder within its implementation / plugin with alternate Auth token to access it, I’m not sure so we will have to wait and see what happens… ![
]
I believe that is how the Auth token mechanism works as stated below.
Starting with Home Assistant 2026.3, custom integrations can include their own brand images (icons and logos) directly in the integration directory. No more submitting to a separate repository — just drop your images in a brand/ folder and they show up in the UI.
Local brand images for custom integrations
Add a brand/ directory to your custom integration with your icon and logo files:
custom_components/my_integration/├── __init__.py├── manifest.json└── brand/ ├── icon.png └── logo.png
and
These endpoints require authentication. The brandsUrl() helper handles this automatically by appending an access token. If you construct URLs manually, obtain a token via the brands/access_token WebSocket command and append it as a token query parameter.