From c484125672a664b95f30531a48b4de1754b84ebc Mon Sep 17 00:00:00 2001 From: David Huser <4357648+davidhuser@users.noreply.github.com> Date: Tue, 18 Aug 2026 12:33:16 +0200 Subject: [PATCH] successor notice: banner, about card, nav link, IT fork Co-Authored-By: Claude Fable 5 --- ...swiss-municipalities-mail-sovereignty.iml => mxmap.iml} | 4 ++-- README.md | 7 +++++++ css/shared.css | 6 +++++- index.html | 6 +++++- js/nav.js | 5 +++++ 5 files changed, 24 insertions(+), 4 deletions(-) rename .idea/{swiss-municipalities-mail-sovereignty.iml => mxmap.iml} (80%) diff --git a/.idea/swiss-municipalities-mail-sovereignty.iml b/.idea/mxmap.iml similarity index 80% rename from .idea/swiss-municipalities-mail-sovereignty.iml rename to .idea/mxmap.iml index 04828ef01..8c505f922 100644 --- a/.idea/swiss-municipalities-mail-sovereignty.iml +++ b/.idea/mxmap.iml @@ -1,8 +1,8 @@ - + - + diff --git a/README.md b/README.md index 0e6a7af7c..33a26dfa1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # MXmap — municipal email infrastructure maps +> [!IMPORTANT] +> **MXmap has a successor.** This project grew into a team research effort covering all municipalities in Germany, Austria and Switzerland: **[secassure2026.mxmap-project.org](https://secassure2026.mxmap-project.org/)** ([source](https://github.com/mxmap/secassure2026)). The Swiss map at [mxmap.ch](https://mxmap.ch) stays online, but its data is frozen as of April 2026 and will not be updated. + [![CI](https://github.com/davidhuser/mxmap/actions/workflows/ci.yml/badge.svg)](https://github.com/davidhuser/mxmap/actions/workflows/ci.yml) Interactive maps showing where Swiss municipalities host their email and how deeply their DNS is tied to US hyperscalers (Microsoft, Google, AWS) versus Swiss providers and self-hosted solutions. @@ -82,6 +85,7 @@ uv run ruff format src tests ## Related work +* [SecAssure2026](https://secassure2026.mxmap-project.org/) — the successor to this project: email provider and email security maps for ~15,300 municipalities across Germany, Austria and Switzerland ([source](https://github.com/mxmap/secassure2026)) * [hpr4379 :: Mapping Municipalities' Digital Dependencies](https://hackerpublicradio.org/eps/hpr4379/index.html) * If you know of other similar projects, please open an issue or submit a PR to add them here! @@ -93,6 +97,7 @@ Country-specific forks, alphabetical by country code: * **DE** — https://b42labs.github.io/mxmap/ · https://mx-map.de/ * **EU** — https://livenson.github.io/mxmap/ * **FR** — https://mxmairies.fr/ +* **IT** — https://mxmap.it/ * **LV** — https://securit.lv/mxmap * **NL** — https://mxmap.nl/ * **NO** — https://kommune-epost-norge.netlify.app/ @@ -100,6 +105,8 @@ Country-specific forks, alphabetical by country code: * **SE** — https://swedish-mail-dependency.netlify.app/ * **UK** — https://mxmap.uk/ +New country forks are welcome — consider starting from the [successor's pipeline](https://github.com/mxmap/secassure2026), which adds a DANE/DNSSEC/SPF/DMARC scanning stage. + Related projects: * [CAmap Nordic & Baltic](https://koldex.github.io/ca-sovereignty-map/) — TLS CA sovereignty for Nordic and Baltic municipalities ([source](https://github.com/koldex/ca-sovereignty-map)) diff --git a/css/shared.css b/css/shared.css index 2c1e72c2b..089216fcc 100644 --- a/css/shared.css +++ b/css/shared.css @@ -23,6 +23,8 @@ body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans- white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 12px; } +.header-disclaimer a { color: inherit; text-decoration: underline; text-underline-offset: 2px; } +.disclaimer-short { display: none; } #nav { display: flex; align-items: center; gap: 8px; position: relative; margin-left: 6px; } @@ -46,5 +48,7 @@ body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans- .nav-menu .header-link:last-child { border-bottom: none; } @media (max-width: 600px) { - .header-disclaimer { display: none; } + .header-disclaimer { font-size: 11px; padding: 0 6px; } + .disclaimer-long { display: none; } + .disclaimer-short { display: inline; } } diff --git a/index.html b/index.html index 2c80281a1..f3f815011 100644 --- a/index.html +++ b/index.html @@ -46,7 +46,7 @@

MXmapmunicipal email infrastructure

- Beta: data may be out of date or incorrect. A research project is ongoing to further develop these maps. + Data frozen (April 2026) — successor with live maps for Germany, Austria & SwitzerlandFrozen — new DACH maps
@@ -76,6 +76,10 @@

Open source & open data

The code and data are on GitHub.

+
+

Successor project

+

MXmap grew into a team research effort, currently in peer review, mapping email providers and email security for ~15,300 municipalities across Germany, Austria and Switzerland. The Swiss data here is frozen as of April 2026. Visit the new maps.

+
diff --git a/js/nav.js b/js/nav.js index 17b9713f5..d5dee4375 100644 --- a/js/nav.js +++ b/js/nav.js @@ -2,6 +2,7 @@ (function () { var path = window.location.pathname; var links = [ + { href: 'https://secassure2026.mxmap-project.org/', label: 'DACH maps ↗' }, { href: '/impressum.html', label: 'Impressum' }, { href: '/datenschutz.html', label: 'Datenschutz' }, ]; @@ -14,6 +15,10 @@ a.href = link.href; a.className = 'header-link'; a.textContent = link.label; + if (link.href.indexOf('http') === 0) { + a.target = '_blank'; + a.rel = 'noopener'; + } if (path === link.href) a.classList.add('active'); return a; }