Google flags Immich sites as dangerous
Reports of False Positives and Real-World Impact
- Multiple people report Google Safe Browsing falsely flagging:
- Self‑hosted Immich instances (often on
immich.example.com). - Other self‑hosted apps: Jellyfin, Nextcloud, Home Assistant, Umami, Gitea, Portainer.
- Business documentation sites, WordPress installs, webmail, even internal-only or LAN-only services.
- Self‑hosted Immich instances (often on
- Effects include Chrome’s red “dangerous site” interstitial, Firefox/Brave/DNS resolvers blocking via the same list, and in some cases long‑term damage to domain reputation and email deliverability.
- Appeals through Google Search Console sometimes work, but flags often reappear; process is opaque and slow, with boilerplate responses.
How Sites Seem to Get Flagged
- Heuristics mentioned in the thread:
- Generic login pages that look like other self‑hosted products or cloud services (Immich, Jellyfin, Nextcloud, Home Assistant, “gmail.”, “plex.”).
- Multi‑tenant domains where different subdomains host different content (including Immich’s PR preview subdomains).
- Chrome’s Safe Browsing pipeline (hashing “page color profiles” / layout similarity, plus many other unspecified signals).
- Discovery of URLs via:
- Gmail scanning (disputed; others argue Chrome’s “enhanced protection” URL uploads explain it).
- Certificate Transparency logs listing new hostnames.
- Some claim even non‑public or robots.txt‑blocked sites and purely internal domains have been flagged.
Immich Preview Architecture and Risk
- Immich ran PR preview environments under
*.preview.internal.immich.cloud. - Concern: anyone submitting a PR could, via maintainer labeling, get arbitrary code deployed on a first‑party domain, enabling phishing or abuse.
- Maintainer clarifies:
- Only internal branches and maintainer‑applied labels can trigger previews; forks cannot.
- Nonetheless, contributors’ code is being hosted on the same second‑level domain as production resources, which Safe Browsing treats as high‑risk.
- Immich is moving previews to a separate domain (
immich.build), but that alone doesn’t fully solve Safe Browsing behavior.
Public Suffix List and Multi‑Tenant Domains
- Several comments note: if you host user (or contributor) content on subdomains, your base domain should be listed on the Public Suffix List (PSL) so:
- Browsers treat each subdomain as a separate “site” for cookies and, possibly, Safe Browsing blast radius.
- Many developers admit they had never heard of the PSL; others say it’s “tribal knowledge” for hosting user content.
- Tradeoff: PSL makes cross‑subdomain auth harder, but improves isolation.
Power, Due Process, and Responsibility
- Strong criticism of Google’s effective gatekeeping:
- One company’s opaque, automated system can render a domain “dangerous” to most users, with no clear standards, timeline, or human contact.
- Fears of anticompetitive use (Immich competes with Google Photos), and of the mechanism being weaponizable against self‑hosting.
- Discussion of libel, tortious interference, small‑claims suits, and antitrust; some suggest coordinated legal action.
- Others push back:
- Any effective malware/phishing filter must have some false positives.
- Given Immich’s architecture (PR previews on a first‑party domain without PSL separation), Google’s classification is technically understandable even if painful.
- Overall tension: user safety vs. the right of small operators to deploy and self‑host without being silently penalized by a de facto monopoly list.