Et barometer for digital suverenitet i det offentlige Norge, målt gjennom e-post https://sb.torbjorn.dev
  • HTML 41.2%
  • CSS 33.5%
  • Python 23%
  • HCL 2.3%
Find a file
Torbjørn Bang 469f56dd38
All checks were successful
🐰 Deploy to Bunny.net / 🛠️ Deploy infrastructure (push) Successful in 16s
🐰 Deploy to Bunny.net / 🎨 Build and deploy site (push) Successful in 14s
🐰 Deploy to Bunny.net / 🚮 Purge cache (push) Successful in 1s
Remove IP allowlist edge rule
2026-04-22 21:31:45 +02:00
.forgejo/workflows Regenerate weekly, not on push 2026-04-22 00:54:22 +02:00
infra Remove IP allowlist edge rule 2026-04-22 21:31:45 +02:00
src Revert provider distribution bar 2026-04-22 10:23:36 +02:00
.gitignore Initial commit 2026-04-22 00:10:03 +02:00
CLAUDE.md Initial commit 2026-04-22 00:10:03 +02:00
LICENSE Initial commit 2026-04-22 00:10:03 +02:00
pyproject.toml Initial commit 2026-04-22 00:10:03 +02:00
README.md Initial commit 2026-04-22 00:10:03 +02:00

Suverenitetsbarometer

Interaktivt kart som viser hvilke leverandører det offentlige Norge benytter for epost tjeneste. Formålet er å kunne visualisere nåtidsbildet og kunne se endringer og trender.

Kartlegging gjøres utelukkende basert på offentlig DNS data. Ingen epost tjenester blir forsøkt aksessert/koblet til som en del av kartleggingen.

Nettside: sb.torbjorn.dev (eller åpne index.html lokalt).

Instruksjon

Krever Python 3.10+. Avhengigheter er deklarert i pyproject.toml og håndteres best med uv.

uv run python src/lookup.py

Dette setter opp virtuelt miljø automatisk, gjør DNS-oppslag for alle enheter i src/data/enheter.csv, og skriver resultatene til src/web/status.json. Tar ca. 23 minutter.

Uten uv:

pip install dnspython
python src/lookup.py

For å vise kartet lokalt:

uv run python -m http.server -d src/web 8080   # eller: python -m http.server -d src/web 8080
open http://localhost:8080

enheter.csv-format

Navn,domene,alt_domene,type,lat,lon
  • type: kommune, lokalstyre, fylke eller statlig (lokalstyre brukes kun for Longyearbyen på Svalbard)
  • alt_domene: Valgfritt alternativt domene for MX-oppslag
  • lat/lon: Koordinater for prikker på kartet (kun fylke/statlig)

Metodikk

Alt er basert på offentlig tilgjengelig DNS-informasjon. Ingen systemer ble forsøkt aksessert.

1. MX-oppslag

Første steg er å slå opp MX-posten (Mail eXchange) for hvert domene. Denne forteller hvor innkommende e-post sendes. Peker den direkte til *.mail.protection.outlook.com (Microsoft 365) eller *.google.com (Google Workspace), er svaret klart.

2. Deteksjon bak spamfiltre

Mange enheter bruker et spamfilter (Proofpoint, Trend Micro, Comendo, Barracuda m.fl.) foran den faktiske e-posttjenesten. For å finne den egentlige leverandøren bruker vi:

  • SPF-oppslag: Sjekker om domenet autoriserer spf.protection.outlook.com eller _spf.google.com.
  • DKIM-oppslag: Sjekker om selector1._domainkey peker til *.onmicrosoft.com (Microsoft 365) eller google._domainkey finnes (Google Workspace).
  • Autodiscover: Sjekker om autodiscover.domene.no peker til autodiscover.outlook.com.

3. Klassifisering

Suverenitet bestemmes av hvor postkassen ligger (data i ro), ikke av spamfilteret:

Resultat Betydning
Amerikansk Postkassen er hos en amerikansk leverandør (Microsoft 365, Google Workspace)
Europeisk (EØS) MX eller backend peker til en operatør i EØS utenfor Norge (f.eks. Comendo, Sophos, Heimdal)
Norsk MX peker til en norsk operatør og vi finner ingen amerikansk backend
Ukjent Ikke nok informasjon til å fastslå backend

Begrensninger

  • Vi ser bare det DNS eksponerer. Noen enheter bruker spamfiltre uten SPF/DKIM som avslører backend.
  • Undersøkelsen sier ingenting om avtalevilkår, databehandleravtaler eller om leverandøren lagrer data i Norge/EU.

Hosting

Siden publiseres på sb.torbjorn.dev via Bunny.net (storage zone + pull zone). Infrastruktur og deploy er automatisert:

  • infra/main.tf — Terraform-konfigurasjon for Bunny-ressursene.
  • .forgejo/workflows/deploy.yml — Forgejo Actions-pipeline som kjører ved push til main og daglig (04:00 UTC). Den regenererer status.json, laster opp bundlen via FTP og purger cachen.

Lisens

Kartdata: © OpenStreetMap-bidragsytere. GeoJSON fra robhop/fylker-og-kommuner.